StanfordVL / OmniGibson

OmniGibson: a platform for accelerating Embodied AI research built upon NVIDIA's Omniverse engine. Join our Discord for support: https://discord.gg/bccR5vGFEx
https://behavior.stanford.edu/omnigibson/
MIT License
382 stars 42 forks source link

Fatal Python error: Segmentation fault when take a try for action_primitive #713

Closed yubinwang11 closed 2 months ago

yubinwang11 commented 2 months ago

Hi,

Thanks for your great contributions to this impressive work. I am interested in trying for the examples of action_primitive. However, I encounter the following errors when python ~/OmniGibson/omnigibson/examples/action_primitives/solve_simple_task.py:

Compound state [
RealVectorState [2.39941e-05 2.86286e-07]
SO2State [-4.83934e-05]
]

Compound state [
RealVectorState [0.269215 -0.729285]
SO2State [-3.01694]
]

Fatal Python error: Segmentation fault

Thread 0x00007f69c8cfc700 (most recent call first):
  File "/home/maj2004/mambaforge/envs/omnigibson/lib/python3.10/concurrent/futures/thread.py", line 81 in _worker
  File "/home/maj2004/mambaforge/envs/omnigibson/lib/python3.10/threading.py", line 953 in run
  File "/home/maj2004/mambaforge/envs/omnigibson/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
  File "/home/maj2004/mambaforge/envs/omnigibson/lib/python3.10/threading.py", line 973 in _bootstrap

Current thread 0x00007f730af1cb80 (most recent call first):
  File "/home/maj2004/OmniGibson/omnigibson/utils/motion_planning_utils.py", line 196 in plan_base_motion
  File "/home/maj2004/OmniGibson/omnigibson/action_primitives/starter_semantic_action_primitives.py", line 1432 in _navigate_to_pose
  File "/home/maj2004/OmniGibson/omnigibson/action_primitives/starter_semantic_action_primitives.py", line 1508 in _navigate_to_obj
  File "/home/maj2004/OmniGibson/omnigibson/action_primitives/starter_semantic_action_primitives.py", line 1494 in _navigate_if_needed
  File "/home/maj2004/OmniGibson/omnigibson/action_primitives/starter_semantic_action_primitives.py", line 658 in _grasp
  File "/home/maj2004/OmniGibson/omnigibson/action_primitives/starter_semantic_action_primitives.py", line 438 in apply_ref
  File "/home/maj2004/OmniGibson/omnigibson/examples/action_primitives/solve_simple_task_customized.py", line 14 in execute_controller
  File "/home/maj2004/OmniGibson/omnigibson/examples/action_primitives/solve_simple_task_customized.py", line 65 in main
  File "/home/maj2004/OmniGibson/omnigibson/examples/action_primitives/solve_simple_task_customized.py", line 75 in <module>

Extension modules: yaml._yaml, numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, scipy._lib._ccallback_c, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._isolve._iterative, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg._cythonized_array_utils, scipy.linalg._flinalg, scipy.linalg._solve_toeplitz, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg.cython_lapack, scipy.linalg.cython_blas, scipy.linalg._matfuncs_expm, scipy.linalg._decomp_update, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.spatial._ckdtree, scipy._lib.messagestream, scipy.spatial._qhull, scipy.spatial._voronoi, scipy.spatial._distance_wrap, scipy.spatial._hausdorff, scipy.special._ufuncs_cxx, scipy.special._ufuncs, scipy.special._specfun, scipy.special._comb, scipy.special._ellip_harm_2, scipy.spatial.transform._rotation, scipy.optimize._minpack2, scipy.optimize._group_columns, scipy.optimize._trlib._trlib, numpy.linalg.lapack_lite, scipy.optimize._lbfgsb, _moduleTNC, scipy.optimize._moduleTNC, scipy.optimize._cobyla, scipy.optimize._slsqp, scipy.optimize._minpack, scipy.optimize._lsq.givens_elimination, scipy.optimize._zeros, scipy.optimize.__nnls, scipy.optimize._highs.cython.src._highs_wrapper, scipy.optimize._highs._highs_wrapper, scipy.optimize._highs.cython.src._highs_constants, scipy.optimize._highs._highs_constants, scipy.linalg._interpolative, scipy.optimize._bglu_dense, scipy.optimize._lsap, scipy.optimize._direct, psutil._psutil_linux, psutil._psutil_posix, PIL._imaging, lxml._elementpath, lxml.etree, _cffi_backend, scipy.interpolate._fitpack, scipy.interpolate.dfitpack, scipy.interpolate._bspl, scipy.interpolate._ppoly, scipy.interpolate.interpnd, scipy.interpolate._rbfinterp_pythran, scipy.interpolate._rgi_cython, scipy.integrate._odepack, scipy.integrate._quadpack, scipy.integrate._vode, scipy.integrate._dop, scipy.integrate._lsoda, scipy.ndimage._nd_image, _ni_label, scipy.ndimage._ni_label, scipy.special.cython_special, scipy.stats._stats, scipy.stats.beta_ufunc, scipy.stats._boost.beta_ufunc, scipy.stats.binom_ufunc, scipy.stats._boost.binom_ufunc, scipy.stats.nbinom_ufunc, scipy.stats._boost.nbinom_ufunc, scipy.stats.hypergeom_ufunc, scipy.stats._boost.hypergeom_ufunc, scipy.stats.ncf_ufunc, scipy.stats._boost.ncf_ufunc, scipy.stats.ncx2_ufunc, scipy.stats._boost.ncx2_ufunc, scipy.stats.nct_ufunc, scipy.stats._boost.nct_ufunc, scipy.stats.skewnorm_ufunc, scipy.stats._boost.skewnorm_ufunc, scipy.stats.invgauss_ufunc, scipy.stats._boost.invgauss_ufunc, scipy.stats._biasedurn, scipy.stats._levy_stable.levyst, scipy.stats._stats_pythran, scipy._lib._uarray._uarray, scipy.stats._statlib, scipy.stats._mvn, scipy.stats._sobol, scipy.stats._qmc_cy, scipy.stats._rcont.rcont, matplotlib._c_internal_utils, matplotlib._path, kiwisolver._cext, matplotlib._image, numba.core.typeconv._typeconv, numba._helperlib, numba._dynfunc, numba._dispatcher, numba.core.runtime._nrt_python, numba.np.ufunc._internal, numba.experimental.jitclass._box, pydantic.errors, pydantic.version, pydantic.class_validators, pydantic.color, pydantic.types, pydantic.json, pydantic.config, pydantic.schema, pydantic.main, pydantic.annotated_types, omni.mdl.pymdlsdk._pymdlsdk, torch._C, torch._C._fft, torch._C._linalg, torch._C._nested, torch._C._nn, torch._C._sparse, torch._C._special, multidict._multidict, yarl._quoting_c, aiohttp._helpers, aiohttp._http_writer, aiohttp._http_parser, aiohttp._websocket, cchardet._cchardet, frozenlist._frozenlist, PIL._imagingft, osqp._osqp, scipy.io.matlab._mio_utils, scipy.io.matlab._streams, scipy.io.matlab._mio5_utils, ompl.util._util, ompl.base._base, ompl.geometric._geometric (total: 166)
Segmentation fault (core dumped)

The OMPL is implemented into the conda env via pip install prebuilt source. And it seems the low-level actiosn are generated with OMPL. However, the errors about python threading occurs when env.step(action).

I am looking forward to any help you provided. Thanks a lot for your time and review.

cgokmen commented 2 months ago

At the time we developed the primitives, OMPL was not readily usable over pip/conda, you had to build it yourself. I don't know if this has changed, but we do ship a correctly-built copy of OMPL in our Docker image, so please give that a shot!