-
Notifications
You must be signed in to change notification settings - Fork 358
Fix crash when calling setPose service on static and nolink entity #2988
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
Conversation
Signed-off-by: momo <[email protected]>
Signed-off-by: momo <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## gz-sim9 #2988 +/- ##
===========================================
- Coverage 68.97% 68.95% -0.03%
===========================================
Files 345 345
Lines 33538 33572 +34
===========================================
+ Hits 23134 23148 +14
- Misses 10404 10424 +20 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
this stops set_pose from working with nested models
|
found that this changes in this PR stop <!-- set_pose should work with this nested model -->
<model name="box">
<pose>0 0 2.5 0 0 0</pose>
<static>true</static>
<model name="inner_box">
<pose>0 0 0.0 0 0 0</pose>
<link name="link"/>
</model>
</model>Did some debugging and noticed that the crash happens only in dartsim when a nested model tree has no links. A simple model (non-nested) with no links but cause the crash. I found the root cause and created a fix in gazebosim/gz-physics#765. |
|
Thank you for your correcting ! My PR really doesn't take nested models into account. Your fix is right ! |
great thanks for all your contributions! |
|
oh this PR stops |
|
Oh, sorry. Please go ahead and revert. |
…ntity (#2988)" This reverts commit aab29bc. Signed-off-by: Ian Chen <[email protected]>
created #3023 to revert this change |
…ntity (#2988)" This reverts commit aab29bc. Signed-off-by: Ian Chen <[email protected]>
🦟 Bug fix
Fixes #2981
Summary
Gazebo allows loading static models without any links. However, if a
/world/<world>/set_poseservice call is made targeting such a model, the physics system crashes , because the underlying physics code assumes every model has at least one link.After Fix : Before executing set_pose, the code now checks whether the target model contains at least one link.
Checklist
codecheckpassed (See contributing)