Bug 176584 - Mousewheeling on a slideshow sometimes crash digikam
Summary: Mousewheeling on a slideshow sometimes crash digikam
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Generic-SlideShow (show other bugs)
Version: 0.10.0
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-30 23:07 UTC by Yann LE HIR
Modified: 2022-01-15 16:47 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 7.6.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yann LE HIR 2008-11-30 23:07:55 UTC
Version:           0.10.0-SVN-890995 (using KDE 4.1.3)
Compiler:          cmake 2.6, gcc 4.1.2 
OS:                Linux
Installed from:    Gentoo Packages

I was mousewheeling on a slideshow to pass some photos when digikam crashed. 
I managed to reproduce it but it tooks me sometime, the crash is not always on the same photos or at the same time.

I looked a little in the code but I found nothing.
I think it's related to thread lock.

Here is a backtrace :

Application : digiKam (digikam), signal SIGABRT
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]            
[New Thread 0xb4c75700 (LWP 15584)]                      
[New Thread 0xa78fcb90 (LWP 11747)]                      
[New Thread 0xa80fdb90 (LWP 11746)]                      
[New Thread 0xa9523b90 (LWP 15626)]                      
[New Thread 0xa9d24b90 (LWP 15625)]                      
[New Thread 0xad574b90 (LWP 15604)]                      
[New Thread 0xadd99b90 (LWP 15601)]                      
[New Thread 0xae9a5b90 (LWP 15600)]                      
[New Thread 0xaf1a6b90 (LWP 15599)]                      
[New Thread 0xaf9f8b90 (LWP 15591)]                      
[New Thread 0xb2c88b90 (LWP 15590)]                      
[New Thread 0xb244db90 (LWP 15589)]                      
[New Thread 0xb35f0b90 (LWP 15585)]                      
0xffffe424 in __kernel_vsyscall ()                       
[Current thread is 0 (LWP 15584)]                        

Thread 13 (Thread 0xb35f0b90 (LWP 15585)):
#0  0xffffe424 in __kernel_vsyscall ()    
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d96b44 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4   
#3  0x08282ec5 in Digikam::ScanController::run (this=0x842b748)              
    at /home/build/digikam_4.1/graphics/digikam/digikam/scancontroller.cpp:346
#4  0xb7d95b5f in ?? () from /usr/lib/qt4/libQtCore.so.4                      
#5  0xb7d0c45f in start_thread () from /lib/libpthread.so.0                   

Thread 12 (Thread 0xb244db90 (LWP 15589)):
#0  0xffffe424 in __kernel_vsyscall ()    
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d96b44 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4   
#3  0xb6b69895 in Digikam::LoadSaveThread::run (this=0x84b47c0)                                                                                                                                            
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:129                                                                                                                  
#4  0xb7d95b5f in ?? () from /usr/lib/qt4/libQtCore.so.4                                                                                                                                                   
#5  0xb7d0c45f in start_thread () from /lib/libpthread.so.0                                                                                                                                                
                                                                                                                                                                                                           
Thread 11 (Thread 0xb2c88b90 (LWP 15590)):                                                                                                                                                                 
#0  0xffffe424 in __kernel_vsyscall ()                                                                                                                                                                     
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0                                                                                                                              
#2  0xb7d96b44 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4                                                                                                                                 
#3  0xb6b69895 in Digikam::LoadSaveThread::run (this=0x84dd440)                                                                                                                                            
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:129                                                                                                                  
#4  0xb7d95b5f in ?? () from /usr/lib/qt4/libQtCore.so.4                                                                                                                                                   
#5  0xb7d0c45f in start_thread () from /lib/libpthread.so.0                                                                                                                                                

Thread 10 (Thread 0xaf9f8b90 (LWP 15591)):
#0  0xffffe424 in __kernel_vsyscall ()    
#1  0xb7d10a8c in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0                            
#2  0xb04e01b4 in ?? () from /usr/lib/libxine.so.1      
#3  0x085d9818 in ?? ()                                 
#4  0x085d9800 in ?? ()                                 
#5  0xaf9f836c in ?? ()                                 
#6  0xaf9f8374 in ?? ()                                 
#7  0x085d9800 in ?? ()                                 
#8  0x085d9818 in ?? ()                                 
#9  0xaf9f836c in ?? ()                                 
#10 0x49323981 in ?? ()                                 
#11 0x3400f918 in ?? ()                                 
#12 0x4932397c in ?? ()                                 
#13 0x000d501f in ?? ()                                 
#14 0xb7d1bff4 in ?? () from /lib/libpthread.so.0       
#15 0x00000000 in ?? ()                                 

Thread 9 (Thread 0xaf1a6b90 (LWP 15599)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb04ee8aa in ?? () from /usr/lib/libxine.so.1                           
#3  0x08624680 in ?? ()                                                      
#4  0x08624668 in ?? ()                                                      
#5  0xaf1a62c8 in ?? ()                                                      
#6  0x00000000 in ?? ()                                                      

Thread 8 (Thread 0xae9a5b90 (LWP 15600)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb52e3211 in select () from /lib/libc.so.6
#2  0xb050759a in xine_usec_sleep () from /usr/lib/libxine.so.1

Thread 7 (Thread 0xadd99b90 (LWP 15601)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb52e3211 in select () from /lib/libc.so.6
#2  0xb7eb7014 in QEventDispatcherUNIX::select ()
   from /usr/lib/qt4/libQtCore.so.4              
#3  0xb7eb808e in QEventDispatcherUNIXPrivate::doSelect ()
   from /usr/lib/qt4/libQtCore.so.4                       
#4  0xb7eb853a in QEventDispatcherUNIX::processEvents ()  
   from /usr/lib/qt4/libQtCore.so.4                       
#5  0xb7e89721 in QEventLoop::processEvents ()            
   from /usr/lib/qt4/libQtCore.so.4                       
#6  0xb7e898ad in QEventLoop::exec () from /usr/lib/qt4/libQtCore.so.4
#7  0xb7d929ab in QThread::exec () from /usr/lib/qt4/libQtCore.so.4   
#8  0xb0528548 in KConfigGroup::readCheck<int> ()                     
   from /usr/kde/4.1/lib/kde4/phonon_xine.so                          

Thread 6 (Thread 0xad574b90 (LWP 15604)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d96b44 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4   
#3  0xb6b69895 in Digikam::LoadSaveThread::run (this=0xa55e1e8)              
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:129
#4  0xb7d95b5f in ?? () from /usr/lib/qt4/libQtCore.so.4                                 
#5  0xb7d0c45f in start_thread () from /lib/libpthread.so.0                              

Thread 5 (Thread 0xa9d24b90 (LWP 15625)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d96b44 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4   
#3  0xb6b69895 in Digikam::LoadSaveThread::run (this=0xa1b8db8)              
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:129
#4  0xb7d95b5f in ?? () from /usr/lib/qt4/libQtCore.so.4                                 
#5  0xb7d0c45f in start_thread () from /lib/libpthread.so.0                              

Thread 4 (Thread 0xa9523b90 (LWP 15626)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d96b44 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4   
#3  0xb6b69895 in Digikam::LoadSaveThread::run (this=0xa209c88)              
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:129
#4  0xb7d95b5f in ?? () from /usr/lib/qt4/libQtCore.so.4                                 
#5  0xb7d0c45f in start_thread () from /lib/libpthread.so.0                              

Thread 3 (Thread 0xa80fdb90 (LWP 11746)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb52a8556 in nanosleep () from /lib/libc.so.6
#2  0xb52a8380 in sleep () from /lib/libc.so.6    
#3  0xb7a06301 in ?? () from /usr/kde/4.1/lib/libkdeui.so.5
#4  0x00000001 in ?? ()                                    
#5  0x00000002 in ?? ()                                    
#6  0x616d6f74 in ?? ()                                    
#7  0x6d736974 in ?? ()                                    
#8  0x61637365 in ?? ()                                    
#9  0xa80fa94e in ?? ()                                    
#10 0xa80fa94e in ?? ()                                    
#11 0x00000003 in ?? ()                                    
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 0xa78fcb90 (LWP 11747)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d96b44 in QWaitCondition::wait () from /usr/lib/qt4/libQtCore.so.4   
#3  0xb6b69895 in Digikam::LoadSaveThread::run (this=0x98c6d810)             
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:129
#4  0xb7d95b5f in ?? () from /usr/lib/qt4/libQtCore.so.4                                 
#5  0xb7d0c45f in start_thread () from /lib/libpthread.so.0                              

Thread 1 (Thread 0xb4c75700 (LWP 15584)):
#0  0xffffe424 in __kernel_vsyscall ()   
#1  0xb7d10806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d95353 in ?? () from /usr/lib/qt4/libQtCore.so.4
#3  0xb7d90905 in QMutex::lock () from /usr/lib/qt4/libQtCore.so.4
#4  0xb6b6ff71 in CacheLock (this=0xbf890708, cache=0x84b13c0)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadingcache.cpp:290
#5  0xb6b75ec5 in Digikam::SharedLoadingTask::setStatus (this=0xa1f385c0,
    status=Digikam::LoadingTask::LoadingTaskStatusStopping)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavetask.cpp:254
#6  0xb6b6c73e in Digikam::ManagedLoadSaveThread::loadPreview (
    this=0x98c71c58, description=@0xbf890864)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/managedloadsavethread.cpp:236
#7  0xb6b77ad3 in Digikam::PreviewLoadThread::load (this=0x98c71c58,
    description=@0xbf89094c)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/previewloadthread.cpp:43
#8  0xb6c224d2 in Digikam::SlideShow::loadNextImage (this=0x98c6d8b0)
    at /home/build/digikam_4.1/graphics/digikam/utilities/slideshow/slideshow.cpp:270
#9  0xb6c22631 in Digikam::SlideShow::slotNext (this=0x98c6d8b0)
    at /home/build/digikam_4.1/graphics/digikam/utilities/slideshow/slideshow.cpp:642
#10 0xb6c2278f in Digikam::SlideShow::wheelEvent (this=0x98c6d8b0,
    e=0xbf890e9c)
    at /home/build/digikam_4.1/graphics/digikam/utilities/slideshow/slideshow.cpp:657
#11 0xb5ff1b48 in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#12 0xb5f970b0 in QApplicationPrivate::notify_helper ()
   from /usr/lib/qt4/libQtGui.so.4
#13 0xb5f9cb57 in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#14 0xb799c845 in KApplication::notify () from /usr/kde/4.1/lib/libkdeui.so.5
#15 0xbf8916bc in ?? ()
#16 0x98c6d8b0 in ?? ()
#17 0xbf890e9c in ?? ()
#18 0xb7d8d28f in QInternal::activateCallbacks ()
   from /usr/lib/qt4/libQtCore.so.4
#19 0xb7e8a524 in QCoreApplication::notifyInternal ()
   from /usr/lib/qt4/libQtCore.so.4
#20 0xb5ff70dd in ?? () from /usr/lib/qt4/libQtGui.so.4
#21 0xb600540b in ?? () from /usr/lib/qt4/libQtGui.so.4
#22 0xb6003959 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt4/libQtGui.so.4
#23 0xb602afdb in ?? () from /usr/lib/qt4/libQtGui.so.4
#24 0xb7e89721 in QEventLoop::processEvents ()
   from /usr/lib/qt4/libQtCore.so.4
#25 0xb7e898ad in QEventLoop::exec () from /usr/lib/qt4/libQtCore.so.4
#26 0xb7e8ba82 in QCoreApplication::exec () from /usr/lib/qt4/libQtCore.so.4
#27 0xb5f968c4 in QApplication::exec () from /usr/lib/qt4/libQtGui.so.4
#28 0x082740a6 in main (argc=5, argv=0xbf8918d4)
    at /home/build/digikam_4.1/graphics/digikam/digikam/main.cpp:180
#0  0xffffe424 in __kernel_vsyscall ()
Comment 1 caulier.gilles 2008-12-01 07:59:39 UTC
Marcel,

This is not the only one entry in bugzilla with a similar backtrace where threadimageio component crash.

This is not only relevant of Slideshow tool. If i remember, it become with kipi-plugins too (Gallery tool for ex).

If you remember, i have talk about this problem during coding sprint... But without any sucess to reproduce the problem on my computer, it haven't be easy (:=)))

Gilles
Comment 2 Yann LE HIR 2008-12-01 08:38:48 UTC
I reproduced it, here is what I get in the console :

pure virtual method called
terminate called without an active exception
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = digikam path = <unknown> pid = 21184
sock_file=~/.kde4.1/socket-azmodan/kdeinit4__0

The backtrace is a little bit different :

Thread 2 (Thread 0xaa4d7b90 (LWP 21225)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb7cc5806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d4a353 in ?? () from /usr/lib/qt4/libQtCore.so.4
#3  0xb7d45905 in QMutex::lock () from /usr/lib/qt4/libQtCore.so.4
#4  0xb6b23f71 in CacheLock (this=0xaa4d66a0, cache=0x84b41b0)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadingcache.cpp:290
#5  0xb6b29f7a in Digikam::SharedLoadingTask::progressInfo (this=0xb2b028a0, 
    progress=0.443009317)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavetask.cpp:230
#6  0xb6a82e56 in Digikam::JPEGLoader::load (this=0xaa4d6d80, 
    filePath=@0xb2b028ac, observer=0xb2b028a8)
    at /home/build/digikam_4.1/graphics/digikam/libs/dimg/loaders/jpegloader.cpp:338
#7  0xb6a6ad53 in Digikam::DImg::load (this=0xaa4d7084, filePath=@0xb2b028ac, 
    loadFlagsInt=31, observer=0xb2b028a8, rawDecodingSettings=@0xaa4d6f54)
    at /home/build/digikam_4.1/graphics/digikam/libs/dimg/dimg.cpp:358
#8  0xb6a6bc2c in Digikam::DImg::load (this=0xaa4d7084, filePath=@0xb2b028ac, 
    observer=0xb2b028a8, rawDecodingSettings=@0xaa4d7244)
    at /home/build/digikam_4.1/graphics/digikam/libs/dimg/dimg.cpp:333
#9  0xb6b2ca5a in Digikam::PreviewLoadingTask::execute (this=0xb2b028a0)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/previewtask.cpp:188
#10 0xb6b1d8e3 in Digikam::LoadSaveThread::run (this=0xff10d48)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:132
#11 0xb7d4ab5f in ?? () from /usr/lib/qt4/libQtCore.so.4
#12 0xb7cc145f in start_thread () from /lib/libpthread.so.0

Thread 1 (Thread 0xb4c37700 (LWP 21184)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb7cc5806 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d4a353 in ?? () from /usr/lib/qt4/libQtCore.so.4
#3  0xb7d45905 in QMutex::lock () from /usr/lib/qt4/libQtCore.so.4
#4  0xb6b23f71 in CacheLock (this=0xbf844a88, cache=0x84b41b0)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadingcache.cpp:290
#5  0xb6b29ec5 in Digikam::SharedLoadingTask::setStatus (this=0xb2b06778, 
    status=Digikam::LoadingTask::LoadingTaskStatusStopping)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavetask.cpp:254
#6  0xb6b2073e in Digikam::ManagedLoadSaveThread::loadPreview (
    this=0xff0a5d8, description=@0xbf844be4)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/managedloadsavethread.cpp:236
#7  0xb6b2bad3 in Digikam::PreviewLoadThread::load (this=0xff0a5d8, 
    description=@0xbf844ccc)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/previewloadthread.cpp:43
#8  0xb6bd6502 in Digikam::SlideShow::loadNextImage (this=0xbc69bd0)
    at /home/build/digikam_4.1/graphics/digikam/utilities/slideshow/slideshow.cpp:270
#9  0xb6bd6661 in Digikam::SlideShow::slotNext (this=0xbc69bd0)
    at /home/build/digikam_4.1/graphics/digikam/utilities/slideshow/slideshow.cpp:642
#10 0xb6bd67bf in Digikam::SlideShow::wheelEvent (this=0xbc69bd0, 
    e=0xbf84521c)
    at /home/build/digikam_4.1/graphics/digikam/utilities/slideshow/slideshow.cpp:657
#11 0xb5fa3b48 in QWidget::event () from /usr/lib/qt4/libQtGui.so.4
#12 0xb5f490b0 in QApplicationPrivate::notify_helper ()
   from /usr/lib/qt4/libQtGui.so.4
#13 0xb5f4eb57 in QApplication::notify () from /usr/lib/qt4/libQtGui.so.4
#14 0xb7951845 in KApplication::notify () from /usr/kde/4.1/lib/libkdeui.so.5
#15 0xbf845a3c in ?? ()
#16 0x0bc69bd0 in ?? ()
#17 0xbf84521c in ?? ()
#18 0xb7d4228f in QInternal::activateCallbacks ()
   from /usr/lib/qt4/libQtCore.so.4
#19 0xb7e3f524 in QCoreApplication::notifyInternal ()
   from /usr/lib/qt4/libQtCore.so.4
#20 0xb5fa90dd in ?? () from /usr/lib/qt4/libQtGui.so.4
#21 0xb5fb740b in ?? () from /usr/lib/qt4/libQtGui.so.4
#22 0xb5fb5959 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt4/libQtGui.so.4
#23 0xb5fdcfdb in ?? () from /usr/lib/qt4/libQtGui.so.4
#24 0xb7e3e721 in QEventLoop::processEvents ()
   from /usr/lib/qt4/libQtCore.so.4
#25 0xb7e3e8ad in QEventLoop::exec () from /usr/lib/qt4/libQtCore.so.4
#26 0xb7e40a82 in QCoreApplication::exec () from /usr/lib/qt4/libQtCore.so.4
#27 0xb5f488c4 in QApplication::exec () from /usr/lib/qt4/libQtGui.so.4
#28 0x082740a6 in main (argc=1, argv=0xbf845c54)
    at /home/build/digikam_4.1/graphics/digikam/digikam/main.cpp:180
#0  0xffffe424 in __kernel_vsyscall ()
Comment 3 Marcel Wiesweg 2008-12-02 16:40:34 UTC
SVN commit 891676 by mwiesweg:

Fix a crash in Slideshow when going back from the last page with the mouse wheel

CCBUG: 176584

 M  +1 -1      slideshow.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=891676
Comment 4 Marcel Wiesweg 2008-12-02 16:42:40 UTC
The commit fixes a reproducible crash that I had with the slide show.
Please test if you have the same problem.
Comment 5 Andi Clemens 2008-12-02 16:58:44 UTC
I tried to reproduce the crash in the last 10 minutes without your patch, but I can't get it crash (now my finger hurts :-))

Do you use a special amount of images when the crash appears?

Andi
Comment 6 Marcel Wiesweg 2008-12-02 17:38:48 UTC
I tested with 10 images. Crash happened only from the last "Click to exit slideshow..." page here, but very reliably, not much mouse wheel involved. (I did not verify it happens only with the mouse wheel btw, wrote it just because it's the bug report here)
Comment 7 Andi Clemens 2008-12-02 18:02:19 UTC
I still can't reproduce it, I turned off "Slideshow runs in a loop" and clicked my way through 10 images, it doesn't crash.
So I guess I can not confirm that your patch is fixing it...

Andi
Comment 8 Yann LE HIR 2008-12-02 19:44:43 UTC
I can still reproduce the bug.
Your patch sure fixes a bug but not the one I repported :)

I use about 30,000 photos for a slideshow, but I don't think size matters. Since I can reproduce it, I'll try to get a better look at the code next week end.
Comment 9 Marcel Wiesweg 2008-12-02 21:38:03 UTC
It usually provides better backtraces if you let digikam run under gdb directly and produce the crash then. The backtraces that you provide dont show me any crash location; there are two threads waiting in a mutex and doing nothing wrong.
Comment 10 Yann LE HIR 2008-12-02 21:45:54 UTC
I tried that, but unfortunatly when digikam crashes I'm stuck on the slideshow and I can't go to the console for a trace :/
If you've any idea how I can make digikam show the slideshow in an internal window or in an other X session I'll get your trace :)
Comment 11 Marcel Wiesweg 2008-12-02 22:37:02 UTC
Oh yes, I experienced that today as well. If you use the very latest svn this behavior is changed (the slideshow window uses less intrusive window flags) and you can use Alt+Tab to get back to any other window from the slideshow.
Comment 12 Yann LE HIR 2008-12-02 23:15:06 UTC
Thank you :)
Here is the trace :

pure virtual method called
terminate called without an active exception

Program received signal SIGABRT, Aborted.
[Switching to Thread 0xa9dffb90 (LWP 9035)]
0xffffe424 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb51b6f4f in raise () from /lib/libc.so.6
#2  0xb52d7ff4 in ?? () from /lib/libc.so.6
#3  0xa9dffb90 in ?? ()
#4  0xb51b8958 in abort () from /lib/libc.so.6
#5  0x00000040 in ?? ()
#6  0xb539ccf5 in ?? () from /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6
#7  0xb539cd32 in std::terminate () from /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6
#8  0xb539d3e5 in __cxa_pure_virtual () from /usr/lib/gcc/i686-pc-linux-gnu/4.1.2/libstdc++.so.6
#9  0xb6ae5976 in Digikam::PreviewLoadingTask::execute (this=0xaa0e7958)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/previewtask.cpp:113
#10 0xb6ad6dd3 in Digikam::LoadSaveThread::run (this=0x14a68ac8)
    at /home/build/digikam_4.1/graphics/digikam/libs/threadimageio/loadsavethread.cpp:132
#11 0xb7d04b5f in ?? () from /usr/lib/qt4/libQtCore.so.4
#12 0xb7c7b45f in start_thread () from /lib/libpthread.so.0
Comment 13 caulier.gilles 2008-12-03 16:47:51 UTC
Marcel, 

i never experienced crash in slideshow on my computers, with and without your patch...

yann,

Can you run digiKam under valgrind to try to see more informations about crash ?

Gilles
Comment 14 Marcel Wiesweg 2008-12-03 20:59:17 UTC
I would interpret this as an attempt to access a pointer (m_usedProcess) which has been deleted. But I carefully looked at the code and as far as I can see all is correctly mutex protected.

Valgrind may help, and I have added some debug statements to current SVN which might be interesting in the context of the crash.

Thank you very much for your help
Comment 15 Marcel Wiesweg 2008-12-03 22:02:19 UTC
SVN commit 892243 by mwiesweg:

This fixes a possible crash when a task is stopped in thread 1, the task is waiting in thread 2
for another master task that does the work in thread 3.

CCBUG: 176584

 M  +2 -0      loadsavetask.cpp  
 M  +3 -2      previewtask.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=892243
Comment 16 Yann LE HIR 2008-12-05 07:08:08 UTC
Hi,

I tested a lot the slideshow with svn-892243.
I couldn't reproduce the bug so far, so I guess your patch fixed it :)
Comment 17 caulier.gilles 2008-12-05 07:51:51 UTC
Thanks Yann. I close this file now.

Gilles Caulier