Bug 220371 - 4.1.1: Random crashes when viewing thumbs or images
Summary: 4.1.1: Random crashes when viewing thumbs or images
Status: RESOLVED UPSTREAM
Alias: None
Product: kphotoalbum
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR normal
Target Milestone: ---
Assignee: KPhotoAlbum Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-28 11:52 UTC by Risto H. Kurppa
Modified: 2010-01-17 22:45 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Risto H. Kurppa 2009-12-28 11:52:31 UTC
Kubuntu Karmic (9.10), KDE 4.3.4, KPhotoalbum 4.1.1.

KPA sometimes crashes when either showing a long list of thumbs or opening an image to show it in viewer. Here's a backtrace:

Application: KPhotoAlbum (kphotoalbum), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fc2de4bf750 (LWP 5518))]

Thread 3 (Thread 0x7fc2cca5d910 (LWP 5529)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007fc2d8e44a93 in _L_lock_9264 () from /lib/libc.so.6
#2  0x00007fc2d8e42701 in *__GI___libc_free (mem=0x7fc2b8000020) at malloc.c:3714
#3  0x00007fc2d8e5dae7 in tzset_internal (always=<value optimized out>, explicit=<value optimized out>) at tzset.c:435
#4  0x00007fc2d8e5ddf0 in __tzset () at tzset.c:592
#5  0x00007fc2d9968467 in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007fc2d9968845 in QDateTime::setTime_t(unsigned int) () from /usr/lib/libQtCore.so.4
#7  0x00007fc2d9a25bdc in QFSFileEngine::fileTime(QAbstractFileEngine::FileTime) const () from /usr/lib/libQtCore.so.4
#8  0x00007fc2d99df8ac in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007fc2d99df98b in QFileInfo::lastModified() const () from /usr/lib/libQtCore.so.4
#10 0x00000000004eb6ea in ?? ()
#11 0x00000000004ebc7e in ?? ()
#12 0x00007fc2d995b625 in ?? () from /usr/lib/libQtCore.so.4
#13 0x00007fc2d8bb2a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#14 0x00007fc2d8ea77bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#15 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc2c7866910 (LWP 5530)):
[KCrash Handler]
#5  0x00007fc2d8e3f40a in _int_free (av=0x7fc2b8000020, p=0x7fc2b8030170) at malloc.c:4912
#6  0x00007fc2d8e4270c in *__GI___libc_free (mem=<value optimized out>) at malloc.c:3716
#7  0x00007fc2d995e8d8 in QByteArray::resize(int) () from /usr/lib/libQtCore.so.4
#8  0x00007fc2d99e6f77 in QIODevice::read(char*, long long) () from /usr/lib/libQtCore.so.4
#9  0x00007fc2cfa5a342 in ?? () from /usr/lib/qt4/plugins/imageformats/libqtiff.so
#10 0x00007fc2cf82b6d9 in ?? () from /usr/lib/libtiff.so.4
#11 0x00007fc2cf82b8b8 in TIFFFillStrip () from /usr/lib/libtiff.so.4
#12 0x00007fc2cf82ba18 in TIFFReadScanline () from /usr/lib/libtiff.so.4
#13 0x00007fc2cfa5a985 in ?? () from /usr/lib/qt4/plugins/imageformats/libqtiff.so
#14 0x00007fc2da700b03 in QImageReader::read(QImage*) () from /usr/lib/libQtGui.so.4
#15 0x00007fc2da70106c in QImageReader::read() () from /usr/lib/libQtGui.so.4
#16 0x00007fc2da6f44b6 in QImage::load(QString const&, char const*) () from /usr/lib/libQtGui.so.4
#17 0x00000000004eacd2 in ?? ()
#18 0x00000000004ebc3a in ?? ()
#19 0x00007fc2d995b625 in ?? () from /usr/lib/libQtCore.so.4
#20 0x00007fc2d8bb2a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#21 0x00007fc2d8ea77bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#22 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 1 (Thread 0x7fc2de4bf750 (LWP 5518)):
#0  0x00007fc2d8e9b373 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fc2d30bb29a in ?? () from /usr/lib/libxcb.so.1
#2  0x00007fc2d30bb7d7 in ?? () from /usr/lib/libxcb.so.1
#3  0x00007fc2d30bba85 in xcb_writev () from /usr/lib/libxcb.so.1
#4  0x00007fc2d846cd4a in _XSend () from /usr/lib/libX11.so.6
#5  0x00007fc2d846ce89 in _XReply () from /usr/lib/libX11.so.6
#6  0x00007fc2d84497f5 in XGetImage () from /usr/lib/libX11.so.6
#7  0x00007fc2da721923 in QX11PixmapData::toImage() const () from /usr/lib/libQtGui.so.4
#8  0x00007fc2da70da50 in QPixmap::toImage() const () from /usr/lib/libQtGui.so.4
#9  0x00007fc2da6c9d60 in QWidgetPrivate::setWindowIcon_sys(bool) () from /usr/lib/libQtGui.so.4
#10 0x00007fc2da683758 in QWidget::create(unsigned long, bool, bool) () from /usr/lib/libQtGui.so.4
#11 0x00007fc2da683ecf in QWidget::winId() const () from /usr/lib/libQtGui.so.4
#12 0x00000000004a5ad8 in ?? ()
#13 0x00000000004dc375 in ?? ()
#14 0x00000000004dc7de in ?? ()
#15 0x00000000004e0b51 in ?? ()
#16 0x00007fc2d9a61933 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#17 0x000000000043efa0 in _start ()
The current source language is "auto; currently c".
Comment 1 Risto H. Kurppa 2009-12-28 12:07:16 UTC
Here's another one I got when launching annotation dialog:

Application: KPhotoAlbum (kphotoalbum), signal: Aborted
__lll_lock_wait_private ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
The current source language is "auto; currently asm".
[Current thread is 1 (Thread 0x7f91dbef6750 (LWP 5571))]

Thread 3 (Thread 0x7f91ca494910 (LWP 5573)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f91d687ba93 in _L_lock_9264 () from /lib/libc.so.6
#2  0x00007f91d6879701 in *__GI___libc_free (mem=0x7f91d6b69e40) at malloc.c:3714
#3  0x00007f91d6894ae7 in tzset_internal (always=<value optimized out>, explicit=<value optimized out>) at tzset.c:435
#4  0x00007f91d6894df0 in __tzset () at tzset.c:592
#5  0x00007f91d739f467 in ?? () from /usr/lib/libQtCore.so.4
#6  0x00007f91d739f845 in QDateTime::setTime_t(unsigned int) () from /usr/lib/libQtCore.so.4
#7  0x00007f91d745cbdc in QFSFileEngine::fileTime(QAbstractFileEngine::FileTime) const () from /usr/lib/libQtCore.so.4
#8  0x00007f91d74168ac in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f91d741698b in QFileInfo::lastModified() const () from /usr/lib/libQtCore.so.4
#10 0x00000000004eb6ea in ?? ()
#11 0x00000000004ebc7e in ?? ()
#12 0x00007f91d7392625 in ?? () from /usr/lib/libQtCore.so.4
#13 0x00007f91d65e9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#14 0x00007f91d68de7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#15 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f91c9418910 (LWP 5574)):
[KCrash Handler]
#5  0x00007f91d68324b5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f91d6835f50 in *__GI_abort () at abort.c:92
#7  0x00007f91d686ac97 in __libc_message (do_abort=<value optimized out>, fmt=<value optimized out>) at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#8  0x00007f91d6874dd6 in malloc_printerr (action=3, str=0x7f91d6936710 "double free or corruption (!prev)", ptr=<value optimized out>) at malloc.c:6217
#9  0x00007f91d687970c in *__GI___libc_free (mem=<value optimized out>) at malloc.c:3716
#10 0x00007f91d812a805 in QImageData::~QImageData() () from /usr/lib/libQtGui.so.4
#11 0x00007f91d812b05c in QImage::operator=(QImage const&) () from /usr/lib/libQtGui.so.4
#12 0x00000000004ebb97 in ?? ()
#13 0x00007f91d7392625 in ?? () from /usr/lib/libQtCore.so.4
#14 0x00007f91d65e9a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#15 0x00007f91d68de7bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#16 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f91dbef6750 (LWP 5571)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007f91d687ba93 in _L_lock_9264 () from /lib/libc.so.6
#2  0x00007f91d6879701 in *__GI___libc_free (mem=0x7f91d6b69e40) at malloc.c:3714
#3  0x00007f91d73d72cc in QString::free(QString::Data*) () from /usr/lib/libQtCore.so.4
#4  0x00007f91d6837c12 in __run_exit_handlers (status=1) at exit.c:78
#5  *__GI_exit (status=1) at exit.c:100
#6  0x00007f91d80d8578 in ?? () from /usr/lib/libQtGui.so.4
#7  0x00007f91d9523838 in KApplication::xioErrhandler(_XDisplay*) () from /usr/lib/libkdeui.so.5
#8  0x00007f91d5e9bfae in _XIOError () from /usr/lib/libX11.so.6
#9  0x00007f91d5ea39a5 in ?? () from /usr/lib/libX11.so.6
#10 0x00007f91d5ea4257 in _XEventsQueued () from /usr/lib/libX11.so.6
#11 0x00007f91d5e8d01b in XEventsQueued () from /usr/lib/libX11.so.6
#12 0x00007f91d81123c7 in ?? () from /usr/lib/libQtGui.so.4
#13 0x00007f91d228edba in g_main_context_prepare () from /lib/libglib-2.0.so.0
#14 0x00007f91d228f191 in ?? () from /lib/libglib-2.0.so.0
#15 0x00007f91d228f6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#16 0x00007f91d74af193 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0x00007f91d811219e in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007f91d748875f in QCoreApplication::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#19 0x000000000050f99e in ?? ()
#20 0x000000000050fed1 in ?? ()
#21 0x000000000050fed1 in ?? ()
#22 0x000000000051042f in ?? ()
#23 0x000000000050c07f in ?? ()
#24 0x000000000050cbba in ?? ()
#25 0x000000000046c810 in ?? ()
#26 0x00007f91d7498933 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#27 0x00007f91d74955a3 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#28 0x00007f91d8063ddc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#29 0x00007f91d806a3dd in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#30 0x00007f91d9523e56 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#31 0x00007f91d7485bbc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#32 0x00007f91d74b28c2 in ?? () from /usr/lib/libQtCore.so.4
#33 0x00007f91d74af4a4 in ?? () from /usr/lib/libQtCore.so.4
#34 0x00007f91d228bbce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#35 0x00007f91d228f598 in ?? () from /lib/libglib-2.0.so.0
#36 0x00007f91d228f6c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#37 0x00007f91d74af193 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#38 0x00007f91d811219e in ?? () from /usr/lib/libQtGui.so.4
#39 0x00007f91d74844e2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#40 0x00007f91d74848bc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#41 0x00007f91d74885fb in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#42 0x00000000004432d8 in _start ()
The current source language is "auto; currently c".
The current source language is "auto; currently asm".
Comment 2 Risto H. Kurppa 2009-12-28 12:15:24 UTC
One more when scrolling down thumb view as KPA was loading images:


Application: KPhotoAlbum (kphotoalbum), signal: Segmentation fault
__lll_lock_wait_private ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
	in ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S
The current source language is "auto; currently asm".
[Current thread is 1 (Thread 0x7fa0c873e750 (LWP 5581))]

Thread 3 (Thread 0x7fa0b6cdc910 (LWP 5654)):
[KCrash Handler]
#5  _int_malloc (av=0x7fa0c33b1e40, bytes=24) at malloc.c:4311
#6  0x00007fa0c30c17ee in *__GI___libc_malloc (bytes=24) at malloc.c:3638
#7  0x00007fa0c3bf8add in QListData::detach3() () from /usr/lib/libQtCore.so.4
#8  0x00007fa0c3c63a1c in QIODevicePrivate::QIODevicePrivate() () from /usr/lib/libQtCore.so.4
#9  0x00007fa0c3c5a284 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007fa0c3c5a9fe in QFile::QFile(QString const&) () from /usr/lib/libQtCore.so.4
#11 0x00007fa0c49818d4 in QImageWriter::QImageWriter(QString const&, QByteArray const&) () from /usr/lib/libQtGui.so.4
#12 0x00007fa0c496c696 in QImage::save(QString const&, char const*, int) const () from /usr/lib/libQtGui.so.4
#13 0x00000000004f3c52 in ?? ()
#14 0x00000000004eb81f in ?? ()
#15 0x00000000004ebc7e in ?? ()
#16 0x00007fa0c3bda625 in ?? () from /usr/lib/libQtCore.so.4
#17 0x00007fa0c2e31a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#18 0x00007fa0c31267bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#19 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fa0b1b1c910 (LWP 5655)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007fa0c30c3a93 in _L_lock_9264 () from /lib/libc.so.6
#2  0x00007fa0c30c1701 in *__GI___libc_free (mem=0x7fa0c33b1e40) at malloc.c:3714
#3  0x00007fa0c7b87c8a in ?? () from /usr/lib/libjpeg.so.62
#4  0x00007fa0c7b87d68 in ?? () from /usr/lib/libjpeg.so.62
#5  0x00007fa0c7b87120 in jpeg_destroy () from /usr/lib/libjpeg.so.62
#6  0x00000000005b20fa in ?? ()
#7  0x00000000005b24b1 in ?? ()
#8  0x00000000004eac34 in ?? ()
#9  0x00000000004ebc3a in ?? ()
#10 0x00007fa0c3bda625 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007fa0c2e31a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#12 0x00007fa0c31267bd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 1 (Thread 0x7fa0c873e750 (LWP 5581)):
#0  __lll_lock_wait_private () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:97
#1  0x00007fa0c30c3a93 in _L_lock_9264 () from /lib/libc.so.6
#2  0x00007fa0c30c1701 in *__GI___libc_free (mem=0x7fa0c33b1e40) at malloc.c:3714
#3  0x00007fa0c3cf7601 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007fa0bead6aaa in g_main_context_check () from /lib/libglib-2.0.so.0
#5  0x00007fa0bead7290 in ?? () from /lib/libglib-2.0.so.0
#6  0x00007fa0bead76c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#7  0x00007fa0c3cf7193 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x00007fa0c495a19e in ?? () from /usr/lib/libQtGui.so.4
#9  0x00007fa0c3ccc4e2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0x00007fa0c3ccc8bc in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x00007fa0c3cd05fb in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#12 0x00000000004432d8 in _start ()
The current source language is "auto; currently asm".
Comment 3 Jesper Pedersen 2009-12-28 16:58:55 UTC
None of these rings any bells with me I'm afraid. All the different crashes indicates to me that it might be the image loading thread that is crashing the application, still that leads me nowhere closer a solution.
Comment 4 Risto H. Kurppa 2009-12-30 11:07:05 UTC
ok, we discussed this on IRC with Jesper - looks like that I have some damaged image files around that crash both KPA and Gwenview. I'll report this elsewhere.
Comment 5 Risto H. Kurppa 2010-01-17 22:35:23 UTC
If anyone has any idea how to find the images that cause the crash, I'd appreciate it a lot...
Comment 6 Risto H. Kurppa 2010-01-17 22:45:38 UTC
The upstream bug is https://bugs.kde.org/show_bug.cgi?id=212807