-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
[Transfered to geometry2] potential bugs perhaps casued by transformReadyCallback
of tf2_ros::MessageFilter
#4414
Comments
Not sure - I think you should compile with debug flags and get a backtrace so we can see specifically where it fails https://docs.nav2.org/tutorials/docs/get_backtrace.html It does seem likely like a tf2_ros problem though. |
It's an interesting way ! thanks for your share, I'd try on it in my later work. |
It seems like somethings are being triggered after reset, so it would be good to know what is being called / triggered and thus see how to resolve it or if we made a mistake on not resetting everything required in the right order |
Any word here @GoesM ? |
I conducted several experiments and discovered that the callback function ( I believe this is an issue stemming from a flaw in the destruction mechanism of |
Got it, think you have a potential solution? I'm not sure I can get anyone to fix it for us, but if you have a patch, I can get someone to review it for us! |
Uh... I'm very glad to submit a PR to contribute. After all, this issue may occur frequently if users utilize dynamic parameters during navigation2 operations. However, before submitting the PR, I think I need more time to find the most suitable fix, learning about the details of how the |
OK. I'd want to transfer this conversation over there though so that this doesn't sit in Nav2's issue tracker since its not actionable to Nav2 as a bug with a dependency. The linking between these tickets I think does a fine job documenting it, but I'm going to go ahead and close this and we can follow up with future discussions in that ticket in |
transformReadyCallback
of tf2_ros::MessageFilter
transformReadyCallback
of tf2_ros::MessageFilter
Bug report
Required Info:
Steps to reproduce issue
Launch the navigation2 normally, as following steps:
Keep sending following command , until amcl crashed.
ros2 param set /amcl beam_skip_threshold 3.14
Expected behavior
no crash anymore
Actual behavior
sometimes crash, sometimes no crash.
Additional information
This may be a related issue of #4379 and #4397 , still about the UAF-bug occurring after request for dynamic parameter, BUT there's something different.
Before the work of #4397 , if we send a
ros2 param set /amcl beam_skip_threshold 3.14
command , the amcl node will immediately crash. So #4397 found ONE OF reasons and fixed it :laser_scan_filter_.reset()
is ignored.After the work of #4397, we could find that
ros2 param set /amcl beam_skip_threshold 3.14
would not immediately let amcl crashed, and dynamic-parameter would work correctly MOST OF times.BUT, just MOST OF, there're still some special times in which
amcl
crashed. And following is the Asan-report in these times.the report shows that the bug occurs during
transformReadyCallback
oftf2_ros::MessageFilter
works, so it should be a DIFFERENT reason from #4379 causing the similar bug.And in the function
tf2_ros::MessageFilter
, it seems have no memory provided byamcl
, so I think :**Is it a bug caused by the mechanism defect of
tf2_ros
? **but this function is not provided by navigation2 and I'm not very fimiliar with it , so I'm not very sure about my opinion ......
The text was updated successfully, but these errors were encountered: