Bug 308734

Summary: digikam/kioslave: a lot of "KIO::Slave::timeout: Houston, we lost our slave" and "slave died"
Product: [Applications] digikam Reporter: julien.t43+kde
Component: Database-AlbumsAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles
Priority: NOR    
Version: 2.8.0   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: 5.7.0
Sentry Crash Report:
Attachments: digikam console output
another console output of digikam not starting well
digikam console output (1st session)(gzip, too big else)
digikam console output (2nd session)(kio slave died)
opening digikam (2nd session): can't display any images/thumbnails = useless
digikam console output (after 1st start in a session)

Description julien.t43+kde 2012-10-20 20:51:19 UTC
I recently switched my images folder from ext4 to fat32 so I can more easily use my external disk on other system (namely macos and windows and without the addition of an extra driver)
Sadly it seems I/O on fat32 are not very good (digikam a lot slower to open) but more, I have some period where it seems all kio slave died (second start of digikam in a session maybe? in this case, a reboot solved the problem) and digikam is no more usable (all folder/album counter at 0 and can't browse anything).

joined digikam console output of one of these session.


Reproducible: Sometimes
Comment 1 julien.t43+kde 2012-10-20 20:52:16 UTC
Created attachment 74684 [details]
digikam console output
Comment 2 julien.t43+kde 2012-10-21 20:15:07 UTC
Created attachment 74705 [details]
another console output of digikam not starting well

seems problem is reproductable all times.
can't attach a valid session output as log file is a bit too big (> 10MB)
Comment 3 Marcel Wiesweg 2012-10-23 20:21:06 UTC
As we have a database the ioslaves wont care at all about storage of the image files, but only deal with the database. Is your digikam4.db file also located on the external drive? That would indicate that there's indeed a performance problem between your hard disk, fat32, and sqlite.
The console output of the ioslaves can usually be found in ~/.xsession-errors.
Comment 4 julien.t43+kde 2012-10-23 21:07:35 UTC
For now, the db are on external drive. I tried them on both fat32 or ext4 without any noticeable performance change. (and I can't test now on internal as it's in customs for a manufacturer exchange ...)

xsesssion-erros doesn't have any datetime and there is also firefox sqlite log here . nothing tagged digikam. anyway to locate something or wait next second session/bug time ?
Comment 5 Marcel Wiesweg 2012-10-26 10:05:20 UTC
I dont really believe yet that FAT32 is responsible for you problems. It looks to me as if the ioslaves crash immediately after starting. Regarding the fact that your internal hard drive is at the manufacturer, it seems likely there were some other changes in your system?
Regarding ~/.xsession-errors, be sure to have enabled 50004 as well in kdebugdialog. Run digikam and watch the last lines of the file.
Comment 6 julien.t43+kde 2012-11-04 22:58:33 UTC
Ok, after multiple try, I got nothing in .xsession-errors (mostly firefox and gnome-do stuff, nothing about digikam; did a copy of file, started digikam and diff/meld files)
50004 is enabled

Regarding digikam output console, nothing more useful: kio/KLauncher not done but normal if slave died probably.
Attached 2 more sessions: first digikam which crashed (another bug), second session where the problem happened and got nothing more to do.
Comment 7 julien.t43+kde 2012-11-04 23:03:53 UTC
Created attachment 75012 [details]
digikam console output (1st session)(gzip, too big else)
Comment 8 julien.t43+kde 2012-11-04 23:04:46 UTC
Created attachment 75013 [details]
digikam console output (2nd session)(kio slave died)
Comment 9 julien.t43+kde 2012-11-04 23:05:44 UTC
Created attachment 75014 [details]
opening digikam (2nd session): can't display any images/thumbnails = useless
Comment 10 julien.t43+kde 2012-11-05 03:46:45 UTC
after a few more (slow) retry, I can say than doing a x session logout + login again allows to start again normally. a switch user/login again doesn't.

I give a strace to a 2nd session
(strace -ff -rTx -o $s digikam)
$ ll -h digikam.20121104-strace.*
-rw------- 1 julien julien  34M nov.   4 22:18 digikam.20121104-strace.11975
-rw------- 1 julien julien 140M nov.   4 22:18 digikam.20121104-strace.11980
-rw------- 1 julien julien 1022 nov.   4 20:58 digikam.20121104-strace.11981
-rw------- 1 julien julien 2,3K nov.   4 20:58 digikam.20121104-strace.11982
-rw------- 1 julien julien 8,3K nov.   4 22:18 digikam.20121104-strace.16150
-rw------- 1 julien julien 6,8K nov.   4 22:00 digikam.20121104-strace.16156
-rw------- 1 julien julien 6,7K nov.   4 22:00 digikam.20121104-strace.16157
-rw------- 1 julien julien  19K nov.   4 22:12 digikam.20121104-strace.16833
$ egrep '(EAGAIN|ETIMEDOUT)' digikam.20121104-strace.16*
digikam.20121104-strace.16150:     0.001071 futex(0x96ab050, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000518>
digikam.20121104-strace.16150:     0.011403 futex(0x96ab050, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000340>
digikam.20121104-strace.16150:     0.005793 futex(0x96ab050, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000341>
digikam.20121104-strace.16150:     0.036802 futex(0x96ab050, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000265>
digikam.20121104-strace.16150:     0.055542 futex(0x96ab050, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000257>
digikam.20121104-strace.16150:     0.001109 futex(0x96ab050, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable) <0.000033>
digikam.20121104-strace.16833:     0.000839 futex(0x9998014, FUTEX_WAIT_PRIVATE, 3, {29, 999382342}) = -1 ETIMEDOUT (Connection timed out) <29.999518>
$ tail -5 digikam.20121104-strace.11975 
     0.000742 recv(10, 0x933c3f8, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000053>
     0.001022 clock_gettime(CLOCK_MONOTONIC, {44009, 1002251}) = 0 <0.000040>
     0.000784 recv(10, 0x933c3f8, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000058>
     0.000834 recv(12, 0x938d5f8, 4096, 0) = -1 EAGAIN (Resource temporarily unavailable) <0.000060>
     0.000746 poll([{fd=7, events=POLLIN}, {fd=11, events=POLLIN}, {fd=12, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLIN}, {fd=15, events=POLLIN}, {fd=18, events=POLLIN}, {fd=21, events=POLLIN}, {fd=28, events=POLLIN}, {fd=25, events=POLLIN}], 10, 181448

not sure if it is the real problem or not.
Comment 11 julien.t43+kde 2012-11-18 12:39:38 UTC
ok, switched back to ext4 and the problem is still happening. don't know where it comes from.
I believed I didn't get any similar problems before 2.5 or 2.6 (skipped 2.7) but not really sure.
Comment 12 julien.t43+kde 2012-12-27 13:34:54 UTC
The problem disappears for a while and now got it back :(
still on 2.8.0-precise~ppa1, lubuntu 12.04

any way to trace it more precisely ?
Comment 13 julien.t43+kde 2012-12-27 13:36:19 UTC
Created attachment 76032 [details]
digikam console output (after 1st start in a session)
Comment 14 caulier.gilles 2013-12-04 16:53:36 UTC
Julien,

Problem still reproducible with digiKam 3.5.0 ?

Gilles Caulier
Comment 15 julien.t43+kde 2013-12-29 08:16:42 UTC
Just upgraded my computers (system+app) and for now nothing. will check in next month if problem happen again.

Watch on 3.4 (lubuntu 13.10/kde 4.11.3 main install) and 3.5(macos 10.9/kde 4.11.4/macports, mostly w network share)
Comment 16 caulier.gilles 2013-12-29 09:29:02 UTC
ok. Don't hesitate to reopen if necessary

Gilles Caulier
Comment 17 caulier.gilles 2017-07-25 10:42:06 UTC
This problem is relevant of digiKam KIO slaves which are dropped since version 5.0.0 in favor of a multithreaded interface to query the database. It will not reproducible.