[ros-users] [Discourse.ros.org] [Next Generation ROS] Error using python3 nodes on ARM64 & CoreDX

Mikael Arguedas ros.discourse at gmail.com
Wed Nov 1 18:11:50 UTC 2017



Thanks for the detailed answer.

[quote="BrannonKing, post:3, topic:3057"]
Im no Python extension expert, but surely its not a best-practice to destroy objects passed in by the user. That would be the user/callers responsibility. What if the same QoS object was passed to multiple subscription calls but the first one destroyed it?
[/quote]

That is a very good point. We could either modify the behavior and make it clear that users should destroy such objects themselves or document the fact that this is freed by the function. Though I tried creating a bunch of subscriptions using the same qos_profile object (custom or default) and couldn't reproduce the error described in this thread.

To go back to the problem at hand, if the `PyMem_Free` is the issue, it doesn't explain why the first subscription created would crash because at that point the object has not been destroyed yet. And if this was only a logic issue in the memory management in the Python stack, I would expect the error to be consistent regardless of the rmw implementation used...
So I do still think that's something inside rmw_coredx not behaving as expected.

Could you confirm if the error disappears if you modify rclpy to not free the qos_profile on subscription creation ?

[quote="BrannonKing, post:3, topic:3057"]
I cant seem to create one. No core dump is produced even with ulimit -c unlimited. The error must be caught (but subscription not created).
[/quote]

gdb should allow you to trace the code through the c extensions.
`gdb --args python3 <PATH_TO_YOUR_PYTHON_LISTENER>`
The backtrace would be very useful to track down where the problem comes from.

[quote="BrannonKing, post:1, topic:3057"]
I have everything for ROS2 beta3 compiled and running on aarch64 with CoreDX. Most things work fine.
[/quote]
Just to confirm: you have exactly the beta3 code without modification except that you are using your own version of rmw_coredx?





---
[Visit Topic](https://discourse.ros.org/t/error-using-python3-nodes-on-arm64-coredx/3057/4) or reply to this email to respond.




More information about the ros-users mailing list