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

Fix crash at exit of gz-sim by using RTLD_NODELETE=true when loading libraries #469

Merged
merged 2 commits into from
Sep 1, 2022

Conversation

azeey
Copy link
Contributor

@azeey azeey commented Aug 15, 2022

🦟 Bug fix

Fixes gazebosim/gz-sim#725, gazebosim/gz-sim#1443

Relates to: gazebosim/gz-common#367, gazebosim/gz-plugin#102

Summary

Gazebo Garden crashes at exit because the destructor for an EventT object created by a gui plugin is accesses after the plugin is unloaded. This fix uses the new gz-plugin API that allows setting RTLD_NODELETE=true when loading the library.

Requires:

Checklist

  • Signed all commits for DCO
  • Added tests
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • Consider updating Python bindings (if the library has them)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

@github-actions github-actions bot added the 🌱 garden Ignition Garden label Aug 15, 2022
@ahcorde ahcorde added the needs upstream release Blocked by a release of an upstream library label Aug 16, 2022
@azeey azeey changed the title Use RTLD_NODELETE=true when loading libraries Fix crash at exit of gz-sim by using RTLD_NODELETE=true when loading libraries Aug 16, 2022
@chapulina chapulina added the bug Something isn't working label Aug 16, 2022
@chapulina chapulina added the Breaking change Breaks API, ABI or behavior. Must target unstable version. label Aug 29, 2022
@chapulina chapulina removed the needs upstream release Blocked by a release of an upstream library label Aug 31, 2022
@codecov
Copy link

codecov bot commented Aug 31, 2022

Codecov Report

Merging #469 (6984525) into gz-gui7 (b5f354a) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           gz-gui7     #469   +/-   ##
========================================
  Coverage    67.82%   67.82%           
========================================
  Files           44       44           
  Lines         4826     4826           
========================================
  Hits          3273     3273           
  Misses        1553     1553           
Impacted Files Coverage Δ
src/plugins/camera_tracking/CameraTracking.cc 68.45% <ø> (ø)
src/plugins/grid_config/GridConfig.cc 22.35% <ø> (ø)
src/plugins/grid_config/GridConfig.hh 100.00% <ø> (ø)
src/plugins/image_display/ImageDisplay.cc 31.70% <ø> (ø)
...interactive_view_control/InteractiveViewControl.cc 17.88% <ø> (ø)
src/plugins/key_publisher/KeyPublisher.cc 56.52% <ø> (ø)
src/plugins/marker_manager/MarkerManager.cc 59.41% <ø> (ø)
src/plugins/minimal_scene/MinimalScene.cc 65.61% <ø> (ø)
src/plugins/publisher/Publisher.cc 90.78% <ø> (ø)
src/plugins/screenshot/Screenshot.cc 30.12% <ø> (ø)
... and 7 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking change Breaks API, ABI or behavior. Must target unstable version. bug Something isn't working 🌱 garden Ignition Garden
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

4 participants