Bug 210580 - digiKam crashes on PPC Linux when changing thumbnail size
Summary: digiKam crashes on PPC Linux when changing thumbnail size
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Runtime (show other bugs)
Version: 1.0.0
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-14 19:23 UTC by Vlado Plaga
Modified: 2012-06-27 11:12 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 1.0.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vlado Plaga 2009-10-14 19:23:42 UTC
Version:           1.0beta5 (using KDE 4.3.2)
OS:                Linux
Installed from:    Debian testing/unstable Packages

My main system currently is a PPC (a G4 iMac) with Debian unstable on it. For quite some time I could neither use Debian's digiKam packages (1.0beta2, 1.0beta3, and 1.0beta4), nor compile my own version and use that. It always crashes at some point: not only when adjusting the thumbnail size with the slider, but that is way to always make it crash instantly.

The problem is not a Debian-only problem: I tried digiKam 1.0beta5 on an up-to-date Fedora 11 system, and the situation was identical: I could change albums a few time, add some ratings, but as soon as I tried to change the thumbnail size, digiKam crashed.

Once a crash happend, it is necessary to remove the file "thumbnails-digikam.db", or digiKam will always crash again when just changing to the album where it crashed last time.

I will add output collected by kcrash from a "start after a crash", when my self-compiled digiKam in Fedora crashed again on startup.

I can still use digiKam 0.10 as provided by Fedora 11, or compile digiKam 0.10 for Debian unstable.

But to help fixing this bug I could compile digiKam 1.0beta again with a certain debug level, to provide more information, if necessary. I hope it is possible for you developers to fix this, even though you might not have access to a PPC!

KCrash report:
Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x48e42e40 (LWP 22662))]

Thread 14 (Thread 0x4ac433e0 (LWP 22663)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x102d6878 in Digikam::ScanController::run (this=0x10cda9f8) at /home/vlado/src/digikam-1.0.0-beta5/digikam/scancontroller.cpp:499
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 13 (Thread 0x507673e0 (LWP 22664)):
#0  0x0fee1dc0 in poll () from /lib/libc.so.6
#1  0x0f94a4b4 in g_poll () from /lib/libglib-2.0.so.0
#2  0x0f9398dc in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x0e381c04 in Digikam::ImageFilterModelWorker::Thread::run (this=<value optimized out>) at /home/vlado/src/digikam-1.0.0-beta5/libs/models/imagefiltermodelthreads.h:66
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 12 (Thread 0x512ff3e0 (LWP 22665)):
#0  0x0fc99228 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x0f939810 in ?? () from /lib/libglib-2.0.so.0
#2  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x0e381c04 in Digikam::ImageFilterModelWorker::Thread::run (this=<value optimized out>) at /home/vlado/src/digikam-1.0.0-beta5/libs/models/imagefiltermodelthreads.h:66
#8  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#9  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#10 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 11 (Thread 0x51cff3e0 (LWP 22666)):
[KCrash Handler]
#5  0x0e5f9750 in CDecoder::DecodeBuffer (this=0x50847760) at /home/vlado/src/digikam-1.0.0-beta5/libs/3rdparty/libpgf/Decoder.cpp:446
#6  0x0e5f9890 in CDecoder::DequantizeValue (this=0x50847760, band=<value optimized out>, bandPos=<value optimized out>, quantParam=<value optimized out>)
    at /home/vlado/src/digikam-1.0.0-beta5/libs/3rdparty/libpgf/Decoder.cpp:395
#7  0x0e5f9a14 in CDecoder::Partition (this=0x50847760, band=0x5082093c, quantParam=0, width=<value optimized out>, height=<value optimized out>, startPos=0, pitch=64)
    at /home/vlado/src/digikam-1.0.0-beta5/libs/3rdparty/libpgf/Decoder.cpp:212
#8  0x0e603244 in CSubband::PlaceTile (this=0x5082093c, decoder=@0x50847760, quantParam=0, tile=false, tileX=0, tileY=0) at /home/vlado/src/digikam-1.0.0-beta5/libs/3rdparty/libpgf/Subband.cpp:226
#9  0x0e6011f0 in CPGFImage::Read (this=0x51cfe408, level=0, cb=<value optimized out>, data=0x0) at /home/vlado/src/digikam-1.0.0-beta5/libs/3rdparty/libpgf/PGFimage.cpp:286
#10 0x0e604fd0 in Digikam::readPGFImageData (data=<value optimized out>, img=@0x51cfe920) at /home/vlado/src/digikam-1.0.0-beta5/libs/threadimageio/pgfutils.cpp:65
#11 0x0e5de40c in Digikam::ThumbnailCreator::loadFromDatabase (this=0x114219b8, info=@0x51cfea88) at /home/vlado/src/digikam-1.0.0-beta5/libs/threadimageio/thumbnailcreator.cpp:587
#12 0x0e5e1904 in Digikam::ThumbnailCreator::load (this=0x114219b8, path=@0x11f43d30) at /home/vlado/src/digikam-1.0.0-beta5/libs/threadimageio/thumbnailcreator.cpp:185
#13 0x0e5e92b4 in Digikam::ThumbnailLoadingTask::execute (this=0x11f43d20) at /home/vlado/src/digikam-1.0.0-beta5/libs/threadimageio/thumbnailtask.cpp:130
#14 0x0e5bd558 in Digikam::LoadSaveThread::run (this=0x11421190) at /home/vlado/src/digikam-1.0.0-beta5/libs/threadimageio/loadsavethread.cpp:139
#15 0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#16 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#17 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 10 (Thread 0x526ff3e0 (LWP 22667)):
#0  0x0fc9abb0 in pthread_mutex_unlock () from /lib/libpthread.so.0
#1  0x0f938e7c in g_main_context_check () from /lib/libglib-2.0.so.0
#2  0x0f9397cc in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x102cdf40 in Digikam::MetadataManagerWorker::Thread::run (this=<value optimized out>) at /home/vlado/src/digikam-1.0.0-beta5/digikam/metadatamanager_p.h:145
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 9 (Thread 0x530ff3e0 (LWP 22668)):
#0  0x0fc9e198 in pthread_once () from /lib/libpthread.so.0
#1  0x480ca550 in QThreadData::current() () from /usr/lib/libQtCore.so.4
#2  0x482222d4 in ?? () from /usr/lib/libQtCore.so.4
#3  0x0f938e88 in g_main_context_check () from /lib/libglib-2.0.so.0
#4  0x0f9397cc in ?? () from /lib/libglib-2.0.so.0
#5  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#6  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#8  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#9  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#10 0x102cdf40 in Digikam::MetadataManagerWorker::Thread::run (this=<value optimized out>) at /home/vlado/src/digikam-1.0.0-beta5/digikam/metadatamanager_p.h:145
#11 0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#12 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#13 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 8 (Thread 0x53aff3e0 (LWP 22669)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x0e5bd5c0 in Digikam::LoadSaveThread::run (this=0x11435808) at /home/vlado/src/digikam-1.0.0-beta5/libs/threadimageio/loadsavethread.cpp:136
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 7 (Thread 0x55b063e0 (LWP 22670)):
#0  0x0fc9c7e8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x550b0d58 in ?? () from /usr/lib/libxine.so.1
#2  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#3  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 6 (Thread 0x56a123e0 (LWP 22671)):
#0  0x0fee5628 in select () from /lib/libc.so.6
#1  0x550e1370 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x550c21ac in ?? () from /usr/lib/libxine.so.1
#3  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#4  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 5 (Thread 0x574123e0 (LWP 22672)):
#0  0x0fee1dbc in poll () from /lib/libc.so.6
#1  0x0f94a4b4 in g_poll () from /lib/libglib-2.0.so.0
#2  0x0f9398dc in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x0dcb39b0 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 4 (Thread 0x57e123e0 (LWP 22673)):
#0  0x0fee1dbc in poll () from /lib/libc.so.6
#1  0x55b3fadc in ?? () from /usr/lib/libpulse.so.0
#2  0x55b2a7b0 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x55b2ac74 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x55b2ad58 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x55b3fb90 in ?? () from /usr/lib/libpulse.so.0
#6  0x55ba7ba4 in ?? () from /usr/lib/libpulsecommon-0.9.15.so
#7  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#8  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 3 (Thread 0x5c8133e0 (LWP 22674)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x550c5f54 in ?? () from /usr/lib/libxine.so.1
#2  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#3  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 2 (Thread 0x5d2133e0 (LWP 22675)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x0e5bd5c0 in Digikam::LoadSaveThread::run (this=0x11c44e38) at /home/vlado/src/digikam-1.0.0-beta5/libs/threadimageio/loadsavethread.cpp:136
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 1 (Thread 0x48e42e40 (LWP 22662)):
#0  0x0ff00578 in __libc_disable_asynccancel () from /lib/libc.so.6
#1  0x0fee1dd4 in poll () from /lib/libc.so.6
#2  0x0fa97060 in ?? () from /usr/lib/libxcb.so.1
#3  0x0fa97680 in ?? () from /usr/lib/libxcb.so.1
#4  0x0fa97a7c in xcb_writev () from /usr/lib/libxcb.so.1
#5  0x0fb21138 in _XSend () from /usr/lib/libX11.so.6
#6  0x0fb218bc in _XFlush () from /usr/lib/libX11.so.6
#7  0x0f635ef8 in XRenderChangePicture () from /usr/lib/libXrender.so.1
#8  0x486364ec in ?? () from /usr/lib/libQtGui.so.4
#9  0x48636dd0 in ?? () from /usr/lib/libQtGui.so.4
#10 0x48577444 in ?? () from /usr/lib/libQtGui.so.4
#11 0x48577594 in ?? () from /usr/lib/libQtGui.so.4
#12 0x485872cc in QPainter::drawPath(QPainterPath const&) () from /usr/lib/libQtGui.so.4
#13 0x48588f88 in QPainter::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) () from /usr/lib/libQtGui.so.4
#14 0x0e22b644 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#15 0x0e22ffd4 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#16 0x0e23ba3c in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#17 0x01261d70 in KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib/libkdeui.so.5
#18 0x0e230af4 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#19 0x48771fdc in QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const () from /usr/lib/libQtGui.so.4
#20 0x0125bc28 in KStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) const () from /usr/lib/libkdeui.so.5
#21 0x0e2305fc in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#22 0x488cd51c in QScrollBar::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#23 0x48498804 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#24 0x4880fb74 in QAbstractSlider::event(QEvent*) () from /usr/lib/libQtGui.so.4
#25 0x488cdf78 in QScrollBar::event(QEvent*) () from /usr/lib/libQtGui.so.4
#26 0x48431bf8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#27 0x4843a810 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#28 0x0124addc in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#29 0x481ec2a0 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#30 0x484a1498 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#31 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#32 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#33 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#34 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#35 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#36 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#37 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#38 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#39 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#40 0x484a1b50 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#41 0x484a1b50 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#42 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#43 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#44 0x484a1b50 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#45 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#46 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#47 0x484a1b50 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#48 0x484a1b50 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#49 0x484a1b50 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#50 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#51 0x48646b1c in ?? () from /usr/lib/libQtGui.so.4
#52 0x4848fbb4 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#53 0x484988f8 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#54 0x488862dc in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#55 0x0134ea24 in KMainWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#56 0x0139d020 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#57 0x48431bf8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#58 0x4843a810 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#59 0x0124addc in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#60 0x481ec2a0 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#61 0x48643bf4 in ?? () from /usr/lib/libQtGui.so.4
#62 0x4864739c in ?? () from /usr/lib/libQtGui.so.4
#63 0x48492ac4 in QWidget::repaint(QRect const&) () from /usr/lib/libQtGui.so.4
#64 0x48492c38 in QWidget::repaint() () from /usr/lib/libQtGui.so.4
#65 0x021dce04 in Q3ListView::updateContents() () from /usr/lib/libQt3Support.so.4
#66 0x0237ee60 in Q3ListView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQt3Support.so.4
#67 0x10283614 in Digikam::FolderView::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>)
    at /home/vlado/src/digikam-1.0.0-beta5/digikam/folderview.moc:69
#68 0x1020727c in Digikam::AlbumFolderView::qt_metacall (this=<value optimized out>, _c=<value optimized out>, _id=<value optimized out>, _a=<value optimized out>)
    at /home/vlado/src/digikam-1.0.0-beta5/digikam/albumfolderview.moc:91
#69 0x48207d28 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#70 0x48208adc in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#71 0x4824e310 in QTimer::timeout() () from /usr/lib/libQtCore.so.4
#72 0x4820f6f4 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib/libQtCore.so.4
#73 0x48200780 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#74 0x48431bf8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#75 0x4843a810 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#76 0x0124addc in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#77 0x481ec2a0 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#78 0x48225308 in ?? () from /usr/lib/libQtCore.so.4
#79 0x48221d98 in ?? () from /usr/lib/libQtCore.so.4
#80 0x0f935110 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#81 0x0f939a98 in ?? () from /lib/libglib-2.0.so.0
#82 0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#83 0x48221c84 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#84 0x484e2130 in ?? () from /usr/lib/libQtGui.so.4
#85 0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#86 0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#87 0x481ed724 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#88 0x48431980 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#89 0x103783d4 in main (argc=<value optimized out>, argv=<value optimized out>) at /home/vlado/src/digikam-1.0.0-beta5/digikam/main.cpp:186
Comment 1 Andi Clemens 2009-10-14 19:30:26 UTC
Crash seems to happen in libPGF...?
Comment 2 caulier.gilles 2009-10-15 08:28:11 UTC
Andi,

It's not clear if it's libpgf which crash there.

Anyway, current code from svn has a new libpgf version code...

Gilles
Comment 3 Andi Clemens 2009-10-15 10:51:33 UTC
I just thought because the crash seems to happen in Thread11 in some libPGF method...
Comment 4 Vlado Plaga 2009-10-15 12:52:24 UTC
Ok, I tried the current SVN version. It runs and crashes on my computer like the previous betas. The version digikam reports is:

Version 1.0.0-beta6 (rev.: 1035472)
Using KDE 4.3.1 (KDE 4.3.1)

Gilles: I did a "diff -r" with "libs/3rdparty/libpgf" from beta4 and the svn checkout, but they seem to be identical. I don't really understand the debug information I attached, but libpgf sounds like a good candidate for searching for the bug. I looked into libpgf/Decoder.cpp and there are some blocks with
"#ifdef __BIGENDIAN__" which are relevant on my PPC computer ( http://en.wikipedia.org/wiki/Endianness ). Endianness has been the source of other bugs before, like in a recent PHP version:
http://bugs.php.net/bug.php?id=48276

I'm once again including the kcrash output, although I don't think it contains a lot of new information.

But before that there's one side issue: I followed the instructions on the digiKam website for checking out and compiling the svn version:
http://www.digikam.org/drupal/download?q=download/KDE4

There is a broken link in the last paragraph on that page:

"see here for KDE4.2: [Kubuntu howto]"
http://wiki.kde.org/tiki-index.php?page=Digikam+Compilation+on+Kubuntu+Intrepid

Why does it say "see here for KDE4.2" anyway? Are the instructions on the digiKam website for a newer or an older release?

Maybe the paragraph should be changed to something like "see [KDE TechBase] for more detailed instructions when using Ubuntu 9.04"?
http://techbase.kde.org/Projects/Digikam/Compilation_on_Kubuntu

KCrash output:

Application: digiKam (digikam), signal: Segmentation fault
[Current thread is 1 (Thread 0x48e42e40 (LWP 23276))]

Thread 15 (Thread 0x4ae433e0 (LWP 23277)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x10399a68 in Digikam::ScanController::run (this=0x107af9c8) at /home/vlado/src/svn/graphics/digikam/digikam/scancontroller.cpp:499
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 14 (Thread 0x50e183e0 (LWP 23279)):
#0  0x0fc99228 in pthread_mutex_lock () from /lib/libpthread.so.0
#1  0x0f939250 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#2  0x0f9396cc in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x0e216264 in Digikam::ImageFilterModelWorker::Thread::run (this=0x10908d08) at /home/vlado/src/svn/graphics/digikam/libs/models/imagefiltermodelthreads.h:66
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 13 (Thread 0x519ff3e0 (LWP 23280)):
#0  0x0fee1dbc in poll () from /lib/libc.so.6
#1  0x0f94a4b4 in g_poll () from /lib/libglib-2.0.so.0
#2  0x0f9398dc in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x0e216264 in Digikam::ImageFilterModelWorker::Thread::run (this=0x112587b0) at /home/vlado/src/svn/graphics/digikam/libs/models/imagefiltermodelthreads.h:66
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 12 (Thread 0x523ff3e0 (LWP 23281)):
[KCrash Handler]
#5  0x0e55213c in CDecoder::BitplaneDecode (this=0x820000e4, bufferSize=8192) at /home/vlado/src/svn/graphics/digikam/libs/3rdparty/libpgf/Decoder.cpp:591
#6  0x0e551ae4 in CDecoder::DecodeBuffer (this=0x57ccf370) at /home/vlado/src/svn/graphics/digikam/libs/3rdparty/libpgf/Decoder.cpp:455
#7  0x0e5517ec in CDecoder::DequantizeValue (this=0x57ccf370, band=0x50f8623c, bandPos=0, quantParam=0) at /home/vlado/src/svn/graphics/digikam/libs/3rdparty/libpgf/Decoder.cpp:395
#8  0x0e550b7c in CDecoder::Partition (this=0x57ccf370, band=0x50f8623c, quantParam=0, width=64, height=43, startPos=0, pitch=64)
    at /home/vlado/src/svn/graphics/digikam/libs/3rdparty/libpgf/Decoder.cpp:212
#9  0x0e563ab4 in CSubband::PlaceTile (this=0x50f8623c, decoder=@0x57ccf370, quantParam=0, tile=false, tileX=0, tileY=0) at /home/vlado/src/svn/graphics/digikam/libs/3rdparty/libpgf/Subband.cpp:226
#10 0x0e5574b0 in CPGFImage::Read (this=0x523fe428, level=0, cb=0, data=0x0) at /home/vlado/src/svn/graphics/digikam/libs/3rdparty/libpgf/PGFimage.cpp:286
#11 0x0e567174 in Digikam::readPGFImageData (data=@0x523fe9c0, img=@0x523fe9c4) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/pgfutils.cpp:65
#12 0x0e52fb98 in Digikam::ThumbnailCreator::loadFromDatabase (this=0x11032d18, info=@0x523fead8) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/thumbnailcreator.cpp:587
#13 0x0e52d178 in Digikam::ThumbnailCreator::load (this=0x11032d18, path=@0x12091ca8) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/thumbnailcreator.cpp:185
#14 0x0e53bc7c in Digikam::ThumbnailLoadingTask::execute (this=0x12091c98) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/thumbnailtask.cpp:130
#15 0x0e50d088 in Digikam::LoadSaveThread::run (this=0x11292e08) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/loadsavethread.cpp:135
#16 0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#17 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#18 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 11 (Thread 0x52dff3e0 (LWP 23282)):
#0  0x0fee1dbc in poll () from /lib/libc.so.6
#1  0x0f94a4b4 in g_poll () from /lib/libglib-2.0.so.0
#2  0x0f9398dc in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x1038c890 in Digikam::MetadataManagerWorker::Thread::run (this=0x10fd3050) at /home/vlado/src/svn/graphics/build/digikam/digikam/../../../digikam/digikam/metadatamanager_p.h:143
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 10 (Thread 0x537ff3e0 (LWP 23283)):
#0  0x0fee1dbc in poll () from /lib/libc.so.6
#1  0x0f94a4b4 in g_poll () from /lib/libglib-2.0.so.0
#2  0x0f9398dc in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x1038c890 in Digikam::MetadataManagerWorker::Thread::run (this=0x108e5e88) at /home/vlado/src/svn/graphics/build/digikam/digikam/../../../digikam/digikam/metadatamanager_p.h:143
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 9 (Thread 0x541ff3e0 (LWP 23284)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x0e50cffc in Digikam::LoadSaveThread::run (this=0x10f91e58) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/loadsavethread.cpp:132
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 8 (Thread 0x55f953e0 (LWP 23285)):
#0  0x0fc9c7e8 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x50e46d58 in ?? () from /usr/lib/libxine.so.1
#2  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#3  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 7 (Thread 0x56a593e0 (LWP 23286)):
#0  0x0fee5628 in select () from /lib/libc.so.6
#1  0x50e77370 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x50e581ac in ?? () from /usr/lib/libxine.so.1
#3  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#4  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 6 (Thread 0x574593e0 (LWP 23287)):
#0  0x0fc9abe4 in pthread_mutex_unlock () from /lib/libpthread.so.0
#1  0x0f937640 in g_main_context_acquire () from /lib/libglib-2.0.so.0
#2  0x0f93960c in ?? () from /lib/libglib-2.0.so.0
#3  0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0x48221d0c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x480c6574 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x0daf49b0 in ?? () from /usr/lib/kde4/plugins/phonon_backend/phonon_xine.so
#9  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#10 0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#11 0x0feee6b0 in clone () from /lib/libc.so.6

Thread 5 (Thread 0x5be5a3e0 (LWP 23293)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x50e5bf54 in ?? () from /usr/lib/libxine.so.1
#2  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#3  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 4 (Thread 0x5c85a3e0 (LWP 23294)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x0e50cffc in Digikam::LoadSaveThread::run (this=0x11d79ce8) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/loadsavethread.cpp:132
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 3 (Thread 0x5d25a3e0 (LWP 23307)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x0e50cffc in Digikam::LoadSaveThread::run (this=0x12094840) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/loadsavethread.cpp:132
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 2 (Thread 0x588ff3e0 (LWP 23308)):
#0  0x0fc9c1ec in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x480cbe2c in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x0e50cffc in Digikam::LoadSaveThread::run (this=0x11e3e258) at /home/vlado/src/svn/graphics/digikam/libs/threadimageio/loadsavethread.cpp:132
#3  0x480ca948 in ?? () from /usr/lib/libQtCore.so.4
#4  0x0fc95d2c in start_thread () from /lib/libpthread.so.0
#5  0x0feee6b0 in clone () from /lib/libc.so.6

Thread 1 (Thread 0x48e42e40 (LWP 23276)):
#0  0x0fee1dbc in poll () from /lib/libc.so.6
#1  0x0fa97060 in ?? () from /usr/lib/libxcb.so.1
#2  0x0fa97680 in ?? () from /usr/lib/libxcb.so.1
#3  0x0fa97a7c in xcb_writev () from /usr/lib/libxcb.so.1
#4  0x0fb21138 in _XSend () from /usr/lib/libX11.so.6
#5  0x0fb218bc in _XFlush () from /usr/lib/libX11.so.6
#6  0x0faf2468 in XFreeGC () from /usr/lib/libX11.so.6
#7  0x4862d308 in ?? () from /usr/lib/libQtGui.so.4
#8  0x48579270 in QPainter::end() () from /usr/lib/libQtGui.so.4
#9  0x48579418 in QPainter::~QPainter() () from /usr/lib/libQtGui.so.4
#10 0x48866f50 in QFrame::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#11 0x489179f8 in QAbstractScrollArea::event(QEvent*) () from /usr/lib/libQtGui.so.4
#12 0x489d11ec in QAbstractItemView::event(QEvent*) () from /usr/lib/libQtGui.so.4
#13 0x489ed2d4 in QListView::event(QEvent*) () from /usr/lib/libQtGui.so.4
#14 0x48431bf8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#15 0x4843a810 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#16 0x0124addc in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#17 0x481ec2a0 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#18 0x484a1498 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#19 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#20 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#21 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#22 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#23 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#24 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#25 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#26 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#27 0x484a1c04 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#28 0x484a1160 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#29 0x48646b1c in ?? () from /usr/lib/libQtGui.so.4
#30 0x4848fbb4 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#31 0x484988f8 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#32 0x488862dc in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#33 0x0134ea24 in KMainWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#34 0x0139d020 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#35 0x48431bf8 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#36 0x4843a810 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#37 0x0124addc in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#38 0x481ec2a0 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#39 0x481ed384 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#40 0x481ed620 in QCoreApplication::sendPostedEvents(QObject*, int) () from /usr/lib/libQtCore.so.4
#41 0x48222288 in ?? () from /usr/lib/libQtCore.so.4
#42 0x0f935110 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#43 0x0f939a98 in ?? () from /lib/libglib-2.0.so.0
#44 0x0f939c48 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#45 0x48221c84 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#46 0x484e2130 in ?? () from /usr/lib/libQtGui.so.4
#47 0x481e9ebc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#48 0x481ea458 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#49 0x481ed724 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#50 0x48431980 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#51 0x10447ca0 in main (argc=1, argv=0xbfca9514) at /home/vlado/src/svn/graphics/digikam/digikam/main.cpp:186
Comment 5 Dario Andres 2009-10-16 23:01:44 UTC
The backtrace matches bug 201302, should them be merged?
Thanks
Comment 6 caulier.gilles 2009-10-16 23:06:37 UTC
I think yes...

gilles
Comment 7 Dario Andres 2009-10-16 23:10:49 UTC
Mh, I didn't read them all.. bug 201302 was fixed some time ago, and this crash is in a recent version... so I guess a) it is not the same crash, b) is the same crash but it was not fixed for all the cases... 
Sorry about the noise
Comment 8 Vlado Plaga 2009-10-19 13:17:31 UTC
Is there anything I can do now?

I looked at the bug Dario mentioned, but as he says in his second comment it does not look like the same issue, or not completely fixed. By the way: after days (!) of compiling I now have digiKam 0.10 on MacOS again (installed via Fink, without any problems). I might find time to try and compile 1.0beta5 there (digiKam alone takes "just" about three hours), but so far this is more of a Linux ussue to me. I consider switching to Ubuntu 9.10, so I can finally stop living with Debian "unstable", but if digiKam is currently broken on the powerpc architecture I could again not use the digiKam package provided by the distribution...
Comment 9 caulier.gilles 2009-10-19 13:21:48 UTC
To confirm the problem using libpgf under PPC, just try with this CMake option before to compile digiKam :

"-DENABLE_THUMB_DB=no"

This will not use database thumbnail based on PGF format to store icon view thumbs.

Gilles Caulier
Comment 10 Vlado Plaga 2009-10-19 23:55:17 UTC
Problem confirmed: with "-DENABLE_THUMBS_DB=no" digiKam does not crash anymore! (readers with PPCs: notice Gilles forgot a letter in the parameter).

What is next? Could you need more info from me?

Should I recommend ppc package maintainers to compile digiKam without libpgf? Ubuntu 9.10 is due to be published in 10 days, and their digiKam also crashes on my system...
Comment 11 Johannes Wienke 2009-10-20 00:18:15 UTC
I'd say it's a bug to report to the libpgf maintainers.
Comment 12 Vlado Plaga 2009-10-21 18:39:33 UTC
Ok, I just sent a message to the libpgf developers' mailing list:

http://sourceforge.net/mailarchive/forum.php?thread_name=20091021175231.298fb65c%40platypus.fritz.box&forum_name=libpgf-devel

But is libpgf really such an improvement over the previous method? Maybe it should be disabled by default until the issues are resolved. Powerpcs as desktops may be a negligible, dying species, but if it really is an endianness bug ARM processors would also be affected. ARM netbooks running Android or Ubuntu Linux could soon be a big competition to WinTel machines...

Or maybe configure could figure out what machine type it runs on and automatically set ENABLE_THUMBS_DB accordingly?
Comment 13 caulier.gilles 2009-10-22 13:01:42 UTC
Vlado,

I have contacted too Libpgf developper outside ML. no responses yet.

Agree. under PPC, Cmake must turn on "-DENABLE_THUMBS_DB=no" this option.

Do you know CMake ? Just a rule to check if PPC computer is detected musbe add at this place :

http://lxr.kde.org/source/extragear/graphics/digikam/CMakeLists.txt#6

Gilles Caulier
Comment 14 Raphael Schweizer 2009-10-22 13:39:18 UTC
Dear all

we just got hold of a G5 and will start investigating immediately.

Raphael
Comment 15 Vlado Plaga 2009-10-22 17:00:44 UTC
Dear Gilles,

thank you very much again for all this work you put into this great program!

Sorry, but I don't know much about cmake, and in the coming weeks I also won't have much time to explore it. But maybe Raphael can even fix the problem with thumbsdb?
Or someone else in the meantime finds a solution for the cmake file, maybe someone concerned with packaging digiKam for a Linux distribution?

Personally I like the idea of sharing thumbnails between different applications, or at least all KDE applications. But one significant limitation of the current .thumbnail definition (http://jens.triq.net/thumbnail-spec/ ) certainly is the amount of files that end up in a single directory. I found a proposal for nested thumbnail directories, which would drastically improve this system - too bad it seems not implemented yet:
http://lists.freedesktop.org/archives/xdg/2007-August/008750.html

But if ".thumbnails" improves, maybe one day digiKam no longer needs its private database?

Regards, Vlado
Comment 16 Raphael Schweizer 2009-10-29 14:20:14 UTC
Dear all

a new release (6.09.44) of libPGF and the console application is available on sourceforge (SVN rev 36). This version should fix the decoder crash on bigendian systems.

Please report any issues to the libpgf-devel mailinglist or via the sourceforge forum.

Regards,
Raphael
Comment 17 caulier.gilles 2009-10-29 15:26:51 UTC
Thanks Raphael

I will update code to digiKam core...

Gilles Caulier
Comment 18 caulier.gilles 2009-10-29 16:23:48 UTC
SVN commit 1042300 by cgilles:

update internal libpgf to last version 6.09.44
CCBUGS: 210580


 M  +0 -20     BitStream.h  
 M  +12 -15    Decoder.cpp  
 M  +1 -1      Decoder.h  
 M  +0 -300    Encoder.cpp  
 M  +1 -11     Encoder.h  
 M  +47 -25    PGFimage.cpp  
 M  +5 -5      PGFimage.h  
 M  +1 -1      PGFplatform.h  
 M  +48 -1     PGFtypes.h  
 M  +7 -2      Stream.cpp  
 M  +24 -8     Stream.h  
 M  +2 -1      Subband.cpp  
 M  +2 -0      Subband.h  
 M  +4 -4      WaveletTransform.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1042300
Comment 19 caulier.gilles 2009-10-29 16:28:52 UTC
To all PPC Mac OS X users,

Please update digiKam code from svn trunk where libpgf has been updated to last version which must fix crash, and please report in this room.

Thanks in advance

Gilles Caulier
Comment 20 Vlado Plaga 2009-10-30 22:32:30 UTC
Great, the current SVN digiKam no longer crashes on my PPC Linux system, when resizing thumbnails (with THUMBS_DB enabled)! The fix works!

Thanks to you two, Raphael and Gilles, for providing this fix!

By the way: I reported a compile time of about three hours, but that was only a rough estimate for MacOS. On Debian unstable compiling digiKam took slightly less than one hour, on my G4 iMac.

Regards, Vlado