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 |