Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for both Gazebo Harmonic (gz-sim8) and Gazebo Ionic (gz-sim9) #208

Merged
merged 5 commits into from
Oct 4, 2024

Conversation

traversaro
Copy link
Member

@traversaro traversaro commented Sep 26, 2024

Fix #209 .

Requires #214 to be merged before (and eventually rebased).

The default pixi environment still uses Harmonic/gz-sim8, while the ionic environment used Ionic/gz-sim9. If both gz-sim8 and gz-sim9 are available in the system, at the moment CMake prefers gz-sim8, unless the users does not explicitly select the 9 by setting the GZ_SIM_YARP_PLUGINS_USED_GZ_SIM_VERSION to 9 during CMake configuration.

@traversaro traversaro force-pushed the pixisupportionic branch 4 times, most recently from 51c800f to 44ca8ff Compare October 1, 2024 21:58
@traversaro
Copy link
Member Author

A bunch of tests are passing fine on macos in harmonic/gz-sim8, but fail with ionic/gz-sim9:

	  3 - LaserTest (SEGFAULT)
	  4 - CameraTest (SEGFAULT)
	  9 - ControlBoardOnMultipleGazeboInstancesTest (SEGFAULT)
	 10 - ConfigurationParsingFromFileTest (SEGFAULT)
	 11 - ConfigurationParsingFromStringTest (SEGFAULT)
	 12 - ConcurrentInstancesTest (SEGFAULT)
	 13 - ClockTest (Timeout)
	 14 - gz-sim-yarp-plugins-check-model-tutorial-basestate (SEGFAULT)
	 15 - gz-sim-yarp-plugins-check-model-tutorial-camera-model (SEGFAULT)
	 16 - gz-sim-yarp-plugins-check-model-tutorial-camera-model-horizontal-flip (SEGFAULT)
	 17 - gz-sim-yarp-plugins-check-model-tutorial-camera-model-vertical-flip (SEGFAULT)
	 18 - gz-sim-yarp-plugins-check-model-tutorial-laser (SEGFAULT)
	 19 - gz-sim-yarp-plugins-check-model-tutorial-clock (SEGFAULT)

I can try at some point to run them locally on my mac mini.

@traversaro traversaro changed the title [DO NOT MERGE] Add support for both harmonic and ionic in pixi Add support for both harmonic and ionic Oct 2, 2024
@traversaro traversaro changed the title Add support for both harmonic and ionic Add support for both Gazebo Harmonic (gz-sim8) and Gazebo Ionic (gz-sim9) Oct 2, 2024
@traversaro
Copy link
Member Author

The error message (at least for some tests) is:

2024-10-02T10:25:45.1349570Z (2024-10-02 10:25:40.484) [error] [Ogre2RenderEngine.cc:752] Unable to load Ogre Plugin[/Users/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/.pixi/envs/ionic/lib/OGRE-Next
2024-10-02T10:25:45.1350380Z 
2024-10-02T10:25:45.1350390Z 
2024-10-02T10:25:45.1350390Z 
2024-10-02T10:25:45.1350390Z 
2024-10-02T10:25:45.1350400Z 
2024-10-02T10:25:45.1350400Z 
2024-10-02T10:25:45.1350400Z 
2024-10-02T10:25:45.1350410Z 
2024-10-02T10:25:45.1350410Z 
2024-10-02T10:25:45.1350410Z 
2024-10-02T10:25:45.1350420Z 
2024-10-02T10:25:45.1350420Z 
2024-10-02T10:25:45.1350420Z 
2024-10-02T10:25:45.1350420Z 
2024-10-02T10:25:45.1350440Z 
2024-10-02T10:25:45.1350440Z 
2024-10-02T10:25:45.1350500Z 
2024-10-02T10:25:45.1350510Z 
2024-10-02T10:25:45.1350510Z 
2024-10-02T10:25:45.1350730Z 
2024-10-02T10:25:45.1350730Z 
2024-10-02T10:25:45.1350730Z 
2024-10-02T10:25:45.1350740Z 
2024-10-02T10:25:45.1350740Z 
2024-10-02T10:25:45.1350740Z 
2024-10-02T10:25:45.1350750Z 
2024-10-02T10:25:45.1350750Z 
2024-10-02T10:25:45.1350750Z 
2024-10-02T10:25:45.1350760Z 
2024-10-02T10:25:45.1350760Z 
2024-10-02T10:25:45.1350760Z 
2024-10-02T10:25:45.1350770Z 
2024-10-02T10:25:45.1350770Z 
2024-10-02T10:25:45.1350770Z 
2024-10-02T10:25:45.1350770Z 
2024-10-02T10:25:45.1350780Z 
2024-10-02T10:25:45.1350780Z 
2024-10-02T10:25:45.1350780Z 
2024-10-02T10:25:45.1350790Z 
2024-10-02T10:25:45.1350790Z 
2024-10-02T10:25:45.1350800Z 
2024-10-02T10:25:45.1350800Z 
2024-10-02T10:25:45.1350800Z 
2024-10-02T10:25:45.1350810Z 
2024-10-02T10:25:45.1350810Z 
2024-10-02T10:25:45.1350810Z 
2024-10-02T10:25:45.1350820Z 
2024-10-02T10:25:45.1350820Z 
2024-10-02T10:25:45.1350830Z 
2024-10-02T10:25:45.1350830Z 
2024-10-02T10:25:45.1350830Z 
2024-10-02T10:25:45.1350830Z 
2024-10-02T10:25:45.1350840Z 
2024-10-02T10:25:45.1350840Z 
2024-10-02T10:25:45.1350850Z 
2024-10-02T10:25:45.1350850Z 
2024-10-02T10:25:45.1350850Z 
2024-10-02T10:25:45.1350860Z 
2024-10-02T10:25:45.1350860Z 
2024-10-02T10:25:45.1350860Z 
2024-10-02T10:25:45.1350870Z 
2024-10-02T10:25:45.1350870Z 
2024-10-02T10:25:45.1350870Z 
2024-10-02T10:25:45.1350930Z 
2024-10-02T10:25:45.1350940Z 
2024-10-02T10:25:45.1350940Z 
2024-10-02T10:25:45.1350940Z 
2024-10-02T10:25:45.1350950Z 
2024-10-02T10:25:45.1350950Z 
2024-10-02T10:25:45.1350950Z 
2024-10-02T10:25:45.1350960Z 
2024-10-02T10:25:45.1350960Z 
2024-10-02T10:25:45.1350960Z 
2024-10-02T10:25:45.1350960Z 
2024-10-02T10:25:45.1350970Z 
2024-10-02T10:25:45.1350970Z 
2024-10-02T10:25:45.1350970Z 
2024-10-02T10:25:45.1350980Z 
2024-10-02T10:25:45.1350980Z 
2024-10-02T10:25:45.1350980Z 
2024-10-02T10:25:45.1350990Z 
2024-10-02T10:25:45.1350990Z 
2024-10-02T10:25:45.1351000Z 
2024-10-02T10:25:45.1351000Z 
2024-10-02T10:25:45.1351000Z 
2024-10-02T10:25:45.1351010Z 
2024-10-02T10:25:45.1351010Z 
2024-10-02T10:25:45.1351020Z 
2024-10-02T10:25:45.1351020Z 
2024-10-02T10:25:45.1351020Z 
2024-10-02T10:25:45.1351030Z 
2024-10-02T10:25:45.1351030Z 
2024-10-02T10:25:45.1351030Z 
2024-10-02T10:25:45.1351040Z 
2024-10-02T10:25:45.1351040Z 
2024-10-02T10:25:45.1351040Z 
2024-10-02T10:25:45.1351050Z 
2024-10-02T10:25:45.1351050Z 
2024-10-02T10:25:45.1351050Z 
2024-10-02T10:25:45.1351060Z 
2024-10-02T10:25:45.1351060Z 
2024-10-02T10:25:45.1351060Z 
2024-10-02T10:25:45.1351070Z 
2024-10-02T10:25:45.1351070Z 
2024-10-02T10:25:45.1351070Z 
2024-10-02T10:25:45.1351080Z 
2024-10-02T10:25:45.1351080Z 
2024-10-02T10:25:45.1351080Z 
2024-10-02T10:25:45.1351080Z 
2024-10-02T10:25:45.1351090Z 
2024-10-02T10:25:45.1351090Z 
2024-10-02T10:25:45.1351140Z 
2024-10-02T10:25:45.1351140Z 
2024-10-02T10:25:45.1351140Z 
2024-10-02T10:25:45.1351150Z 
2024-10-02T10:25:45.1351150Z 
2024-10-02T10:25:45.1351410Z 
2024-10-02T10:25:45.1351410Z 
2024-10-02T10:25:45.1351420Z 
2024-10-02T10:25:45.1351420Z 
2024-10-02T10:25:45.1351420Z 
2024-10-02T10:25:45.1351430Z 
2024-10-02T10:25:45.1351430Z 
2024-10-02T10:25:45.1351440Z 
2024-10-02T10:25:45.1351440Z 
2024-10-02T10:25:45.1351440Z 
2024-10-02T10:25:45.1351450Z 
2024-10-02T10:25:45.1351450Z 
2024-10-02T10:25:45.1351450Z 
2024-10-02T10:25:45.1351460Z 
2024-10-02T10:25:45.1351460Z 
2024-10-02T10:25:45.1351460Z 
2024-10-02T10:25:45.1351470Z 
2024-10-02T10:25:45.1351470Z 
2024-10-02T10:25:45.1351470Z 
2024-10-02T10:25:45.1351480Z 
2024-10-02T10:25:45.1351480Z 
2024-10-02T10:25:45.1351480Z 
2024-10-02T10:25:45.1351490Z 
2024-10-02T10:25:45.1351490Z 
2024-10-02T10:25:45.1351490Z 
2024-10-02T10:25:45.1351500Z 
2024-10-02T10:25:45.1351500Z 
2024-10-02T10:25:45.1351500Z 
2024-10-02T10:25:45.1351510Z 
2024-10-02T10:25:45.1351510Z 
2024-10-02T10:25:45.1351510Z 
2024-10-02T10:25:45.1351510Z 
2024-10-02T10:25:45.1351520Z 
2024-10-02T10:25:45.1351520Z 
2024-10-02T10:25:45.1351530Z 
2024-10-02T10:25:45.1351530Z 
2024-10-02T10:25:45.1351530Z 
2024-10-02T10:25:45.1351540Z 
2024-10-02T10:25:45.1351540Z 
2024-10-02T10:25:45.1351540Z 
2024-10-02T10:25:45.1351750Z 
2024-10-02T10:25:45.1351750Z 
2024-10-02T10:25:45.1351810Z 
2024-10-02T10:25:45.1351810Z 
2024-10-02T10:25:45.1351820Z 
2024-10-02T10:25:45.1351820Z 
2024-10-02T10:25:45.1351820Z 
2024-10-02T10:25:45.1351820Z 
2024-10-02T10:25:45.1351830Z 
2024-10-02T10:25:45.1351830Z 
2024-10-02T10:25:45.1351830Z 
2024-10-02T10:25:45.1351840Z 
2024-10-02T10:25:45.1351840Z 
2024-10-02T10:25:45.1351840Z 
2024-10-02T10:25:45.1351850Z 
2024-10-02T10:25:45.1351850Z 
2024-10-02T10:25:45.1351850Z 
2024-10-02T10:25:45.1351850Z 
2024-10-02T10:25:45.1351860Z 
2024-10-02T10:25:45.1351860Z 
2024-10-02T10:25:45.1351860Z 
2024-10-02T10:25:45.1351870Z 
2024-10-02T10:25:45.1351870Z 
2024-10-02T10:25:45.1352250Z /RenderSystem_GL3Plus]. Rendering will not be possible.Make sure you have installed OGRE properly.
2024-10-02T10:25:45.1353430Z (2024-10-02 10:25:40.486) [error] [Ogre2RenderEngine.cc:752] Unable to load Ogre Plugin[/Users/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/.pixi/envs/ionic/lib/OGRE-Next
2024-10-02T10:25:45.1354180Z 
2024-10-02T10:25:45.1354180Z 
2024-10-02T10:25:45.1354190Z 
2024-10-02T10:25:45.1354190Z 
2024-10-02T10:25:45.1354190Z 
2024-10-02T10:25:45.1354200Z 
2024-10-02T10:25:45.1354200Z 
2024-10-02T10:25:45.1354200Z 
2024-10-02T10:25:45.1354200Z 
2024-10-02T10:25:45.1354210Z 
2024-10-02T10:25:45.1354210Z 
2024-10-02T10:25:45.1354210Z 
2024-10-02T10:25:45.1354220Z 
2024-10-02T10:25:45.1354220Z 
2024-10-02T10:25:45.1354220Z 
2024-10-02T10:25:45.1354230Z 
2024-10-02T10:25:45.1354240Z 
2024-10-02T10:25:45.1354240Z 
2024-10-02T10:25:45.1354240Z 
2024-10-02T10:25:45.1354240Z 
2024-10-02T10:25:45.1354250Z 
2024-10-02T10:25:45.1354250Z 
2024-10-02T10:25:45.1354250Z 
2024-10-02T10:25:45.1354260Z 
2024-10-02T10:25:45.1354260Z 
2024-10-02T10:25:45.1354260Z 
2024-10-02T10:25:45.1354270Z 
2024-10-02T10:25:45.1354270Z 
2024-10-02T10:25:45.1354280Z 
2024-10-02T10:25:45.1354280Z 
2024-10-02T10:25:45.1354280Z 
2024-10-02T10:25:45.1354290Z 
2024-10-02T10:25:45.1354290Z 
2024-10-02T10:25:45.1354290Z 
2024-10-02T10:25:45.1354300Z 
2024-10-02T10:25:45.1354300Z 
2024-10-02T10:25:45.1354300Z 
2024-10-02T10:25:45.1354310Z 
2024-10-02T10:25:45.1354310Z 
2024-10-02T10:25:45.1354390Z 
2024-10-02T10:25:45.1354390Z 
2024-10-02T10:25:45.1354390Z 
2024-10-02T10:25:45.1354400Z 
2024-10-02T10:25:45.1354400Z 
2024-10-02T10:25:45.1354400Z 
2024-10-02T10:25:45.1354410Z 
2024-10-02T10:25:45.1354410Z 
2024-10-02T10:25:45.1354410Z 
2024-10-02T10:25:45.1354420Z 
2024-10-02T10:25:45.1354420Z 
2024-10-02T10:25:45.1354420Z 
2024-10-02T10:25:45.1354430Z 
2024-10-02T10:25:45.1354430Z 
2024-10-02T10:25:45.1354430Z 
2024-10-02T10:25:45.1354430Z 
2024-10-02T10:25:45.1354440Z 
2024-10-02T10:25:45.1354440Z 
2024-10-02T10:25:45.1354440Z 
2024-10-02T10:25:45.1354450Z 
2024-10-02T10:25:45.1354450Z 
2024-10-02T10:25:45.1354450Z 
2024-10-02T10:25:45.1354460Z 
2024-10-02T10:25:45.1354460Z 
2024-10-02T10:25:45.1354550Z 
2024-10-02T10:25:45.1354550Z 
2024-10-02T10:25:45.1354550Z 
2024-10-02T10:25:45.1354560Z 
2024-10-02T10:25:45.1354560Z 
2024-10-02T10:25:45.1354570Z 
2024-10-02T10:25:45.1354570Z 
2024-10-02T10:25:45.1354650Z 
2024-10-02T10:25:45.1354660Z 
2024-10-02T10:25:45.1354660Z 
2024-10-02T10:25:45.1354730Z 
2024-10-02T10:25:45.1354730Z 
2024-10-02T10:25:45.1354740Z 
2024-10-02T10:25:45.1354740Z 
2024-10-02T10:25:45.1354740Z 
2024-10-02T10:25:45.1354750Z 
2024-10-02T10:25:45.1354750Z 
2024-10-02T10:25:45.1354750Z 
2024-10-02T10:25:45.1354760Z 
2024-10-02T10:25:45.1354760Z 
2024-10-02T10:25:45.1354760Z 
2024-10-02T10:25:45.1354760Z 
2024-10-02T10:25:45.1354770Z 
2024-10-02T10:25:45.1354770Z 
2024-10-02T10:25:45.1354770Z 
2024-10-02T10:25:45.1354780Z 
2024-10-02T10:25:45.1354780Z 
2024-10-02T10:25:45.1354780Z 
2024-10-02T10:25:45.1354790Z 
2024-10-02T10:25:45.1354790Z 
2024-10-02T10:25:45.1354790Z 
2024-10-02T10:25:45.1354800Z 
2024-10-02T10:25:45.1354800Z 
2024-10-02T10:25:45.1354800Z 
2024-10-02T10:25:45.1354810Z 
2024-10-02T10:25:45.1354810Z 
2024-10-02T10:25:45.1354820Z 
2024-10-02T10:25:45.1354820Z 
2024-10-02T10:25:45.1354820Z 
2024-10-02T10:25:45.1354880Z 
2024-10-02T10:25:45.1354880Z 
2024-10-02T10:25:45.1354880Z 
2024-10-02T10:25:45.1354890Z 
2024-10-02T10:25:45.1354890Z 
2024-10-02T10:25:45.1354890Z 
2024-10-02T10:25:45.1354900Z 
2024-10-02T10:25:45.1354900Z 
2024-10-02T10:25:45.1354910Z 
2024-10-02T10:25:45.1354920Z 
2024-10-02T10:25:45.1354920Z 
2024-10-02T10:25:45.1354930Z 
2024-10-02T10:25:45.1354930Z 
2024-10-02T10:25:45.1354930Z 
2024-10-02T10:25:45.1354940Z 
2024-10-02T10:25:45.1354940Z 
2024-10-02T10:25:45.1354940Z 
2024-10-02T10:25:45.1354950Z 
2024-10-02T10:25:45.1354950Z 
2024-10-02T10:25:45.1355020Z 
2024-10-02T10:25:45.1355020Z 
2024-10-02T10:25:45.1355030Z 
2024-10-02T10:25:45.1355030Z 
2024-10-02T10:25:45.1355030Z 
2024-10-02T10:25:45.1355040Z 
2024-10-02T10:25:45.1355040Z 
2024-10-02T10:25:45.1355040Z 
2024-10-02T10:25:45.1355050Z 
2024-10-02T10:25:45.1355050Z 
2024-10-02T10:25:45.1355060Z 
2024-10-02T10:25:45.1355060Z 
2024-10-02T10:25:45.1355060Z 
2024-10-02T10:25:45.1355070Z 
2024-10-02T10:25:45.1355070Z 
2024-10-02T10:25:45.1355080Z 
2024-10-02T10:25:45.1355080Z 
2024-10-02T10:25:45.1355080Z 
2024-10-02T10:25:45.1355080Z 
2024-10-02T10:25:45.1355090Z 
2024-10-02T10:25:45.1355090Z 
2024-10-02T10:25:45.1355090Z 
2024-10-02T10:25:45.1355100Z 
2024-10-02T10:25:45.1355100Z 
2024-10-02T10:25:45.1355110Z 
2024-10-02T10:25:45.1355110Z 
2024-10-02T10:25:45.1355110Z 
2024-10-02T10:25:45.1355120Z 
2024-10-02T10:25:45.1355120Z 
2024-10-02T10:25:45.1355120Z 
2024-10-02T10:25:45.1355120Z 
2024-10-02T10:25:45.1355130Z 
2024-10-02T10:25:45.1355130Z 
2024-10-02T10:25:45.1355130Z 
2024-10-02T10:25:45.1355140Z 
2024-10-02T10:25:45.1355140Z 
2024-10-02T10:25:45.1355140Z 
2024-10-02T10:25:45.1355150Z 
2024-10-02T10:25:45.1355150Z 
2024-10-02T10:25:45.1355150Z 
2024-10-02T10:25:45.1355160Z 
2024-10-02T10:25:45.1355160Z 
2024-10-02T10:25:45.1355160Z 
2024-10-02T10:25:45.1355170Z 
2024-10-02T10:25:45.1355170Z 
2024-10-02T10:25:45.1355170Z 
2024-10-02T10:25:45.1355180Z 
2024-10-02T10:25:45.1355230Z 
2024-10-02T10:25:45.1355230Z 
2024-10-02T10:25:45.1355240Z 
2024-10-02T10:25:45.1355240Z 
2024-10-02T10:25:45.1355250Z 
2024-10-02T10:25:45.1355250Z 
2024-10-02T10:25:45.1355250Z 
2024-10-02T10:25:45.1355260Z 
2024-10-02T10:25:45.1355260Z 
2024-10-02T10:25:45.1355260Z 
2024-10-02T10:25:45.1355260Z 
2024-10-02T10:25:45.1355570Z /RenderSystem_Metal]. Rendering will not be possible.Make sure you have installed OGRE properly.

Note that all the newlines are not an error, it seems that somehow gz-rendering is trying to load the plugin /Users/runner/work/gz-sim-yarp-plugins/gz-sim-yarp-plugins/.pixi/envs/ionic/lib/OGRE-Next<a lof of new line>/RenderSystem_Metal. The possible issues are:

  • we should enable the Metal plugin in gz-rendering, but it is not enabled
  • Somehow the relocatable support code is not working (those long newlines sound like the long buffer lines used by conda-build to patch the packages and make them relocatable).

@traversaro
Copy link
Member Author

In ogre-next 2.3.3 indeed the file lib/OGRE-Next/lib/OGRE-Next/RenderSystem_Metal.dylib , so the Metal plugin is available, and perhaps something else is going wrong.

@xela-95
Copy link
Member

xela-95 commented Oct 2, 2024

In ogre-next 2.3.3 indeed the file lib/OGRE-Next/lib/OGRE-Next/RenderSystem_Metal.dylib , so the Metal plugin is available, and perhaps something else is going wrong.

These 3D graphics issues will kill me someday 😭

@traversaro
Copy link
Member Author

The problematic call seems https://github.com/gazebosim/gz-rendering/blob/gz-rendering9_9.0.0/ogre2/src/Ogre2RenderEngine.cc#L685, where for some reason path has a lot of new lines at the end. path is initialized in https://github.com/gazebosim/gz-rendering/blob/gz-rendering9_9.0.0/ogre2/src/Ogre2RenderEngine.cc#L651 from the value of ogrePaths, that itself are either set by OGRE2_RESOURCE_PATH compile-time macro, or by the OGRE2_RESOURCE_PATH environment variable, see https://github.com/gazebosim/gz-rendering/blob/gz-rendering9_9.0.0/ogre2/src/Ogre2RenderEngine.cc#L157-L161 .

@traversaro
Copy link
Member Author

OGRE2_RESOURCE_PATH env is set to correct value, but even by unsetting it or setting it to a random value the error is always the same.

@traversaro
Copy link
Member Author

I think I was barking at the wrong tree. Even by loading gz-sim from command line on macos,

(2024-10-04 10:49:21.438) [error] [Ogre2RenderEngine.cc:752] [GUI] Unable to load Ogre Plugin[/Users/icub/gz-sim-yarp-plugins/.pixi/envs/ionic/lib/OGRE-Next/RenderSystem_GL3Plus]. Rendering will not be possible.Make sure you have installed OGRE properly.
(2024-10-04 10:49:21.438) [error] [Ogre2RenderEngine.cc:752] [GUI] Unable to load Ogre Plugin[/Users/icub/gz-sim-yarp-plugins/.pixi/envs/ionic/lib/OGRE-Next/RenderSystem_Metal]. Rendering will not be possible.Make sure you have installed OGRE properly.

is printed, probably because the hardcoded plugin path in code is malformed or not working somehow, but then the engine is actually loaded correctly, probably thanks to the OGRE2_RESOURCE_PATH env variable. While the spurious error should be eventually remove, that is not the reason why the tests are failing.

@traversaro
Copy link
Member Author

My guess is that there is some race condition between the rendering and sensor systems, this is the bt for the failing lasertest:

(lldb) bt
* thread #25, stop reason = EXC_BAD_ACCESS (code=1, address=0x20)
  * frame #0: 0x0000000107947d58 libgz-sim9-sensors-system.9.0.0.dylib`std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<std::__1::reference_wrapper<std::type_info const>, std::__1::unique_ptr<gz::common::Event, std::__1::default_delete<gz::common::Event>>>, void*>*> std::__1::__hash_table<std::__1::__hash_value_type<std::__1::reference_wrapper<std::type_info const>, std::__1::unique_ptr<gz::common::Event, std::__1::default_delete<gz::common::Event>>>, std::__1::__unordered_map_hasher<std::__1::reference_wrapper<std::type_info const>, std::__1::__hash_value_type<std::__1::reference_wrapper<std::type_info const>, std::__1::unique_ptr<gz::common::Event, std::__1::default_delete<gz::common::Event>>>, gz::sim::v9::EventManager::Hasher, gz::sim::v9::EventManager::EqualTo, true>, std::__1::__unordered_map_equal<std::__1::reference_wrapper<std::type_info const>, std::__1::__hash_value_type<std::__1::reference_wrapper<std::type_info const>, std::__1::unique_ptr<gz::common::Event, std::__1::default_delete<gz::common::Event>>>, gz::sim::v9::EventManager::EqualTo, gz::sim::v9::EventManager::Hasher, true>, std::__1::allocator<std::__1::__hash_value_type<std::__1::reference_wrapper<std::type_info const>, std::__1::unique_ptr<gz::common::Event, std::__1::default_delete<gz::common::Event>>>>>::find<std::__1::reference_wrapper<std::type_info const>>(std::__1::reference_wrapper<std::type_info const> const&) + 160
    frame #1: 0x0000000107932044 libgz-sim9-sensors-system.9.0.0.dylib`void gz::sim::v9::EventManager::Emit<gz::common::EventT<void (), gz::sim::v9::events::RenderTeardownTag>>() + 60
    frame #2: 0x0000000107931e6c libgz-sim9-sensors-system.9.0.0.dylib`gz::sim::v9::systems::SensorsPrivate::RenderThread() + 232
    frame #3: 0x0000000107949ca4 libgz-sim9-sensors-system.9.0.0.dylib`void* std::__1::__thread_proxy[abi:ue170006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (gz::sim::v9::systems::SensorsPrivate::*)(), gz::sim::v9::systems::SensorsPrivate*>>(void*) + 88
    frame #4: 0x000000018502df94 libsystem_pthread.dylib`_pthread_start + 136

@traversaro
Copy link
Member Author

Almost all tests that crash crash with final message:

(2024-10-04 11:13:07.686) [debug] [Sensors.cc:457] SensorsPrivate::Stop
(2024-10-04 11:13:07.686) [debug] [Sensors.cc:297] Rendering Thread initialized

so I guess that there is some problem in trying to stop the sensors if the "Rendering Thread initialized" state of the sensors system was not reached.

@traversaro
Copy link
Member Author

The failure in Ionic/macOS may not be immediate to fix. As most users are on Linux, I think we can disable the tests on macOS for now and track fixing the actual tests in a separate issue.

@traversaro
Copy link
Member Author

Copy link
Member

@xela-95 xela-95 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot @traversaro ! Amazing work both on CMake and pixi!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for Gazebo Ionic (gz-sim9)
2 participants