-
Notifications
You must be signed in to change notification settings - Fork 219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conflict with compressed_image_transport #67
Comments
A tentative workaround is as follows:
|
This is fantastic: thanks for digging into this issue. I won't have time this week to look into it, but this will be a great help in repro-ing the issue. |
Never mind, this ended up at the top of my work queue today. I did some deep diving. I crashed the node intentionally under GDB to see what's going on. (gdb) backtrace See highlighted frames. This is wrong: based on the OpenCV source code, it should be calling into libjpeg.so.8, not libk4a. Ok, so lets check the loaded shared libraries: (gdb) info sharedlibrary Ok... all the right shared libs are loaded, so why is it picking the wrong symbol still? Lets look in libk4a: objdump -t /usr/lib/x86_64-linux-gnu/libk4a.so.1.2 | grep jpeg_CreateDecompress Ah ha. This symbol should be marked with visbility=hidden to prevent this kind of conflict, and indeed this should have been fixed by microsoft/Azure-Kinect-Sensor-SDK#651. However, it's still not hidden in the binaries that are published as part of the 1.2 SDK, so something has gone wrong. Digging deeper. |
Thank you for providing this workaround. This worked for me for subscribing to compressed RGB images. However, it does not appear to work for compressed depth images. When subscribing to the compressed depth topic, I receive the following error and nothing is published: |
You need to use compressed_depth_image_transport to compress depth images. |
Root caused to an issue in the Azure Kinect Sensor SDK. This will be fixed when microsoft/Azure-Kinect-Sensor-SDK#672 is fixed. |
This bug was dependent on an SDK change which was corrected. |
Describe the bug
A node crashes when compressed color/depth stream is subscribed.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Subscription works.
Logs
See above.
Desktop (please complete the following information):
Additional context
The node crashes at cv::imencode() in CompressedPublisher::advertiseImpl:
https://github.com/ros-perception/image_transport_plugins/blob/indigo-devel/compressed_image_transport/src/compressed_publisher.cpp#L137
The reason of the crash is that the version of
libjpeg-turbo
statically linked tolibk4a
is incompatible with the version of the same library dynamically loaded inlibopencv_imgcodecs
. It seems something similar happens in #37.The text was updated successfully, but these errors were encountered: