Bug 366440 - Digikam 5.0.0-147.4 with mysql database segfaults upon startup
Summary: Digikam 5.0.0-147.4 with mysql database segfaults upon startup
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Preview-Image (show other bugs)
Version: 5.0.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-08-05 08:47 UTC by Thomas Rother
Modified: 2016-12-24 10:18 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.4.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Rother 2016-08-05 08:47:44 UTC
Application: digikam (5.0.0)

Qt Version: 5.5.1
Operating System: Linux 4.1.27-27-default x86_64
Distribution: "openSUSE Leap 42.1 (x86_64)"

-- Information about the crash:
Digikam 5 was installed from obs://build.opensuse.org/KDE and configured for MYSQL database
A second installation with SQLITE does not show this error

The crash can be reproduced every time.

-- Backtrace:
Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5c07692880 (LWP 6710))]

Thread 5 (Thread 0x7f5be46a7700 (LWP 6712)):
#0  0x00007f5c02ab8bfd in poll () at /lib64/libc.so.6
#1  0x00007f5bf54c0422 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f5bf54c200f in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f5be67da3c9 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f5c033ca32f in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007f5c059530a4 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f5c02ac102d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f5be2cef700 (LWP 6714)):
#0  0x00007f5c0595703f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f5c033cb34b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f5c06bd2800 in Digikam::ScanController::run() (this=0x7f5c074e9780 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>) at /usr/src/debug/digikam-5.0.0/core/libs/database/utils/scancontroller.cpp:684
#3  0x00007f5c033ca32f in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007f5c059530a4 in start_thread () at /lib64/libpthread.so.0
#5  0x00007f5c02ac102d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f5be24ee700 (LWP 6723)):
#0  0x00007f5c0595703f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f5c033cb34b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f5c061f6091 in Digikam::ParkingThread::run() (this=0x1d81490) at /usr/src/debug/digikam-5.0.0/core/libs/threads/threadmanager.cpp:115
#3  0x00007f5c033ca32f in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007f5c059530a4 in start_thread () at /lib64/libpthread.so.0
#5  0x00007f5c02ac102d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f5bccb77700 (LWP 6726)):
#0  0x00007f5c0595703f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f5bf94ac733 in  () at /usr/lib64/libQt5WebKit.so.5
#2  0x00007f5bf94ac759 in  () at /usr/lib64/libQt5WebKit.so.5
#3  0x00007f5c059530a4 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f5c02ac102d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f5c07692880 (LWP 6710)):
[KCrash Handler]
#6  0x00007f5bd0658414 in QGstreamerBusHelper::installMessageFilter(QObject*) () at /usr/lib64/libqgsttools_p.so.1
#7  0x00007f5bd08af37b in  () at /usr/lib64/qt5/plugins/mediaservice/libgstmediaplayer.so
#8  0x00007f5bd08adbda in  () at /usr/lib64/qt5/plugins/mediaservice/libgstmediaplayer.so
#9  0x00007f5c020f6a51 in  () at /usr/lib64/libQt5MultimediaWidgets.so.5
#10 0x00007f5c020f6d28 in QVideoWidget::setMediaObject(QMediaObject*) () at /usr/lib64/libQt5MultimediaWidgets.so.5
#11 0x00007f5c00c73c41 in QMediaPlayer::setVideoOutput(QVideoWidget*) () at /usr/lib64/libQt5Multimedia.so.5
#12 0x00007f5c06ce1068 in Digikam::MediaPlayerView::MediaPlayerView(QWidget*) (this=0x2d747b0, parent=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/views/mediaplayerview.cpp:168
#13 0x00007f5c06cdfcfc in Digikam::StackedView::StackedView(QWidget*) (this=0x1cabb40, parent=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/views/stackedview.cpp:146
#14 0x00007f5c06cdaab0 in Digikam::DigikamView::DigikamView(QWidget*, Digikam::DigikamModelCollection*) (this=0x1cde8b0, parent=<optimized out>, modelCollection=0x1c9c750) at /usr/src/debug/digikam-5.0.0/core/app/views/digikamview.cpp:272
#15 0x00007f5c06c25afa in Digikam::DigikamApp::setupView() (this=this@entry=0x1bc6360) at /usr/src/debug/digikam-5.0.0/core/app/main/digikamapp.cpp:556
#16 0x00007f5c06c3fc96 in Digikam::DigikamApp::DigikamApp() (this=0x1bc6360, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/main/digikamapp.cpp:246
#17 0x0000000000408881 in main(int, char**) (argc=1, argv=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/main/main.cpp:200

Reported using DrKonqi
Comment 1 Thomas Rother 2016-08-05 09:15:58 UTC
The original crash was caused by a missing vdpau_drv_video.so. 
With installed VDPAU Driver Bridge for NVidia  driver we get the following lines:

...
libva info: va_openDriver() returns 0
digikam.facedb: FaceDB SelectFaceSetting val ret =  0
digikam.facedb: FaceDB SelectFaceSetting val ret =  0
digikam.facedb: Face database: have a structure version  "2"
digikam.facesengine: Face database ready for use
digikam.facesengine: Face database ready for use
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
libva info: VA-API version 0.38.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_0_38
libva info: va_openDriver() returns 0
KCrash: Application 'digikam' crashing...

and:

Application: digiKam (digikam), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f31f5428880 (LWP 6943))]

Thread 5 (Thread 0x7f31d243d700 (LWP 6944)):
#0  0x00007f31f084ebfd in poll () at /lib64/libc.so.6
#1  0x00007f31e3256422 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f31e325800f in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f31d45703c9 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f31f116032f in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007f31f36e90a4 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f31f085702d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f31d0a85700 (LWP 6945)):
#0  0x00007f31f36ed03f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f31f116134b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f31f4968800 in Digikam::ScanController::run() (this=0x7f31f527f780 <_ZZN7Digikam12_GLOBAL__N_113Q_QGS_creator13innerFunctionEvE6holder>) at /usr/src/debug/digikam-5.0.0/core/libs/database/utils/scancontroller.cpp:684
#3  0x00007f31f116032f in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007f31f36e90a4 in start_thread () at /lib64/libpthread.so.0
#5  0x00007f31f085702d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f31cbfff700 (LWP 6952)):
#0  0x00007f31f36ed03f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f31f116134b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f31f3f8c091 in Digikam::ParkingThread::run() (this=0x23c7230) at /usr/src/debug/digikam-5.0.0/core/libs/threads/threadmanager.cpp:115
#3  0x00007f31f116032f in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007f31f36e90a4 in start_thread () at /lib64/libpthread.so.0
#5  0x00007f31f085702d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f31bb7e3700 (LWP 6957)):
#0  0x00007f31f36ed03f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f31e7242733 in  () at /usr/lib64/libQt5WebKit.so.5
#2  0x00007f31e7242759 in  () at /usr/lib64/libQt5WebKit.so.5
#3  0x00007f31f36e90a4 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f31f085702d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f31f5428880 (LWP 6943)):
[KCrash Handler]
#6  0x00007f31be3e6414 in QGstreamerBusHelper::installMessageFilter(QObject*) () at /usr/lib64/libqgsttools_p.so.1
#7  0x00007f31be63d37b in  () at /usr/lib64/qt5/plugins/mediaservice/libgstmediaplayer.so
#8  0x00007f31be63bbda in  () at /usr/lib64/qt5/plugins/mediaservice/libgstmediaplayer.so
#9  0x00007f31efe8ca51 in  () at /usr/lib64/libQt5MultimediaWidgets.so.5
#10 0x00007f31efe8cd28 in QVideoWidget::setMediaObject(QMediaObject*) () at /usr/lib64/libQt5MultimediaWidgets.so.5
#11 0x00007f31eea09c41 in QMediaPlayer::setVideoOutput(QVideoWidget*) () at /usr/lib64/libQt5Multimedia.so.5
#12 0x00007f31f4a77068 in Digikam::MediaPlayerView::MediaPlayerView(QWidget*) (this=0x373b200, parent=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/views/mediaplayerview.cpp:168
#13 0x00007f31f4a75cfc in Digikam::StackedView::StackedView(QWidget*) (this=0x24576d0, parent=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/views/stackedview.cpp:146
#14 0x00007f31f4a70ab0 in Digikam::DigikamView::DigikamView(QWidget*, Digikam::DigikamModelCollection*) (this=0x2498990, parent=<optimized out>, modelCollection=0x238bab0) at /usr/src/debug/digikam-5.0.0/core/app/views/digikamview.cpp:272
#15 0x00007f31f49bbafa in Digikam::DigikamApp::setupView() (this=this@entry=0x23090c0) at /usr/src/debug/digikam-5.0.0/core/app/main/digikamapp.cpp:556
#16 0x00007f31f49d5c96 in Digikam::DigikamApp::DigikamApp() (this=0x23090c0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/main/digikamapp.cpp:246
#17 0x0000000000408881 in main(int, char**) (argc=1, argv=<optimized out>) at /usr/src/debug/digikam-5.0.0/core/app/main/main.cpp:200
Comment 2 Rex Dieter 2016-08-05 14:09:24 UTC
In both cases, the crash is not in digikam but in some qtmultimedia plugin (and is missing debug symbols, so cannot tell any more:

...

Thread 1 (Thread 0x7f31f5428880 (LWP 6943)):
[KCrash Handler]
#6  0x00007f31be3e6414 in QGstreamerBusHelper::installMessageFilter(QObject*)
() at /usr/lib64/libqgsttools_p.so.1
#7  0x00007f31be63d37b in  () at
/usr/lib64/qt5/plugins/mediaservice/libgstmediaplayer.so
#8  0x00007f31be63bbda in  () at
/usr/lib64/qt5/plugins/mediaservice/libgstmediaplayer.so


I encourage you to report this to your distro or Qt upstream (with debug symbols if possible)
Comment 3 caulier.gilles 2016-12-24 10:18:56 UTC
digiKam 5.4.0 bundles will use QtAV framework instead Qt5Multimedia to thumb
and play video/audio. The Slideshow tool will also support video as well.

QtAV use ffmpeg codecs. It's multi-platform and will always available in
OSX, Windows and Linux bundles that digiKam team provide.

For Linux packagers, you will need to turn on video support at compilation time
and solve QtAV dependencies...

See screenshots here :

https://www.flickr.com/photos/digikam/30886133553
https://www.flickr.com/photos/digikam/31679362466
https://www.flickr.com/photos/digikam/31572654722
https://www.flickr.com/photos/digikam/31726086736

Bundles have been recompiled are posted to GDrive for testing :

https://drive.google.com/drive/folders/0BzeiVr-byqt5Y0tIRWVWelRJenM