Bug 339092

Summary: Segmentation Fault when launching Digikam
Product: [Applications] digikam Reporter: Alphazo <alphazo>
Component: Preview-ImageAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: critical CC: caulier.gilles, pcfreak
Priority: NOR    
Version: 4.2.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.4.0
Sentry Crash Report:

Description Alphazo 2014-09-15 09:13:37 UTC
My Digikam databse is stored on a USB drive and I have been using that setup for years.
I typically start it using : digikam --database-directory /run/media/alpha/PHOTOS-DISK/PHOTOS/Digikam/

But now after few seconds of startup I get a crash.

Reproducible: Always

Steps to Reproduce:
# gdb --args digikam --database-directory /run/media/alpha/PHOTOS-DISK/PHOTOS/Digikam/
GNU gdb (GDB) 7.8
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from digikam...(no debugging symbols found)...done.
(gdb) catch throw
Catchpoint 1 (throw)
(gdb) run

Actual Results:  
Starting program: /usr/bin/digikam --database-directory /run/media/alpha/PHOTOS-DISK/PHOTOS/Digikam/
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffd1ab0700 (LWP 2184)]
[New Thread 0x7fffc7fed700 (LWP 2185)]
[New Thread 0x7fffc77ec700 (LWP 2186)]
Object::connect: No such signal org::freedesktop::UPower::DeviceAdded(QString)
Object::connect: No such signal org::freedesktop::UPower::DeviceRemoved(QString)
[New Thread 0x7fffc6feb700 (LWP 2187)]
QSqlDatabasePrivate::removeDatabase: connection 'ConnectionTest' is still in use, all queries will cease to work.
[Thread 0x7fffc6feb700 (LWP 2187) exited]
[New Thread 0x7fffc6feb700 (LWP 2215)]
[New Thread 0x7fffc569a700 (LWP 2217)]
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
kbuildsycoca4 running...

(digikam:2180): GLib-GObject-WARNING **: specified class size for type 'GstBaseAudioSink' is smaller than the parent type's 'GstBaseSink' class size

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(digikam:2180): GLib-GObject-WARNING **: specified class size for type 'GstCapsFilter' is smaller than the parent type's 'GstBaseTransform' class size

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(digikam:2180): GStreamer-CRITICAL **: gst_bin_add: assertion 'GST_IS_ELEMENT (element)' failed

(digikam:2180): GStreamer-CRITICAL **: gst_element_get_static_pad: assertion 'GST_IS_ELEMENT (element)' failed

(digikam:2180): GStreamer-CRITICAL **: gst_object_unref: assertion 'object != NULL' failed

(digikam:2180): GLib-GObject-WARNING **: specified class size for type 'GstBaseAudioSrc' is smaller than the parent type's 'GstPushSrc' class size

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(digikam:2180): GLib-GObject-WARNING **: specified class size for type 'GstAlsaSrc' is smaller than the parent type's 'GstAudioSrc' class size

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(digikam:2180): GLib-GObject-WARNING **: specified class size for type 'GstOss4Sink' is smaller than the parent type's 'GstAudioSink' class size

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed

(digikam:2180): GLib-GObject-WARNING **: specified class size for type 'GstOssSrc' is smaller than the parent type's 'GstAudioSrc' class size

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(digikam:2180): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(digikam:2180): GStreamer-CRITICAL **: gst_element_register: assertion 'g_type_is_a (type, GST_TYPE_ELEMENT)' failed

Program received signal SIGSEGV, Segmentation fault.
0x00007fffb7575a3e in ?? () from /usr/lib/gstreamer-0.10/libgstautodetect.so

Expected Results:  
Display the main window.
Comment 1 caulier.gilles 2014-09-15 09:22:54 UTC

*** This bug has been marked as a duplicate of bug 339027 ***
Comment 2 Alphazo 2014-09-15 09:27:18 UTC
I created another bug report similar to this one because 1) the proposed fix doesn't work for me 2) it is marked as "Resolved" (and I don't know how to change the status).

I'm building Digikam at the moment with full debug information so I can post more details.

Thanks
Alphazo
Comment 3 caulier.gilles 2014-09-15 09:29:03 UTC
The problem is relevant of Phonon KDE component used to play video in digiKam.

A backend used by Photo (GStreamer) crash...

It's not a digiKam problem, but a problem from a 3rd party component on your system.

Gilles Caulier
Comment 4 Alphazo 2014-09-15 09:40:25 UTC
Thanks for the pointer. I solved the problem after installing phonon-qt4-vlc (the other bug repot mentioned phonon-qt5-vlc).
Comment 5 PCFreak 2014-09-15 18:39:24 UTC
I think installing

phonon-qt4-vlc or phonon-qt5-vlc is not the fix for this problem.

I had this error similar to others in this thread
0x00007fffb7575a3e in ?? () from /usr/lib/gstreamer-0.10/libgstautodetect.so
So I renamed /usr/lib/gstreamer-0.10/libgstautodetect.so to /usr/lib/gstreamer-0.10/libgstautodetect.so.bak and digikam started without problems.

So I think there is a problem in one of gstreamers components (libgstautodetect.so) which is from

extra/gst-plugins-good
extra/gstreamer0.10-good

I just reinstalled the above with

pacman -S gst-plugins-good gstreamer0.10-good

and digikam works again.

I recently remove archlinuxfr from my pacman.conf because of some problems, maybe some glitch from archlinuxfr caused this? - Any ideas.
Comment 6 caulier.gilles 2016-12-24 09:51:20 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