camera1394
camera1394 copied to clipboard
camera1394: node and nodelet crash with theora subscriber
Carried forward from code.ros.org Trac ticket #5574
reported by bgoldfai:
A camera1394 node or nodelet will segfault when a subscriber subscribes to its theora topic.
More detailed information of the problem is at http://answers.ros.org/question/47078/camera1394-node-and-nodelet-crash-with-theora-subscriber/
Attached is the output from running the camera1394 node with gdb and the backtrace after the crash:
1 $ roslaunch auto_rally firewireCamera.launch
2 ... logging to /home/muri/.ros/log/2c1e42c2-2296-11e2-b7c1-f0def19baa7e/roslaunch-muri-laptop-10339.log
3 Checking log directory for disk usage. This may take awhile.
4 Press Ctrl-C to interrupt
5 Done checking log file disk usage. Usage is <1GB.
6
7 started roslaunch server http://muri-laptop:51256/
8
9 SUMMARY
10 ========
11
12 PARAMETERS
13 * /rosdistro
14 * /rosversion
15
16 NODES
17 /
18 cam1394 (camera1394/camera1394_node)
19
20 ROS_MASTER_URI=http://localhost:11311
21
22 core service [/rosout] found
23 Exception AttributeError: AttributeError("'_DummyThread' object has no attribute '_Thread__block'",) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored
24 process[cam1394-1]: started with pid [10359]
25 GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
26 Copyright (C) 2012 Free Software Foundation, Inc.
27 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
28 This is free software: you are free to change and redistribute it.
29 There is NO WARRANTY, to the extent permitted by law. Type "show copying"
30 and "show warranty" for details.
31 This GDB was configured as "x86_64-linux-gnu".
32 For bug reporting instructions, please see:
33 <http://bugs.launchpad.net/gdb-linaro/>...
34 Reading symbols from /opt/ros/fuerte/stacks/camera1394/bin/camera1394_node...done.
35 Starting program: /opt/ros/fuerte/stacks/camera1394/bin/camera1394_node _video_mode:=640x480_mono8 _frame_rate:=60 __name:=cam1394 __log:=/home/muri/.ros/log/2c1e42c2-2296-11e2-b7c1-f0def19baa7e/cam1394-1.log
36 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
37 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
38 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
39 [Thread debugging using libthread_db enabled]
40 Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
41 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
42 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
43 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
44 [New Thread 0x7fffefee5700 (LWP 10367)]
45 [New Thread 0x7fffef6e4700 (LWP 10368)]
46 [New Thread 0x7fffe7fff700 (LWP 10369)]
47 [New Thread 0x7fffeeee3700 (LWP 10374)]
48 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
49 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
50 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
51 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
52 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
53 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
54 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
55 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
56 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
57 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
58 [tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
59 [ INFO] [1351622182.724361812]: Found camera with GUID 00b09d0100aa4b0e
60 [ INFO] [1351622182.724428979]: No GUID specified, using first camera found, GUID: 00b09d0100aa4b0e
61 [ INFO] [1351622182.724456180]: camera model: Point Grey Research Grasshopper Express GX-FW-10K3M
62 [ INFO] [1351622182.726189872]: [00b09d0100aa4b0e] opened: 640x480_mono8, 60 fps, 400 Mb/s
63 [ INFO] [1351622182.910750957]: using default calibration URL
64 [ INFO] [1351622182.910936726]: camera calibration URL: file:///home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml
65 [ERROR] [1351622182.911223813]: Unable to open camera calibration file [/home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml]
66 [ WARN] [1351622182.911392669]: Camera calibration file /home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml not found.
67 [ WARN] [1351622182.911524434]: [00b09d0100aa4b0e] calibration does not match video mode (publishing uncalibrated data)
68 [ERROR] [1351622202.883356827]: Unable to convert from 'mono8' to bgr8
69
70 Program received signal SIGSEGV, Segmentation fault.
71 0x000000000042645d in atomic_exchange_and_add (dv=-1, pw=0x78) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:50
72 50 );
73 (gdb) bt
74 #0 0x000000000042645d in atomic_exchange_and_add (dv=-1, pw=0x78) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:50
75 #1 release (this=0x70) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:143
76 #2 boost::detail::shared_count::~shared_count (this=0x731e40, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217
77 #3 0x000000000042e400 in ~shared_ptr (this=0x731e38, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:168
78 #4 ~Image_ (this=0x731de0, __in_chrg=<optimized out>) at /opt/ros/fuerte/include/sensor_msgs/Image.h:56
79 #5 checked_delete<sensor_msgs::Image_<std::allocator<void> > > (x=0x731de0) at /usr/include/boost/checked_delete.hpp:34
80 #6 boost::detail::sp_counted_impl_p<sensor_msgs::Image_<std::allocator<void> > >::dispose (this=<optimized out>)
81 at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78
82 #7 0x0000000000426489 in release (this=0x72aa30) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
83 #8 boost::detail::shared_count::~shared_count (this=<optimized out>, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217
84 #9 0x0000000000429eb7 in ~shared_ptr (this=0x7fffffffc840, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:168
85 #10 camera1394_driver::Camera1394Driver::poll (this=0x7fffffffcc30)
86 at /tmp/buildd/ros-fuerte-camera1394-1.8.0/debian/ros-fuerte-camera1394/opt/ros/fuerte/stacks/camera1394/src/nodes/driver1394.cpp:205
87 #11 0x000000000042477d in main (argc=1, argv=0x7fffffffdf28)
88 at /tmp/buildd/ros-fuerte-camera1394-1.8.0/debian/ros-fuerte-camera1394/opt/ros/fuerte/stacks/camera1394/src/nodes/camera1394_node.cpp:71
89