gz-sim icon indicating copy to clipboard operation
gz-sim copied to clipboard

Support for multiple worlds

Open osrf-migration opened this issue 5 years ago • 13 comments

Original report (archived issue) by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


Description

Since the very beginning we've had support for multiple <world> tags within a single SDF file. The current behaviour is that a simulation runner is started for each of them. However, as the code evolved, that use case became less well supported.

Steps to Reproduce

At the moment, the following crashes with an ODE assertion:

ign-gazebo -f test/worlds/multiple_worlds.sdf

ODE INTERNAL ERROR 1: assertion "!colliders_initialized" failed in dInitColliders() [collision_kernel.cpp:168]

ODE INTERNAL ERROR 1: assertion "!colliders_initialized" failed in dInitColliders() [collision_kernel.cpp:168]

Expected behavior:

At a minimum, no crash. At a maximum, multiple worlds spun up in parallel and running in lockstep, the UI displaying all of them side-by-side.

Actual behavior:

Server crashes, UI freezes.

Reproduces how often:

100% of the time

Versions

ign-gazebo1

Additional Information

I'm not sure if it's best at the moment to:

  • print a warning and only load the first world
  • catch the physics problem before the crash and only disable the bit that is having trouble running in the same process (some singleton within ODE?)
  • leave it as it is but discourage people from trying to use it. It should be possible to avoid the crash, like using a different physics engine or even no physics.

osrf-migration avatar Mar 19 '19 02:03 osrf-migration