[Digikam-devel] [Bug 275813] New: Digikam hangs on startup (splash screen: reading database)
Michael Körber
m.koerber at m-koerber.de
Thu Jun 16 12:10:37 BST 2011
https://bugs.kde.org/show_bug.cgi?id=275813
Summary: Digikam hangs on startup (splash screen: reading
database)
Product: digikam
Version: 1.9.0
Platform: Fedora RPMs
OS/Version: Linux
Status: UNCONFIRMED
Severity: crash
Priority: NOR
Component: general
AssignedTo: digikam-devel at kde.org
ReportedBy: m.koerber at m-koerber.de
Version: 1.9.0 (using KDE 4.6.3)
OS: Linux
Although the option 'Scan for new items on startup' is deactivated, digikam
traverses the whole storage in /home/username/Bilder where in
/home/username/Bilder/net_bilder a cifs is mounted. For each directory digikam
calls inotify_add_watch (not included in the following strace).
Each time the cifs is mounted digikam hangs on reading database with the
following strace. This behaviour is reproducible.
The image storage is located on a raid storage 1.5TB of size. The image
storage's size is 77 GB with 195,033 files in 9,668 folders. All drives have
more than 80GB of free space. The sqlite3 databse is located in
/home/username/Bilder.
/home/username/Bilder
+ net_bilder (cifs mount point)
+ digikam4.db
+ thumbnails-digikam.db
'strace digikam' produces the following output:
[...]thousands of other lines[...]
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic13.jpg",
{st_mode=S_IFREG|0755, st_size=65866, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic11.jpg",
{st_mode=S_IFREG|0755, st_size=52490, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic14.jpg",
{st_mode=S_IFREG|0755, st_size=61893, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic16.jpg",
{st_mode=S_IFREG|0755, st_size=61375, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic06.jpg",
{st_mode=S_IFREG|0755, st_size=44437, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic07.jpg",
{st_mode=S_IFREG|0755, st_size=59157, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic09.jpg",
{st_mode=S_IFREG|0755, st_size=72442, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic18.jpg",
{st_mode=S_IFREG|0755, st_size=99327, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic10.jpg",
{st_mode=S_IFREG|0755, st_size=66041, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic01.jpg",
{st_mode=S_IFREG|0755, st_size=81829, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic15.jpg",
{st_mode=S_IFREG|0755, st_size=64597, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic08.jpg",
{st_mode=S_IFREG|0755, st_size=64902, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/.picasa.ini",
{st_mode=S_IFREG|0755, st_size=320, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic03.jpg",
{st_mode=S_IFREG|0755, st_size=85237, ...}) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic05.jpg",
{st_mode=S_IFREG|0755, st_size=54018, ...}) = 0
getdents64(52, /* 0 entries */, 32768) = 0
close(52) = 0
stat64("/home/username/Bilder/net_bilder/cifs_mounted_here/pic12.jpg",
{st_mode=S_IFREG|0755, st_size=66438, ...}) = 0
open("/etc/mtab", O_RDONLY) = 52
fstat64(52, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0xb788b000
read(52, "rootfs / rootfs rw 0 0\n/proc /pr"..., 1024) = 1024
read(52, "ct 0 0\ncgroup /sys/fs/cgroup/mem"..., 1024) = 1024
read(52, "latime,mode=755 0 0\n/dev/sda5 /b"..., 1024) = 1024
read(52, "6384,wsize=57344,actimeo=1 0 0\n/"..., 1024) = 274
read(52, "", 1024) = 0
close(52) = 0
munmap(0xb788b000, 4096) = 0
lstat64("/home", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/username", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
lstat64("/home/username/Bilder", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat64("/home/username/Bilder/net_bilder", {st_mode=S_IFDIR|0755, st_size=0,
...}) = 0
lstat64("/home/username/Bilder/net_bilder/sway", {st_mode=S_IFDIR|0755,
st_size=0, ...}) = 0
lstat64("/home/username/Bilder/net_bilder/cifs_mounted_here",
{st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
inotify_add_watch(21, "/home/username/Bilder/net_bilder/cifs_mounted_here",
IN_MODIFY|IN_ATTRIB|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_DONT_FOLLOW)
= -1 ENOSPC (No space left on device)
inotify_add_watch(21, "/home/username/Bilder/net_bilder/cifs_mounted_here",
IN_MODIFY|IN_ATTRIB|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_DONT_FOLLOW)
= -1 ENOSPC (No space left on device)
select(21, [20], NULL, NULL, {0, 0}) = 0 (Timeout)
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65) = ? ERESTARTSYS
(To be restarted)
--- {si_signo=SIGWINCH, si_code=SI_KERNEL} (Window changed) ---
write(20, "A\0\1\0i\5\2\0007\0/home/username/Bilder/"..., 65
'strace -c digikam' results:
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
84.73 15.701426 68 230393 1146 stat64
6.13 1.136214 55 20839 getdents64
3.73 0.690976 70 9828 statfs
2.76 0.511118 4 127309 716 lstat64
1.37 0.253446 3 93394 30387 read
0.42 0.078354 4 22045 poll
0.27 0.049869 2 21931 601 open
0.12 0.023062 2 11408 3339 inotify_add_watch
0.09 0.017135 1 21391 close
0.07 0.013512 1 10901 writev
0.07 0.012060 1 22055 12391 access
0.06 0.011168 1 10897 munmap
0.04 0.007833 1 11716 mmap2
0.03 0.005869 0 12458 fstat64
0.02 0.003290 0 14024 clock_gettime
0.02 0.003285 2 2079 967 readlink
0.01 0.002418 1 4628 write
0.01 0.002267 108 21 2 connect
0.01 0.001767 0 3921 select
0.01 0.001581 6 245 16 futex
0.01 0.000968 2 458 sendmsg
0.00 0.000845 0 8069 inotify_rm_watch
0.00 0.000400 0 1250 fcntl64
0.00 0.000353 0 739 351 recvmsg
0.00 0.000271 19 14 rename
0.00 0.000188 0 447 gettimeofday
0.00 0.000178 0 583 brk
0.00 0.000135 27 5 getdents
0.00 0.000114 1 103 getcwd
0.00 0.000039 1 60 uname
0.00 0.000034 0 437 _llseek
0.00 0.000014 0 45 1 kill
0.00 0.000000 0 14 link
0.00 0.000000 0 78 13 unlink
0.00 0.000000 0 1 execve
0.00 0.000000 0 424 time
0.00 0.000000 0 1 utime
0.00 0.000000 0 1 1 mkdir
0.00 0.000000 0 5 pipe
0.00 0.000000 0 119 34 ioctl
0.00 0.000000 0 2 umask
0.00 0.000000 0 1 ftruncate
0.00 0.000000 0 42 fchmod
0.00 0.000000 0 2 fstatfs
0.00 0.000000 0 54 clone
0.00 0.000000 0 42 mprotect
0.00 0.000000 0 12 fdatasync
0.00 0.000000 0 1 sched_getparam
0.00 0.000000 0 1 sched_getscheduler
0.00 0.000000 0 4 sched_get_priority_max
0.00 0.000000 0 3 sched_get_priority_min
0.00 0.000000 0 39 rt_sigaction
0.00 0.000000 0 2 rt_sigprocmask
0.00 0.000000 0 1 getrlimit
0.00 0.000000 0 5 ftruncate64
0.00 0.000000 0 62 getuid32
0.00 0.000000 0 9 getgid32
0.00 0.000000 0 12 geteuid32
0.00 0.000000 0 6 getegid32
0.00 0.000000 0 14 fchown32
0.00 0.000000 0 1 getresuid32
0.00 0.000000 0 1 getresgid32
0.00 0.000000 0 12 madvise
0.00 0.000000 0 1 sched_getaffinity
0.00 0.000000 0 1 set_thread_area
0.00 0.000000 0 1 set_tid_address
0.00 0.000000 0 4 clock_getres
0.00 0.000000 0 1 statfs64
0.00 0.000000 0 1 inotify_init
0.00 0.000000 0 11 ppoll
0.00 0.000000 0 1 set_robust_list
0.00 0.000000 0 1 timerfd_create
0.00 0.000000 0 6 pipe2
0.00 0.000000 0 5 inotify_init1
0.00 0.000000 0 36 socket
0.00 0.000000 0 15 bind
0.00 0.000000 0 14 listen
0.00 0.000000 0 13 accept
0.00 0.000000 0 27 getsockname
0.00 0.000000 0 20 getpeername
0.00 0.000000 0 6 socketpair
0.00 0.000000 0 32 2 send
0.00 0.000000 0 3 recv
0.00 0.000000 0 17 setsockopt
0.00 0.000000 0 16 getsockopt
0.00 0.000000 0 2 shmat
0.00 0.000000 0 1 shmdt
0.00 0.000000 0 2 shmget
0.00 0.000000 0 2 shmctl
------ ----------- ----------- --------- --------- ----------------
100.00 18.530189 664903 49967 total
Entry in fstab is this:
//192.168.1.5/Public/Bilder /home/username/Bilder/net_bilder cifs
auto,rw,uid=500,gid=500,credentials=/home/username/.smbcredentials 0 0
In some rare cases digikam starts in about 50 Minutes. In the majority of cases
digikam hangs as described.
Here more information concerning my laptop.
http://www.smolts.org/client/show_all/pub_8d14167e-db4d-40c9-99e4-ac63418ef8e3
I'm not using the KDE-Desktop. My desktop environment is Gnome3 with the
gnome-shell.
The current Kernel is 2.6.38.7-30.
Reproducible: Always
Steps to Reproduce:
Start digikam with lagre image storage mounted by cifs.
Actual Results:
It hangs showing the splash screen with reading database message on it.
Expected Results:
Simply startup.
Cause of digikam is unusable the severity will be set to crash.
--
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the Digikam-devel
mailing list