| Summary: | media-gfx/digikam-5.0.0 with media-libs/opencv[qt4] SIGSEGV on start | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Martin Samek <mr> |
| Component: | Current packages | Assignee: | Andreas K. Hüttel <dilfridge> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | dominik, kde |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Martin Samek
2016-08-07 16:37:13 UTC
Part from strace:
mprotect(0x7fd45ecf8000, 8192, PROT_READ) = 0
mprotect(0x7fd45efbb000, 53248, PROT_READ) = 0
mprotect(0x7fd462622000, 299008, PROT_READ) = 0
mprotect(0x7fd461679000, 4096, PROT_READ) = 0
mprotect(0x7fd45fcfe000, 20480, PROT_READ) = 0
mprotect(0x7fd463100000, 290816, PROT_READ) = 0
mprotect(0x667000, 4096, PROT_READ) = 0
mprotect(0x7fd463376000, 4096, PROT_READ) = 0
munmap(0x7fd46332f000, 286314) = 0
set_tid_address(0x7fd43af0db10) = 4366
set_robust_list(0x7fd43af0db20, 24) = 0
rt_sigaction(SIGRTMIN, {0x7fd461680bb0, [], SA_RESTORER|SA_SIGINFO, 0x7fd46168bd70}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7fd461680c40, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7fd46168bd70}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0x17bf000
brk(0x17e0000) = 0x17e0000
futex(0x7fd4590af0c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
clock_getres(CLOCK_MONOTONIC, {0, 1}) = 0
futex(0x7fd45f8d284c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7fd45f8d2858, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/dev/urandom", O_RDONLY|O_CLOEXEC) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
read(3, "C\357!w", 4) = 4
close(3) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7fd4600126f0} ---
+++ killed by SIGSEGV +++
Backtrace? :-) Not a gdb guru, here is some output. Is it correct that Digikam 5 loads libOt4Test.so.4 < 0x00007fffe719ad9c in _GLOBAL__sub_I_qtestcase.cpp () from /usr/lib64/qt4/libQtTest.so.4 (gdb) backtrace #0 0x00007fffe719ad9c in _GLOBAL__sub_I_qtestcase.cpp () from /usr/lib64/qt4/libQtTest.so.4 #1 0x00007ffff7dea25a in ?? () from /lib64/ld-linux-x86-64.so.2 #2 0x00007ffff7dea36b in ?? () from /lib64/ld-linux-x86-64.so.2 #3 0x00007ffff7ddbc7a in ?? () from /lib64/ld-linux-x86-64.so.2 #4 0x0000000000000001 in ?? () #5 0x00007fffffffdd3c in ?? () #6 0x0000000000000000 in ?? () I can confirm this bug. It's always reproducible. Here is my backtrace: (gdb) run Starting program: /usr/bin/digikam [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Program received signal SIGSEGV, Segmentation fault. 0x00007fffe6215f2c in ?? () from /usr/lib64/qt4/libQtTest.so.4 (gdb) bt #0 0x00007fffe6215f2c in ?? () from /usr/lib64/qt4/libQtTest.so.4 #1 0x00007ffff7de962a in ?? () from /lib64/ld-linux-x86-64.so.2 #2 0x00007ffff7de97bd in ?? () from /lib64/ld-linux-x86-64.so.2 #3 0x00007ffff7ddac7a in ?? () from /lib64/ld-linux-x86-64.so.2 #4 0x0000000000000001 in ?? () #5 0x00007fffffffe4aa in ?? () #6 0x0000000000000000 in ?? () (gdb) quit (In reply to Martin Samek from comment #3) > Not a gdb guru, here is some output. Is it correct that Digikam 5 loads > libOt4Test.so.4 < This is almost certainly the cause - loading both Qt 4 and Qt 5 at the same time will cause a crash due to the symbol collisions. What's the output of lddtree /usr/bin/digikam ? (lddtree is from app-misc/pax-utils if you don't already have it) # lddtree /usr/bin/digikam
digikam => /usr/bin/digikam (interpreter => /lib64/ld-linux-x86-64.so.2)
libdigikamgui.so.5.0.0 => /usr/lib64/libdigikamgui.so.5.0.0
libQt5WebKitWidgets.so.5 => /usr/lib64/libQt5WebKitWidgets.so.5
libQt5WebKit.so.5 => /usr/lib64/libQt5WebKit.so.5
librt.so.1 => /lib64/librt.so.1
libz.so.1 => /lib64/libz.so.1
libXrender.so.1 => /usr/lib64/libXrender.so.1
libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1
libleveldb.so.1 => /usr/lib64/libleveldb.so.1
libsnappy.so.1 => /usr/lib64/libsnappy.so.1
libmemenv.so.1 => /usr/lib64/libmemenv.so.1
libjpeg.so.62 => /usr/lib64/libjpeg.so.62
libpng16.so.16 => /usr/lib64/libpng16.so.16
libX11.so.6 => /usr/lib64/libX11.so.6
libxcb.so.1 => /usr/lib64/libxcb.so.1
libXau.so.6 => /usr/lib64/libXau.so.6
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6
libbsd.so.0 => /usr/lib64/libbsd.so.0
libdl.so.2 => /lib64/libdl.so.2
ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2
libxslt.so.1 => /usr/lib64/libxslt.so.1
libxml2.so.2 => /usr/lib64/libxml2.so.2
libsqlite3.so.0 => /usr/lib64/libsqlite3.so.0
libicui18n.so.57 => /usr/lib64/libicui18n.so.57
libicuuc.so.57 => /usr/lib64/libicuuc.so.57
libicudata.so.57 => /usr/lib64/libicudata.so.57
libQt5Quick.so.5 => /usr/lib64/libQt5Quick.so.5
libQt5Qml.so.5 => /usr/lib64/libQt5Qml.so.5
libGL.so.1 => /usr/lib64/libGL.so.1
libglapi.so.0 => /usr/lib64/libglapi.so.0
libXext.so.6 => /usr/lib64/libXext.so.6
libXdamage.so.1 => /usr/lib64/libXdamage.so.1
libXfixes.so.3 => /usr/lib64/libXfixes.so.3
libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1
libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0
libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0
libxcb-dri3.so.0 => /usr/lib64/libxcb-dri3.so.0
libxcb-present.so.0 => /usr/lib64/libxcb-present.so.0
libxcb-randr.so.0 => /usr/lib64/libxcb-randr.so.0
libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0
libxcb-render.so.0 => /usr/lib64/libxcb-render.so.0
libxcb-shape.so.0 => /usr/lib64/libxcb-shape.so.0
libxcb-sync.so.1 => /usr/lib64/libxcb-sync.so.1
libxshmfence.so.1 => /usr/lib64/libxshmfence.so.1
libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1
libdrm.so.2 => /usr/lib64/libdrm.so.2
libQt5Network.so.5 => /usr/lib64/libQt5Network.so.5
libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0
libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0
libQt5MultimediaWidgets.so.5 => /usr/lib64/libQt5MultimediaWidgets.so.5
libQt5Multimedia.so.5 => /usr/lib64/libQt5Multimedia.so.5
libQt5OpenGL.so.5 => /usr/lib64/libQt5OpenGL.so.5
libKF5Solid.so.5 => /usr/lib64/libKF5Solid.so.5
libudev.so.1 => /usr/lib64/libudev.so.1
libcap.so.2 => /lib64/libcap.so.2
libattr.so.1 => /lib64/libattr.so.1
libopencv_contrib.so.2.4 => /usr/lib64/libopencv_contrib.so.2.4
libopencv_calib3d.so.2.4 => /usr/lib64/libopencv_calib3d.so.2.4
libopencv_flann.so.2.4 => /usr/lib64/libopencv_flann.so.2.4
libopencv_features2d.so.2.4 => /usr/lib64/libopencv_features2d.so.2.4
libopencv_ml.so.2.4 => /usr/lib64/libopencv_ml.so.2.4
libopencv_video.so.2.4 => /usr/lib64/libopencv_video.so.2.4
libgomp.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgomp.so.1
libKF5Kipi.so.31.0.0 => /usr/lib64/libKF5Kipi.so.31.0.0
libgphoto2_port.so.12 => /usr/lib64/libgphoto2_port.so.12
libltdl.so.7 => /usr/lib64/libltdl.so.7
libgphoto2.so.6 => /usr/lib64/libgphoto2.so.6
libexif.so.12 => /usr/lib64/libexif.so.12
libm.so.6 => /lib64/libm.so.6
libopencv_objdetect.so.2.4 => /usr/lib64/libopencv_objdetect.so.2.4
libopencv_highgui.so.2.4 => /usr/lib64/libopencv_highgui.so.2.4
libtiff.so.5 => /usr/lib64/libtiff.so.5
libjasper.so.1 => /usr/lib64/libjasper.so.1
libdc1394.so.22 => /usr/lib64/libdc1394.so.22
libraw1394.so.11 => /usr/lib64/libraw1394.so.11
libusb-1.0.so.0 => /lib64/libusb-1.0.so.0
libxine.so.2 => /usr/lib64/libxine.so.2
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1
libfreetype.so.6 => /usr/lib64/libfreetype.so.6
libbz2.so.1 => /lib64/libbz2.so.1
libxdg-basedir.so.1 => /usr/lib64/libxdg-basedir.so.1
libv4l1.so.0 => /usr/lib64/libv4l1.so.0
libv4l2.so.0 => /usr/lib64/libv4l2.so.0
libv4lconvert.so.0 => /usr/lib64/libv4lconvert.so.0
libavcodec.so.56 => /usr/lib64/libavcodec.so.56
libswresample.so.1 => /usr/lib64/libswresample.so.1
libva.so.1 => /usr/lib64/libva.so.1
libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4
libx264.so.142 => /usr/lib64/libx264.so.142
libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2
libvorbis.so.0 => /usr/lib64/libvorbis.so.0
libogg.so.0 => /usr/lib64/libogg.so.0
libvo-aacenc.so.0 => /usr/lib64/libvo-aacenc.so.0
libtwolame.so.0 => /usr/lib64/libtwolame.so.0
libtheoraenc.so.1 => /usr/lib64/libtheoraenc.so.1
libtheoradec.so.1 => /usr/lib64/libtheoradec.so.1
libopenjpeg.so.5 => /usr/lib64/libopenjpeg.so.5
libopencore-amrwb.so.0 => /usr/lib64/libopencore-amrwb.so.0
libopencore-amrnb.so.0 => /usr/lib64/libopencore-amrnb.so.0
libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0
libavformat.so.56 => /usr/lib64/libavformat.so.56
libgmp.so.10 => /usr/lib64/libgmp.so.10
libgnutls.so.28 => /usr/lib64/libgnutls.so.28
libtasn1.so.6 => /usr/lib64/libtasn1.so.6
libnettle.so.6 => /usr/lib64/libnettle.so.6
libhogweed.so.4 => /usr/lib64/libhogweed.so.4
libavutil.so.54 => /usr/lib64/libavutil.so.54
libswscale.so.3 => /usr/lib64/libswscale.so.3
libQtOpenGL.so.4 => /usr/lib64/qt4/libQtOpenGL.so.4
libQtGui.so.4 => /usr/lib64/qt4/libQtGui.so.4
libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0
libSM.so.6 => /usr/lib64/libSM.so.6
libuuid.so.1 => /lib64/libuuid.so.1
libICE.so.6 => /usr/lib64/libICE.so.6
libXi.so.6 => /usr/lib64/libXi.so.6
libXrandr.so.2 => /usr/lib64/libXrandr.so.2
libXcursor.so.1 => /usr/lib64/libXcursor.so.1
libXinerama.so.1 => /usr/lib64/libXinerama.so.1
libQtTest.so.4 => /usr/lib64/qt4/libQtTest.so.4
libQtCore.so.4 => /usr/lib64/qt4/libQtCore.so.4
libopencv_imgproc.so.2.4 => /usr/lib64/libopencv_imgproc.so.2.4
libopencv_core.so.2.4 => /usr/lib64/libopencv_core.so.2.4
libKF5XmlGui.so.5 => /usr/lib64/libKF5XmlGui.so.5
libQt5PrintSupport.so.5 => /usr/lib64/libQt5PrintSupport.so.5
libKF5TextWidgets.so.5 => /usr/lib64/libKF5TextWidgets.so.5
libKF5SonnetUi.so.5 => /usr/lib64/libKF5SonnetUi.so.5
libKF5SonnetCore.so.5 => /usr/lib64/libKF5SonnetCore.so.5
libKF5Completion.so.5 => /usr/lib64/libKF5Completion.so.5
libKF5GlobalAccel.so.5 => /usr/lib64/libKF5GlobalAccel.so.5
libQt5X11Extras.so.5 => /usr/lib64/libQt5X11Extras.so.5
libKF5ConfigWidgets.so.5 => /usr/lib64/libKF5ConfigWidgets.so.5
libKF5Codecs.so.5 => /usr/lib64/libKF5Codecs.so.5
libKF5Auth.so.5 => /usr/lib64/libKF5Auth.so.5
libKF5GuiAddons.so.5 => /usr/lib64/libKF5GuiAddons.so.5
libKF5ItemViews.so.5 => /usr/lib64/libKF5ItemViews.so.5
libKF5KIOWidgets.so.5 => /usr/lib64/libKF5KIOWidgets.so.5
libKF5KIOCore.so.5 => /usr/lib64/libKF5KIOCore.so.5
libKF5DBusAddons.so.5 => /usr/lib64/libKF5DBusAddons.so.5
libacl.so.1 => /lib64/libacl.so.1
libKF5JobWidgets.so.5 => /usr/lib64/libKF5JobWidgets.so.5
libKF5WindowSystem.so.5 => /usr/lib64/libKF5WindowSystem.so.5
libxcb-keysyms.so.1 => /usr/lib64/libxcb-keysyms.so.1
libKF5IconThemes.so.5 => /usr/lib64/libKF5IconThemes.so.5
libQt5Svg.so.5 => /usr/lib64/libQt5Svg.so.5
libKF5Archive.so.5 => /usr/lib64/libKF5Archive.so.5
liblzma.so.5 => /lib64/liblzma.so.5
libKF5Service.so.5 => /usr/lib64/libKF5Service.so.5
libKF5ConfigGui.so.5 => /usr/lib64/libKF5ConfigGui.so.5
libQt5Xml.so.5 => /usr/lib64/libQt5Xml.so.5
libQt5DBus.so.5 => /usr/lib64/libQt5DBus.so.5
libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3
libsystemd.so.0 => /usr/lib64/libsystemd.so.0
liblz4.so.1 => /usr/lib64/liblz4.so.1
libKF5WidgetsAddons.so.5 => /usr/lib64/libKF5WidgetsAddons.so.5
libdigikamcore.so.5.0.0 => /usr/lib64/libdigikamcore.so.5.0.0
liblcms2.so.2 => /usr/lib64/liblcms2.so.2
libexiv2.so.14 => /usr/lib64/libexiv2.so.14
libKF5Notifications.so.5 => /usr/lib64/libKF5Notifications.so.5
libXtst.so.6 => /usr/lib64/libXtst.so.6
libdbusmenu-qt5.so.2 => /usr/lib64/libdbusmenu-qt5.so.2
libphonon4qt5.so.4 => /usr/lib64/libphonon4qt5.so.4
libKF5NotifyConfig.so.5 => /usr/lib64/libKF5NotifyConfig.so.5
liblqr-1.so.0 => /usr/lib64/liblqr-1.so.0
libKF5Sane.so.5 => /usr/lib64/libKF5Sane.so.5
libsane.so.1 => /usr/lib64/libsane.so.1
libKF5Wallet.so.5 => /usr/lib64/libKF5Wallet.so.5
libKF5ThreadWeaver.so.5 => /usr/lib64/libKF5ThreadWeaver.so.5
libexpat.so.1 => /usr/lib64/libexpat.so.1
libpthread.so.0 => /lib64/libpthread.so.0
libKF5FileMetaData.so.3 => /usr/lib64/libKF5FileMetaData.so.3
libQt5Sql.so.5 => /usr/lib64/libQt5Sql.so.5
libKF5I18n.so.5 => /usr/lib64/libKF5I18n.so.5
libKF5CoreAddons.so.5 => /usr/lib64/libKF5CoreAddons.so.5
libKF5ConfigCore.so.5 => /usr/lib64/libKF5ConfigCore.so.5
libQt5Widgets.so.5 => /usr/lib64/libQt5Widgets.so.5
libQt5Gui.so.5 => /usr/lib64/libQt5Gui.so.5
libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0
libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3
libQt5Core.so.5 => /usr/lib64/libQt5Core.so.5
libpcre16.so.0 => /usr/lib64/libpcre16.so.0
libdigikamdatabase.so.5.0.0 => /usr/lib64/libdigikamdatabase.so.5.0.0
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libstdc++.so.6
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/libgcc_s.so.1
libc.so.6 => /lib64/libc.so.6
Looks like media-libs/opencv is built with USE="qt4". We should check if -qt4 is enough, or if +qt5 is required too. I have rebuild media-libs/opencv with use=-qt4 and digikam works fine, use=qt5 didn't change anything. Thanks a lot for testing. media-libs/opencv[-qt4] is now enforced in digikam-5.1.0. https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7205ebd0fa3f582f1267ba5ac1ab247f286e64d0 |