Rosanswers logo

I am following the instructions and compile all the packages successfully. Then I excute

roslaunch rgbdslam kinect+rgbdslam.launch

It works just fine (a window pops out and show the RGB image and the depth image)

Then I close the window and shut down the terminal. But then when I open the terminal and redo the roslaunch again, it shows

openni_node: /usr/include/boost/smart_ptr/shared_ptr.hpp:412: boost::shared_ptr::reference boost::shared_ptr::operator*() const [with T = xn::NodeInfo, boost::shared_ptr::reference = xn::NodeInfo&]: Assertion `px != 0' failed.
[openni_node1-1] process has died [pid 2939, exit code -6].
log files: /home/chong/.ros/log/1ca4f8da-a515-11e1-be93-74e50b030cfa/openni_node1-1*.log

But this log file does not exit in the directory. I found another log file named roslaunch-ubuntu-3307.log and this is the part where the error possibly appears:

[roslaunch][INFO] 2012-05-23 16:28:44,034: ... successfully launched [rgbdslam-7]
[roslaunch][INFO] 2012-05-23 16:28:44,034: ... launch_nodes complete
[roslaunch.pmon][INFO] 2012-05-23 16:28:44,035: registrations completed 
[roslaunch.parent][INFO] 2012-05-23 16:28:44,035: ... roslaunch parent running, waiting for process exit
[roslaunch][INFO] 2012-05-23 16:28:44,035: spin
[roslaunch][ERROR] 2012-05-23 16:28:52,215: [openni_node1-2] process has died [pid 3346, exit code -6].
log files: /home/chong/.ros/log/e41573d6-a515-11e1-8e5f-74e50b030cfa/openni_node1-2*.log
[roslaunch.pmon][INFO] 2012-05-23 16:28:52,216: ProcessMonitor.unregister[openni_node1-2] starting
[roslaunch.pmon][INFO] 2012-05-23 16:28:52,216: ProcessMonitor.unregister[openni_node1-2] complete

The interesting thing is, when I restart the system and try this again, it works the first time, but if I try roslaunch the second time, tthen the same error appears. Seems it only works at the first time after the system is booted. I guess I didn't shut down everything executed by the first time roslaunch but I don't know how to do it. Anybody knows how to solve this? I will appreciate any suggestions !

Edit: after I type ^C in the window, it says

[rgbdslam-7] killing on exit
[kinect_base_link3-6] killing on exit
[kinect_base_link2-5] killing on exit
[kinect_base_link1-4] killing on exit
[kinect_base_link-3] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete

Originally posted by Chong on ROS Answers with karma: 76 on 2012-05-23

Post score: 1

Original comments

Comment by joq on 2012-05-23:
What does roslaunch say after you type ^C in its window?

Comment by Chong on 2012-05-24:
Hi joq, I've posted the output in the "edit" part in my post above. Thanks !

Comment by joq on 2012-05-24:
Is ^C what you did when you "shut down the terminal"?

Comment by Chong on 2012-05-24:
yes. and by "close the window", i mean close the window showing up when i run the roslaunch command

Comment by Chong on 2012-05-28:
any idea how to solve this?

Comment by joq on 2012-05-28:
Provide more information on why openni_node died?


2 Answers 2


Rosanswers logo

Closing the window only quits rgbdslam. The launch-file you use also starts the camera driver (and a roscore if not yet running) which doesn't quit on rgbdslam's exit. So probably that is the problam, since the error message you get is from openni_node, not from rgbdslam itself. Either you set the required="true" option for rgbdslam node tag in the launchfile, so everything quits when rgbdslam quits. Or you can use a seperate launchfile for openni and rgbdslam (there are several available), so you can restart rgbdslam without starting a new openni instance. Or just kill the rest of the launched process with ctrl+c.

Originally posted by Felix Endres with karma: 6468 on 2012-05-29

This answer was NOT ACCEPTED on the original site

Post score: 3

Original comments

Comment by Chong on 2012-05-30:
tried set required = "true", not working; tried using ctril+c, not working. Can you tell me how to use a seperate lauchfile for openni and rgbdslam please? thx !

Comment by Chong on 2012-05-30:
tried set required = "true". not working.

Comment by Felix Endres on 2012-06-01:
Shell1: roslaunch openni_camera openni_node.launch, Shell2: roslaunch rgbdslam rgbdslam.launch

Comment by Chong on 2012-06-03:
i got an error when running roslaunch rgbdslam rgbdslam.launch. The error is posted as follows


Rosanswers logo

the error :

chong@ubuntu:~$ roslaunch rgbdslam rgbdslam.launch ... logging to /home/chong/.ros/log/ecef703a-adb5-11e1-aba4-74e50b030cfa/roslaunch-ubuntu-2680.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is

Originally posted by Chong with karma: 76 on 2012-06-03

This answer was ACCEPTED on the original site

Post score: 0

Original comments

Comment by Felix Endres on 2012-06-03:
It's an error because you would have to set the concurrent_xxxx_construction parameters to false when using the matcher_type "SIFTGPU". It's nota fatal error and all should still work, right? BTW, for my GPU it is faster to use SIFTGPU features with the FLANN matcher instead of the SIFTGPU matcher.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.