Ask Your Question
0

Ros barebones compiled from source for QNX crashes with memory fault

asked 2017-07-14 09:45:56 -0600

mhariharasudan gravatar image

I have successfully cross compiled ROS barebones for QNX to be run on ArmV7. When I attempt to run ros master or rosout the program crashes with a memory fault.

Debugging it further reveals that it crashes at a specific boost function call, thread_specific_ptr<t>::reset() in CallbackQueue.cpp under roscpp library. Internally the Boost library is cross compiled by linking against boost's implementation of pthread.cpp. However, in QNX I see that the pthread library is found in libm.so instead of libpthread.so as in linux. Is this true? If so, do you think this memory fault might be because cross compiled boost is linking against its own pthread.cpp as opposed to QNX's libm.so?

Are there alternatives to this thread_specific_ptr that I can explore and replace? Any pointers or inputs would be highly appreciated

edit retag flag offensive close merge delete

Comments

The cross-compiling community within the ROS community is rather small, and I think the nr of people trying to use QNX is even smaller, and then you also only see the intersection that frequents ROS Answers here, so I'm not too optimistic you'll get any response. Unfortunately I'd say, as it's ..

gvdhoorn gravatar imagegvdhoorn ( 2017-07-15 04:18:55 -0600 )edit

.. very interesting to see whether it's doable to get a cross-compiled QNX version of ROS working reliably.

Is this hobby / interest, or are you looking to use ROS on QNX for a particular purpose?

gvdhoorn gravatar imagegvdhoorn ( 2017-07-15 04:19:34 -0600 )edit

This is for official purpose. We thought of utilizing the logging features of ros to debug in a RT environment. I was successful in cross compiling it and getting it to publish data to a rostopic from a QNX Armv7 machine

mhariharasudan gravatar imagemhariharasudan ( 2017-07-21 15:07:46 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-07-21 15:08:24 -0600

mhariharasudan gravatar image

There was a thread_specific_ptr implementation in pthread that I used instead of the boost one. That fixed the crash.

edit flag offensive delete link more

Comments

Would that be something to contribute upstream?

gvdhoorn gravatar imagegvdhoorn ( 2017-07-22 01:53:59 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2017-07-14 09:45:56 -0600

Seen: 99 times

Last updated: Jul 21 '17