Open Kukhokuhle opened 1 year ago
did you update raisim to the latest? I thought this issue is already addressed
I have just updated my raisim installation. The error persists.
The error does not seem to be related to Eigen anymore, or my networks_minimal package (as was the case before).
Can you share your code so that I can reproduce the result??
Unfortunately, I cannot share the code as it is part of a research project for a degree.
For what its worth, the robot is colliding with an obstacle added into the simulation environment as a height map from a png file.
I pushed an untested fix. Can you pull and try it again?
Hi Jemin,
Thanks for your patience and help.
I have pulled and tested again. The error persists. However, it is no longer as above. It seems you have been able to fix the cause of the issue I have raised here. The issue now looks very similar to the previous one I raised (https://github.com/raisimTech/raisimLib/issues/486) but of course, without the networks_minimal package stuff. It seems to be related to Eigen.
Please see the backtrace below (received in Debug mode):
Thread 1 "testExe" received signal SIGSEGV, Segmentation fault. 0x00005555555d7e5d in _mm_loadu_pd (P=0x0) at /usr/lib/gcc/x86_64-linux-gnu/9/include/emmintrin.h:131 131 return (__m128d_u )P; (gdb) bt
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:746
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/GenericPacketMath.h:969
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/CoreEvaluators.h:937
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/AssignEvaluator.h:675
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/AssignEvaluator.h:689
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/AssignEvaluator.h:279
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/AssignEvaluator.h:455
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/AssignEvaluator.h:785
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/AssignEvaluator.h:954
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/AssignEvaluator.h:890
at /home/kukhokuhle/anaconda3/envs/cbf_oa/include/eigen3/Eigen/src/Core/PlainObjectBase.h:797
Yes, this seems like the same as #486. If you switch to C++-17, then the issue will be gone.
I suppose you mean I include the line: SET(CMAKE_CXX_FLAGS "-std=c++17") in my CMakeLists.txt file? I already have this.
Hi Jemin. Do you have any thoughts on this? Unfortunately I'm still stuck on it.
It seems to me like contact.getImpulse().e() is broken?
Sorry for late response. Have you tried this -- https://eigen.tuxfamily.org/dox/group__TopicStructHavingEigenMembers.html?
Why is getImpulse broken? You can also check if the contact exists by getImpulsePtr
. If it returns nullptr
, it means that the impulse is not defined.
Hi all,
I asked a question recently about getting a seg. fault upon collision (https://github.com/raisimTech/raisimLib/issues/486). It turned out that I was having index out of range/bounds problems with accessing elements of some Eigen matrix. I have now fixed this and now getting the following error and backtrace:
Thread 3 "testExe" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff1650700 (LWP 55334)] 0x00005555555e19c5 in raisim::RaisimServer::update (this=0x7ffffffa4e30) at /home/kukhokuhle/raisim_workspace/raisimLib/raisim/linux/include/raisim/RaisimServer.hpp:1427 1427 auto impulseB = contact.getImpulse(); (gdb) bt
0 0x00005555555e19c5 in raisim::RaisimServer::update (this=0x7ffffffa4e30)
1 0x00005555555de0fb in raisim::RaisimServer::processRequests (this=0x7ffffffa4e30)
2 0x00005555555dbc31 in raisim::RaisimServer::loop (this=0x7ffffffa4e30)
3 0x0000555555634ee4 in std::__invoke_impl<void, void (raisim::RaisimServer::)(), raisim::RaisimServer> (
4 0x0000555555634dbb in std::__invoke<void (raisim::RaisimServer::)(), raisim::RaisimServer> (
5 0x0000555555634cbb in std::thread::_Invoker<std::tuple<void (raisim::RaisimServer::)(), raisim::RaisimServer> >::_M_invoke<0ul, 1ul> (this=0x7fffe4000b68) at /usr/include/c++/9/thread:244
6 0x0000555555634bb8 in std::thread::_Invoker<std::tuple<void (raisim::RaisimServer::)(), raisim::RaisimServer> >::operator() (this=0x7fffe4000b68) at /usr/include/c++/9/thread:251
7 0x0000555555634ac8 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (raisim::RaisimServer::)(), raisim::RaisimServer> > >::_M_run (this=0x7fffe4000b60) at /usr/include/c++/9/thread:195
8 0x00007ffff3fcda93 in std::execute_native_thread_routine (__p=)
9 0x00007ffff7aee609 in start_thread (arg=) at pthread_create.c:477
10 0x00007ffff3c03133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
I'd really appreciate any insight into what may be the problem.