In the legacy Python bindings, the bindings for the GoalLazySamples class were marked as broken due to threading and Python GIL issues. The same problem happened to PRM, so we wrote a single-threaded version to fix it.
With the migration to nanobind, GIL management and threading behavior may be handled differently, so this issue might no longer exist. However, this has not yet been verified.
If there is still a race condition, nanobind provides those functions:
https://nanobind.readthedocs.io/en/latest/api_core.html#_CPPv4N8nanobind18gil_scoped_acquireE
In the legacy Python bindings, the bindings for the
GoalLazySamplesclass were marked as broken due to threading and Python GIL issues. The same problem happened toPRM, so we wrote a single-threaded version to fix it.With the migration to nanobind, GIL management and threading behavior may be handled differently, so this issue might no longer exist. However, this has not yet been verified.
If there is still a race condition, nanobind provides those functions:
https://nanobind.readthedocs.io/en/latest/api_core.html#_CPPv4N8nanobind18gil_scoped_acquireE