I’m trying to run some simulations using Isaac Gym, but occasionally the simulation hangs. Attaching GDB to the process, I obtain the following backtrace:
(gdb) where
#0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x565392ee0224) at ../sysdeps/nptl/futex-internal.h:183
#1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x565392ee01d0, cond=0x565392ee01f8) at pthread_cond_wait.c:508
#2 __pthread_cond_wait (cond=0x565392ee01f8, mutex=0x565392ee01d0) at pthread_cond_wait.c:638
#3 0x00007f338e38ea77 in physx::PxSyncImpl::wait(unsigned int) ()
from /home/nigero/third_party/IsaacGym_Preview_1_Package/isaacgym/python/isaacgym/_bindings/linux-x86_64/libcarb.gym.plugin.so
#4 0x00007f338dfbd8df in physx::NpScene::fetchResults(bool, unsigned int*) ()
from /home/nigero/third_party/IsaacGym_Preview_1_Package/isaacgym/python/isaacgym/_bindings/linux-x86_64/libcarb.gym.plugin.so
#5 0x00007f338de9fe7f in carb::gym::GymPhysX::simulate (this=0x565393429be0, dt=<optimized out>, substeps=6)
at ../../../source/plugins/carb/gym/impl/Gym/GymPhysX.cpp:2946
#6 0x00007f338de5aa2d in carb::gym::GymSimulate (sim=0x565393426a20) at ../../../source/plugins/carb/gym/impl/Gym/Gym.cpp:3206
#7 0x00007f3390247bc9 in std::function<void (carb::gym::Gym&, carb::gym::GymSim*)>::operator()(carb::gym::Gym&, carb::gym::GymSim*) const ( __args#1=<optimized out>, __args#0=..., this=<optimized out>) at /usr/include/c++/7/bits/std_function.h:706
#8 pybind11::detail::argument_loader<carb::gym::Gym&, carb::gym::GymSim*>::call_impl<void, std::function<void (carb::gym::Gym&, carb::gym::GymSim*)>&, 0ul, 1ul, pybind11::detail::void_type>(std::function<void (carb::gym::Gym&, carb::gym::GymSim*)>&, pybind11::detail::index_sequence<0ul, 1ul>, pybind11::detail::void_type&&) (f=..., this=0x7ffdde85b590) at ../../../_build/target-deps/pybind11/pybind11/cast.h:1931
#9 pybind11::detail::argument_loader<carb::gym::Gym&, carb::gym::GymSim*>::call<void, pybind11::detail::void_type, std::function<void (carb::gym::Gym&, carb::gym::GymSim*)>&>(std::function<void (carb::gym::Gym&, carb::gym::GymSim*)>&) && (f=..., this=<optimized out>) at ../../../_build/target-deps/pybind11/pybind11/cast.h:1913
Any ideas what might be happening? Are there any calls that I’m missing or something? I’m happy to provide more details to be able to resolve this issue.