ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
2

openni_camera crash while using kinect

asked 2012-09-21 11:41:25 -0500

updated 2016-10-24 09:02:23 -0500

ngrennan gravatar image

I recently updated all my machines, and cannot seem to run the openni driver with the kinect anymore (tested across 2 different fuerte/precise machines and 2 different kinects). openni_camera is currently crashing for me:

lab@pharos:/opt/ros/fuerte/stacks/openni_camera$ rosrun openni_camera openni_node 
[ INFO] [1348261427.280555252]: Initializing nodelet with 4 worker threads.
[ INFO] [1348261428.529849944]: Number devices connected: 1
[ INFO] [1348261428.530277093]: 1. device on bus 001:22 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'B00361606879048B'
[ WARN] [1348261428.544275381]: ~device_id is not set! Using first device.
openni_node: /usr/include/boost/smart_ptr/shared_ptr.hpp:412: boost::shared_ptr<T>::reference boost::shared_ptr<T>::operator*() const [with T = xn::NodeInfo, boost::shared_ptr<T>::reference = xn::NodeInfo&]: Assertion `px != 0' failed.
Aborted (core dumped)

The gdb output on the deb binary has a few inconsistencies, so I built openni_camera from source after setting the build type to "Debug". The output from gdb:

lab@pharos:~/ros/openni_camera$ gdb bin/openni_node 
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/lab/ros/openni_camera/bin/openni_node...done.
(gdb) run
Starting program: /home/lab/ros/openni_camera/bin/openni_node 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff0e8e700 (LWP 10296)]
[New Thread 0x7fffebfff700 (LWP 10297)]
[New Thread 0x7fffeb7fe700 (LWP 10298)]
[New Thread 0x7fffeaffd700 (LWP 10299)]
[New Thread 0x7fffea7fc700 (LWP 10300)]
[New Thread 0x7fffe9ffb700 (LWP 10301)]
[New Thread 0x7fffe97fa700 (LWP 10302)]
[New Thread 0x7fffe8ff9700 (LWP 10303)]
[New Thread 0x7fffd3fff700 (LWP 10304)]
[ INFO] [1348263432.503205958]: Initializing nodelet with 4 worker threads.
[New Thread 0x7fffd37fe700 (LWP 10305)]
[New Thread 0x7fffd24bb700 (LWP 10306)]
[ INFO] [1348263436.242376429]: Number devices connected: 1
[ INFO] [1348263436.242814823]: 1. device on bus 001:26 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'B00361606879048B'
[ WARN] [1348263436.253906179]: ~device_id is not set! Using first device.
openni_node: /usr/include/boost/smart_ptr/shared_ptr.hpp:412: boost::shared_ptr<T>::reference boost::shared_ptr<T>::operator*() const [with T = xn::NodeInfo, boost::shared_ptr<T>::reference = xn::NodeInfo&]: Assertion `px != 0' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd24bb700 (LWP 10306)]
0x00007ffff6d7b445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0  0x00007ffff6d7b445 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff6d7ebab in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007ffff6d7410e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff6d741b2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x00007fffe8121535 in boost::shared_ptr<xn::NodeInfo>::operator* (this=0x7fffb801f2c8)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:412
#5  0x00007fffe811ddb2 in openni_wrapper::OpenNIDriver::getDeviceByIndex (this=0x7ffff068d220, index=0)
    at /home/lab ...
(more)
edit retag flag offensive close merge delete

Comments

It's been my experience that the openni driver has been quite unreliable lately. AFAIK it currently doesn't have a maintainer.

Dan Lazewatsky gravatar image Dan Lazewatsky  ( 2012-09-21 11:51:26 -0500 )edit

Did you try running it out of the http://ros.org/wiki/openni_launch pkg?

dejanpan gravatar image dejanpan  ( 2012-09-21 17:24:17 -0500 )edit

@dejanpan: Yes, the nodelet manager crashes out with the above error.

piyushk gravatar image piyushk  ( 2012-09-22 13:36:56 -0500 )edit

@Dan Lazewatsky: Thanks for the info. I think that my experience has been same as well. Unfortunately I don't have enough time to dig deeper into the error. If this stack is not being maintained, i'll test out one of the freenect ones still available.

piyushk gravatar image piyushk  ( 2012-09-22 13:39:04 -0500 )edit

Can you please post which Ubuntu and ROS version are you using and which repo/revision of the openni_camera driver are you using and I will try to dig into. In the meantime, try it with the stable but deprecated driver: http://ros.org/wiki/openni_camera_deprecated

dejanpan gravatar image dejanpan  ( 2012-09-22 13:49:23 -0500 )edit

@dejanpan: Ubuntu 12.04 + Fuerte. The openni_camera trunk and the current ubuntu deb (1.8.0) produce this error. However @Martin Peris seems to have found the correct thread below.

piyushk gravatar image piyushk  ( 2012-09-24 06:08:59 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2012-09-23 20:39:40 -0500

This seems the same issue as in this question: openni_launch not working in fuerte + ubuntu precise 12.04

Though, it looks like it is not yet fully solved.

edit flag offensive delete link more

Comments

@Martin Peris: Thanks for finding this thread! I have little idea why I am seeing the error now, as one of the machines I used is always kept updated.

piyushk gravatar image piyushk  ( 2012-09-24 06:10:22 -0500 )edit

Question Tools

Stats

Asked: 2012-09-21 11:41:25 -0500

Seen: 1,457 times

Last updated: Sep 23 '12