[Digikam-users] stalled while loading

Marcel Wiesweg marcel.wiesweg at gmx.de
Sat Oct 14 13:22:51 BST 2006


> Hi Marcel, thanks for that suggestion.
>
> When the app hangs, this is what gdb returns. Is this any more useful?
> Do you have any suggestions on where to go from this point or where to
> find more debugging info?

Yes, this gives important information: It hangs while installing the directory 
watch. For each album directory, digikam creates a KDirWatch (so it happens 
while the albums are read from database).

That's the point (#8->#7) where digikams code is left. #7-#5 is kdelibs, #4-#2 
is libfam, which together with a daemon provides one way to monitor 
directories. All this is completely opaque to digikam.

So the problem can be in
- kdelibs
- libfam
- famd
- kernel

Any "unusual" directories in your album hierarchy? Does it also happen with 
other directories?

Marcel

>
>
> (gdb) thr appl all bt
>
> Thread 1 (Thread -1208367424 (LWP 628)):
> #0  0x001be402 in ?? ()
> #1  0x0042a173 in __write_nocancel () from /lib/libpthread.so.0
> #2  0x0077f6b5 in ?? () from /usr/lib/libfam.so.0
> #3  0x0077f884 in ?? () from /usr/lib/libfam.so.0
> #4  0x0077ffc6 in FAMMonitorDirectory () from /usr/lib/libfam.so.0
> #5  0x4f03610e in KDirWatchPrivate::useFAM () from /usr/lib/libkio.so.4
> #6  0x4f036a6b in KDirWatchPrivate::addEntry () from /usr/lib/libkio.so.4
> #7  0x4f036f63 in KDirWatch::addDir () from /usr/lib/libkio.so.4
> #8  0x00d9407c in Digikam::AlbumManager::scanPAlbums (this=0x96a5b78) at
> albummanager.cpp:433
> #9  0x00d94b26 in Digikam::AlbumManager::refresh (this=0x96a5b78) at
> albummanager.cpp:327
> #10 0x00d94d66 in Digikam::AlbumManager::startScan (this=0x96a5b78) at
> albummanager.cpp:320
> #11 0x00db41ae in DigikamApp (this=0x96b39f0) at digikamapp.cpp:166
> #12 0x0804a4c7 in main (argc=1, argv=0xbfb32294) at main.cpp:244
>
>
> when it finally does come together and work, this is the gdb bt for the
> process.
>
>
> #0  0x001be402 in ?? ()
> #1  0x0029fe7d in ___newselect_nocancel () from /lib/libc.so.6
> #2  0x4e1a09a8 in QEventLoop::processEvents () from
> /usr/lib/qt-3.3/lib/libqt-mt.so.3
> #3  0x4e20edcb in QEventLoop::enterLoop () from
> /usr/lib/qt-3.3/lib/libqt-mt.so.3
> #4  0x4e20ecd6 in QEventLoop::exec () from
> /usr/lib/qt-3.3/lib/libqt-mt.so.3 #5  0x4e1f6119 in QApplication::exec ()
> from
> /usr/lib/qt-3.3/lib/libqt-mt.so.3
> #6  0x0804a44d in main ()

That's how it is supposed to be.

>
>
> Ideas?



More information about the Digikam-users mailing list