Giter Club home page Giter Club logo

Comments (11)

kzhao94 avatar kzhao94 commented on May 22, 2024 7

I have the same problem using PCL 1.9.1 on ubuntu 16.04.
there are two pcl versions on my PC, one is PCL 1.9.1(compiled installation),the other is pcl 1.7 installed from ROS.
This problem may be a pcl1.9 bug.
a solution can be useful in helping you:
Comment out these lines in CMakeLists.txt:

#find_package(PCL 1.7 REQUIRED)
#include_directories(${PCL_INCLUDE_DIRS})
#link_directories(${PCL_LIBRARY_DIRS})
#add_definitions(${PCL_DEFINITIONS})

I hope it works for you.

from ndt_omp.

daijicheng avatar daijicheng commented on May 22, 2024 2

Boost library PCL used is not ABI compatible between C++03 and C++11. So if you can try do not use -std=c++11.

from ndt_omp.

koide3 avatar koide3 commented on May 22, 2024

Hi @qmx066 ,

Do you see the segfault with the standard NDT in pcl?

from ndt_omp.

qmx066 avatar qmx066 commented on May 22, 2024

Hi @qmx066 ,

Do you see the segfault with the standard NDT in pcl?

nope, the standard NDT works fine. as workaround, i'm now running with PCL 1.7, the problem with 1.8 still confuses.

from ndt_omp.

koide3 avatar koide3 commented on May 22, 2024

On my PC, it works with pcl1.8 apt binary on Ubuntu 18.04. I suppose it may be some problem relating to SSE optimization. Could you try to remove the SSE options in CMakeLists?

add_definitions(-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2)

set(CMAKE_CXX_FLAGS "-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2")

from ndt_omp.

HadrienMarcellin avatar HadrienMarcellin commented on May 22, 2024

Hi, I have the exact same problem using PCL 1.9.1 on ubuntu 16.04. The pcl::NormalDistributionTransform works good but a segmentation fault occurs with the pclomp::NormalDistributionTransform when I call for the setinputtarget(). This also occurs with the pclomp::GeneralizedIterativeClosestPoint class.
Do you have any idea if this bug is solvable since I might need to use other features only available in PCL 1.9 ?

from ndt_omp.

qmx066 avatar qmx066 commented on May 22, 2024

On my PC, it works with pcl1.8 apt binary on Ubuntu 18.04. I suppose it may be some problem relating to SSE optimization. Could you try to remove the SSE options in CMakeLists?

ndt_omp/CMakeLists.txt

Line 5 in e956da1
add_definitions(-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2)

ndt_omp/CMakeLists.txt

Line 6 in e956da1
set(CMAKE_CXX_FLAGS "-std=c++11 -msse -msse2 -msse3 -msse4 -msse4.1 -msse4.2")

hi koide3, it doesn't fix my problem, no matter add these or not, the fault occurs all the time.

from ndt_omp.

qmx066 avatar qmx066 commented on May 22, 2024

Hi, I have the exact same problem using PCL 1.9.1 on ubuntu 16.04. The pcl::NormalDistributionTransform works good but a segmentation fault occurs with the pclomp::NormalDistributionTransform when I call for the setinputtarget(). This also occurs with the pclomp::GeneralizedIterativeClosestPoint class.
Do you have any idea if this bug is solvable since I might need to use other features only available in PCL 1.9 ?

i'm lucky that PCL 1.7 can be used in my situation.

from ndt_omp.

Chrislzy1993 avatar Chrislzy1993 commented on May 22, 2024

@zhkai929 , Thank you, it solved my problem. There are two pcl version on my pc, one is pcl1.7 installed from ros, and another is pcl1.8 installed by myself from github, it really give me a big help!

from ndt_omp.

liang0724s avatar liang0724s commented on May 22, 2024

@zhkai929 , Thank you, it solved my problem. There are two pcl version on my pc, one is pcl1.7 installed from ros, and another is pcl1.8 installed by myself from github, it really give me a big help!

Hello, i also met the same problem, but pcl 1.9 instead of pcl 1.8. The above solution is not work for me.
where was pcl 1.8 installed , usr local or others?

from ndt_omp.

shamengjun avatar shamengjun commented on May 22, 2024

At me, on ubuntu 18.04 + pcl 1.8 all is normal, but the system is upgraded to ubuntu 20.04 + pcl 1.10, there occurs one new segmentation fault. run the same source and target pointcloud, it can work with the align app, but not in my code program ros callback... through backtrace, I find https://github.com/koide3/ndt_omp/blob/master/include/pclomp/voxel_grid_covariance_omp_impl.hpp#L99 leaves_.clear() has some wrong, gdb shows that std::_Rb_tree::M_erase segmention fault, below picture is as show in detail:
ndt_omp rb_tree段错误
with my many debug, it seem can work in one single process while in multi thread.so I doubt this is caused by std::map is unsafe in multi threads!

from ndt_omp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.