Ask Your Question
0

royale_camera_driver nodelet crashing (memory corruption) on Odroid XU4 and RPi

asked 2019-10-23 15:27:16 -0500

AstroMatt gravatar image

updated 2019-10-24 03:29:49 -0500

gvdhoorn gravatar image

Hello! I am trying to get a package called sampleROS working on an Odroid XU4 that interfaces with a pmd Pico Monstar camera. The package comes straight from the manufacturer and I have gotten it working on a 64-bit x86 laptop with no issues. On my XU4, the 32-bit ARM version of the package builds in the catkin workspace with no problems but I get the following output when I launch it:

odroid@odroid:~/catkin_ws$ roslaunch royale_in_ros camera_driver.launch
... logging to /home/odroid/.ros/log/76478bec-f43a-11e9-bf4f-001e0636e3ad/roslaunch-odroid-5607.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://odroid:43300/

SUMMARY
========

PARAMETERS
* /rosdistro: kinetic
* /rosversion: 1.12.14
* /royale_camera_driver/node_name: royale_camera

NODES
/
royale_camera (nodelet/nodelet)
royale_camera_driver (nodelet/nodelet)
royale_camera_static_tf (tf/static_transform_publisher)

auto-starting new master
process[master]: started with pid [5617]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 76478bec-f43a-11e9-bf4f-001e0636e3ad
process[rosout-1]: started with pid [5630]
started core service [/rosout]
process[royale_camera_static_tf-2]: started with pid [5633]
process[royale_camera-3]: started with pid [5634]
process[royale_camera_driver-4]: started with pid [5643]
[ INFO] [1571686756.533823541]: Loading nodelet /royale_camera_driver of type royale_in_ros/royale_nodelet to manager royale_camera with the following remappings: 
[ INFO] [1571686756.553907038]: waitForService: Service [/royale_camera/load_nodelet] has not been advertised, waiting...
[ INFO] [1571686756.643637551]: Initializing nodelet with 8 worker threads.
[ INFO] [1571686756.651238156]: waitForService: Service [/royale_camera/load_nodelet] is now available.
*** Error in `/opt/ros/kinetic/lib/nodelet/nodelet': malloc(): memory corruption: 0xb6aef7d3 ***
[FATAL] [1571686757.149955169]: Failed to load nodelet '/royale_camera_driver` of type `royale_in_ros/royale_nodelet` to manager `royale_camera'
[royale_camera-3] process has died [pid 5634, exit code -6, cmd /opt/ros/kinetic/lib/nodelet/nodelet manager __name:=royale_camera __log:=/home/odroid/.ros/log/76478bec-f43a-11e9-bf4f-001e0636e3ad/royale_camera-3.log].
log file: /home/odroid/.ros/log/76478bec-f43a-11e9-bf4f-001e0636e3ad/royale_camera-3*.log
[royale_camera_driver-4] process has died [pid 5643, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load royale_in_ros/royale_nodelet royale_camera __name:=royale_camera_driver __log:=/home/odroid/.ros/log/76478bec-f43a-11e9-bf4f-001e0636e3ad/royale_camera_driver-4.log].
log file: /home/odroid/.ros/log/76478bec-f43a-11e9-bf4f-001e0636e3ad/royale_camera_driver-4*.log
[royale_camera_driver-4] restarting process
process[royale_camera_driver-4]: started with pid [5704]
[ INFO] [1571686757.582934302]: Loading nodelet /royale_camera_driver of type royale_in_ros/royale_nodelet to manager royale_camera with the following remappings:
[ INFO] [1571686757.591440471]: waitForService: Service [/royale_camera/load_nodelet] could not connect to host [odroid:40472], waiting...

Unfortunately, I don't think I can provide the code for the package here because it isn't openly distributed. I am running kinetic on Ubuntu 16.04 but I have tried it with melodic on 18.04 too with the same result. I have also tried it on a Raspberry Pi 3B with no luck. Does anyone have any ideas what would cause the "* Error in `/opt/ros/kinetic/lib/nodelet/nodelet': malloc(): memory corruption: 0xb6aef7d3 *" error?

edit retag flag offensive close merge delete

Comments

It's not ifm/royale-ros you're using, correct?

gvdhoorn gravatar image gvdhoorn  ( 2019-10-24 03:28:11 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-10-24 03:26:16 -0500

gvdhoorn gravatar image

updated 2019-10-24 03:26:53 -0500

interfaces with a pmd Pico Monstar camera. The package comes straight from the manufacturer [..] I don't think I can provide the code for the package here because it isn't openly distributed.

You may have already done this, but have you contacted the manufacturer? They would be the ones to support you here. Without seeing the code, it's going to be very difficult to help you (and even if we could see the code, memory errors are typically not easy to diagnose).

As a guess: many camera producers include binary blobs with their SDKs/drivers/Linux code, which is CPU architecture specific. If it works on amd64, but not on arm, my guess would be that the mfg is doing something in their code which isn't portable to architectures other than x86.

I would recommend contacting them.

edit flag offensive delete link more

Your Answer

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

Add Answer

Question Tools

Stats

Asked: 2019-10-23 15:27:16 -0500

Seen: 137 times

Last updated: Oct 24 '19