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

openni_camera nodelet crashes when using QVGA 30Hz [closed]

asked 2011-12-18 22:05:35 -0600

christiank gravatar image

Hi everyone,

I've the following problem with my kinect and the openni_camera driver:

If I launch the openni_camera nodelet with roslaunch openni_launch openni.launch and afterwards change the image_mode and depth_mode via dynamic_reconfigure to QVGA_30Hz and then subscribe to camera/rgb/image_mono or camera/rgb/image_color the nodelet crashes with the following error:

*** glibc detected *** /opt/ros/electric/stacks/nodelet_core/nodelet/bin/nodelet: malloc():     memory corruption: 0x0000000000bb85f0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x79d7a)[0x7fdaeff65d7a]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x6e)[0x7fdaeff6831e]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_Znwm+0x1d)[0x7fdaf09f2e0d]
/opt/ros/electric/stacks/openni_kinect/depth_image_proc/lib/libdepth_image_proc.so(_ZN5boost11make_sharedIN11sensor_msgs11CameraInfo_ISaIvEEEEENS_10shared_ptrIT_EEv+0x4f)[0x7fdae3d8dcff]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZNK13openni_camera13DriverNodelet20getDefaultCameraInfoEiid+0x1b)[0x7fdac6bb1c1b]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZNK13openni_camera13DriverNodelet16getRgbCameraInfoEN3ros4TimeE+0x618)[0x7fdac6bb4f98]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZNK13openni_camera13DriverNodelet15publishRgbImageERKN14openni_wrapper5ImageEN3ros4TimeE+0xe9)[0x7fdac6bb52c9]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZN13openni_camera13DriverNodelet5rgbCbEN5boost10shared_ptrIN14openni_wrapper5ImageEEEPv+0xc7)[0x7fdac6bb5537]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZN5boost6detail8function26void_function_obj_invoker1INS_3_bi6bind_tIvNS_4_mfi3mf2IvN13openni_camera13DriverNodeletENS_10shared_ptrIN14openni_wrapper5ImageEEEPvEENS3_5list3INS_17reference_wrapperIS8_EENS_3argILi1EEENS3_5valueISD_EEEEEEvSC_E6invokeERNS1_15function_bufferESC_+0x67)[0x7fdac6bbd4e7]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_driver.so(_ZN14openni_wrapper12OpenNIDevice23ImageDataThreadFunctionEv+0x359)    [0x7fdac62ad6e9]
/usr/lib/libboost_thread.so.1.42.0(thread_proxy+0x5e)[0x7fdaf230e16e]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x6d8c)[0x7fdaf0286d8c]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fdaeffd204d]

this happens on 32bit and 64bit Ubuntu Natty. the installed openni libraries are:

dpkg -l | grep openni
ii  openni-dev                                 1.3.2.1-4+natty1                           OpenNI Framework - libraries
ii  ros-electric-openni-kinect                 0.3.2-s1323594564~natty                    The ROS OpenNI project

Has anyone an idea what the reason for this problem is?

Cheers, Christian

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2014-10-06 19:43:48.807993

Comments

1
I am able to reproduce this: *** glibc detected *** /home/xxx/ros/nodelet_core/nodelet/bin/nodelet: malloc(): memory corruption: 0x0000000000d64900 *** nodelet: /usr/include/boost/thread/pthread/mutex.hpp:50: void boost::mutex::lock(): Assertion `!pthread_mutex_lock(&m)' failed.
Ben_S gravatar image Ben_S  ( 2011-12-18 22:41:57 -0600 )edit

4 Answers

Sort by ยป oldest newest most voted
0

answered 2012-02-13 10:17:17 -0600

updated 2012-03-15 18:18:42 -0600

I am getting a similar error. For me, the system is stable at VGA and QVGA, but crashes at QQVGA.

I am running latest (as of 2/13/12) ros-electric-openni-kinect

Here's the output of uname -a:

Linux idryanov-desktop 3.0.0-16-generic-pae #28-Ubuntu \
SMP Fri Jan 27 19:24:01 UTC 2012 i686 i686 i386 GNU/Linux

Here's the console output:

*** glibc detected *** /opt/ros/electric/stacks/nodelet_core/nodelet/bin/nodelet: malloc(): smallbin double linked list corrupted: 0x0985e790 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x6ebc2)[0xb72e3bc2]
/lib/i386-linux-gnu/libc.so.6(+0x70cf3)[0xb72e5cf3]
/lib/i386-linux-gnu/libc.so.6(__libc_malloc+0x68)[0xb72e7498]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_Znwj+0x27)[0xb74da9d7]
/opt/ros/electric/stacks/image_common/image_transport/lib/libimage_transport.so(_ZNK3ros9Publisher7publishIKN11sensor_msgs6Image_ISaIvEEEEEvRKN5boost10shared_ptrIT_EE+0x225)[0xae8766a5]
/opt/ros/electric/stacks/image_common/image_transport/lib/libimage_transport.so(_ZNK15image_transport12RawPublisher7publishERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE+0x3c)[0xae8770fc]
/opt/ros/electric/stacks/image_common/image_transport/lib/libimage_transport.so(_ZNK15image_transport9Publisher7publishERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE+0xfa)[0xae84170a]
/opt/ros/electric/stacks/image_common/image_transport/lib/libimage_transport.so(_ZNK15image_transport15CameraPublisher7publishERKN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEERKNS2_IKNS3_11CameraInfo_IS5_EEEE+0xe8)[0xae85a4d8]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZNK13openni_camera13DriverNodelet15publishRgbImageERKN14openni_wrapper5ImageEN3ros4TimeE+0x163)[0xab87c723]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZN13openni_camera13DriverNodelet5rgbCbEN5boost10shared_ptrIN14openni_wrapper5ImageEEEPv+0xfd)[0xab87c97d]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_nodelet.so(_ZN5boost6detail8function26void_function_obj_invoker1INS_3_bi6bind_tIvNS_4_mfi3mf2IvN13openni_camera13DriverNodeletENS_10shared_ptrIN14openni_wrapper5ImageEEEPvEENS3_5list3INS_17reference_wrapperIS8_EENS_3argILi1EEENS3_5valueISD_EEEEEEvSC_E6invokeERNS1_15function_bufferESC_+0x8a)[0xab885a6a]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_driver.so(_ZN14openni_wrapper12OpenNIDevice23ImageDataThreadFunctionEv+0x2f5)[0xab81f7a5]
/opt/ros/electric/stacks/openni_kinect/openni_camera/lib/libopenni_driver.so(_ZN5boost6detail11thread_dataINS_3_bi6bind_tIvNS_4_mfi3mf0IvN14openni_wrapper12OpenNIDeviceEEENS2_5list1INS2_5valueIPS7_EEEEEEE3runEv+0x2b)[0xab82271b]
/usr/lib/libboost_thread.so.1.46.1(thread_proxy+0x6c)[0xb72673cc]
/lib/i386-linux-gnu/libpthread.so.0(+0x6d31)[0xb73f7d31]
/lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb73470ce]
======= Memory map: ========
08048000-08056000 r-xp 00000000 08:11 17204873   /opt/ros/electric/stacks/nodelet_core/nodelet/bin/nodelet
08056000-08057000 r--p 0000d000 08:11 17204873   /opt/ros/electric/stacks/nodelet_core/nodelet/bin/nodelet
08057000-08058000 rw-p 0000e000 08:11 17204873   /opt/ros/electric/stacks/nodelet_core/nodelet/bin/nodelet
09813000-0993f000 rw-p 00000000 00:00 0          [heap]
a1300000-a13c2000 rw-p 00000000 00:00 0 
a13c2000-a1400000 ---p 00000000 00:00 0 
a2700000-a278d000 rw-p 00000000 00:00 0 
a278d000-a2800000 ---p 00000000 00:00 0 
a2ff4000-a308d000 rw-p 00000000 00:00 0 
a30da000-a30db000 ---p 00000000 00:00 0 
a30db000-a38db000 rwxp 00000000 00:00 0 
a38db000-a38dc000 ---p 00000000 00:00 0 
a38dc000-a40dc000 rwxp 00000000 00:00 0 
a40dc000-a40dd000 ---p 00000000 00:00 0 
a40dd000-a48dd000 rwxp 00000000 00:00 0 
a4904000-a5f84000 r--s 00000000 00:12 134547     /run/shm/14121_1d27.0600@1.2_IR
a5fbf000-a5fc0000 ---p 00000000 00:00 0 
a5fc0000-a67c0000 rwxp 00000000 00:00 0 
a67c0000-a6bc1000 rw-p 00000000 00:00 0 
a6bc1000-a8241000 r--s 00000000 00:12 134545     /run/shm/14121_1d27.0600@1.2_Image
a8323000-a8324000 ---p 00000000 00:00 0 
a8324000-a8b24000 rwxp 00000000 00:00 0 
a8b24000-a8f25000 rw-p 00000000 00:00 0 
a8f25000-a92a9000 r--s 00000000 00:12 134543     /run/shm/14121_1d27.0600@1.2_Depth
a9340000-a9341000 ---p 00000000 00:00 0 
a9341000-a9b41000 rwxp 00000000 00:00 0 
a9b41000-a9f42000 rw-p 00000000 00:00 0 
a9f42000-a9f6f000 r-xp 00000000 08:11 12621390   /usr/lib/libXnDeviceFile.so
a9f6f000-a9f71000 r--p 0002c000 08:11 12621390   /usr/lib/libXnDeviceFile.so
a9f71000-a9f72000 rw-p 0002e000 08:11 12621390   /usr/lib/libXnDeviceFile.so
a9f72000-a9fc3000 r-xp 00000000 08:11 12621392   /usr/lib/libXnDDK.so
a9fc3000-a9fc5000 r--p 00051000 08:11 12621392   /usr/lib/libXnDDK ...
(more)
edit flag offensive delete link more
0

answered 2012-05-31 14:45:03 -0600

Freek gravatar image

updated 2012-05-31 16:00:24 -0600

Hi,

Does anybody have any news on this issue? I'm still having the same problem (the glibc error mentioned above) when trying to use dynamic reconfigure to change the resolution to QVGA, only working resolution is VGA. I'm running the latest updates of ROS Fuerte and Ubuntu 10.04 64-bit.

EDIT 1: Just tried to use the deprecated drivers under fuerte and had the same issue. I can actually change the settings when I'm not visualising the image, but once I try to visualise the image (with rviz or image_view) then it crashes.

Thank you!

edit flag offensive delete link more
0

answered 2012-04-29 18:07:42 -0600

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

Hi,

I am having similar issues when using Ubuntu 10.04 and ROS-Fuerte. When using the openni_launch package, everything starts up fine and can see everything. When I want to change parameters using the dynamic reconfigure package, I can not change the resolution of the RGB and Depth camera, as it immediately crashes when changing the parameters.

Maybe by now, someone has some more info on this?

Thanks

Edit: I've tested this under Ubuntu 10.04 32/64 bit

edit flag offensive delete link more
0

answered 2012-01-03 20:41:25 -0600

dgossow gravatar image

Hi, same happens for me, not always at the same code position though. Seems to be a mean bug.

I have the same library version (the latest one from the PCL repository), running on 64-Bit Oneiric.

This is one example of what happens after setting the image mode to QVGA_30Hz:

[/camera_nodelet_manager] [DriverNodelet::setupDevice]: Opened 'Xbox NUI Camera' on bus 2:6 with serial number 'A00364912716111A'
[/camera_nodelet_manager] [DriverNodelet::onInitImpl]: rgb_frame_id = '/camera_rgb_optical_frame' 
[/camera_nodelet_manager] [DriverNodelet::onInitImpl]: depth_frame_id = '/camera_depth_optical_frame' 
[/camera_nodelet_manager] [CameraInfoManager::loadCalibrationFile]: Camera calibration file /usr/wiss/gossow/.ros/camera_info/rgb_A00364912716111A.yaml not found.
[/camera_nodelet_manager] [CameraInfoManager::loadCalibrationFile]: Camera calibration file /usr/wiss/gossow/.ros/camera_info/depth_A00364912716111A.yaml not found.
[/camera_nodelet_manager] [DriverNodelet::onInitImpl]: Using default parameters for RGB camera calibration.
[/camera_nodelet_manager] [DriverNodelet::onInitImpl]: Using default parameters for IR camera calibration.
[Thread 0x7fffd9240700 (LWP 18386) exited]
[New Thread 0x7fffcc4b8700 (LWP 18700)]
[/camera_nodelet_manager] [RegisterNodelet::imageCb]: TF exception:
Lookup would require extrapolation into the future.  Requested time 1325673040.928596409 but the latest data is at time 1325673040.926995553, when looking up transform from frame [/camera_depth_optical_frame] to frame [/camera_rgb_optical_frame]
*** glibc detected *** /work/ros/electric/stacks/nodelet_core/nodelet/bin/nodelet: free(): corrupted unsorted chunks: 0x00000000009867f0 ***

This is the backtrace:

#0  0x00007ffff60e53a5 in __GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00007ffff60e8b0b in __GI_abort () at abort.c:92
#2  0x00007ffff611d113 in __libc_message (do_abort=2, 
    fmt=0x7ffff620e0d8 "*** glibc detected *** %s: %s: 0x%s ***\n")
    at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#3  0x00007ffff6127a96 in malloc_printerr (action=3, 
    str=0x7ffff620e2c8 "free(): corrupted unsorted chunks", 
    ptr=<optimized out>) at malloc.c:6283
#4  0x00007ffff612bd7c in __GI___libc_free (mem=<optimized out>)
    at malloc.c:3738
#5  0x00000000004069f9 in release (this=0x99a2e0)
    at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#6  boost::detail::shared_count::~shared_count (this=<optimized out>, 
    __in_chrg=<optimized out>)
    at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217
#7  0x00007fffd99962fe in ~shared_ptr (this=0x7fffcd4b9d60, 
    __in_chrg=<optimized out>)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:168
#8  openni_wrapper::OpenNIDevice::ImageDataThreadFunction (this=0x7fffe8358d50)
    at /tmp/buildd/ros-electric-openni-kinect-0.3.2/debian/ros-electric-openni-kinect/opt/ros/electric/stacks/openni_kinect/openni_camera/src/openni_device.cpp:505
---Type <return> to continue, or q <return> to quit---
#9  0x00007ffff5ea2ba9 in thread_proxy ()
   from /usr/lib/libboost_thread.so.1.46.1
#10 0x00007ffff6455efc in start_thread (arg=0x7fffcd4ba700)
    at pthread_create.c:304
#11 0x00007ffff619089d in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()
edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-12-18 22:05:35 -0600

Seen: 1,100 times

Last updated: May 31 '12