Bug#683583: /usr/lib/dconf/dconf-service: fsync madness

Witold Baryluk baryluk at smp.if.uj.edu.pl
Thu Aug 2 05:23:07 UTC 2012


Package: dconf-service
Version: 0.12.1-2
Severity: important
File: /usr/lib/dconf/dconf-service

Dear Maintainer,

I think dconf-service is doing very strange thing, because
when I came back to my computer running Gnome classic,
hard disk started doing strange noises. Like writing
10 times per second without good reason.

I think culprit is dconf-service, because iotop says it
is doing lots of writes, strace then shows it is doing
lots of write and fsync(8), few per second actually,
and kill -STOP stops strange hdd noises.

There was also gnome-settings-deamon process using 100%
cpu for no reason, but doing kill -STOP on it,
do not stop dconf-service from still writing
and fsyncing a lot on hdd.

fd 8 corresponds to ~/.config/dconf/user.sometemporaryname file.


part of strace which repeats indefinitly

open("/home/ch/.cache/dconf/user", O_WRONLY) = -1 ENOENT (No such file or directory)
write(7, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x8bee410, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8bee178, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8be6398, FUTEX_WAKE_PRIVATE, 1) = 1
write(7, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x8bee410, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8bee178, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8be6398, FUTEX_WAKE_PRIVATE, 1) = 1
gettimeofday({1343884700, 43601}, NULL) = 0
open("/home/ch/.config/dconf/user", O_RDONLY|O_LARGEFILE) = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=44446, ...}) = 0
mmap2(NULL, 44446, PROT_READ, MAP_PRIVATE, 8, 0) = 0xb7706000
close(8)                                = 0
gettimeofday({1343884700, 53895}, NULL) = 0
gettimeofday({1343884700, 54402}, NULL) = 0
gettimeofday({1343884700, 54740}, NULL) = 0
gettimeofday({1343884700, 55071}, NULL) = 0
gettimeofday({1343884700, 58880}, NULL) = 0
gettimeofday({1343884700, 59436}, NULL) = 0
gettimeofday({1343884700, 59773}, NULL) = 0
gettimeofday({1343884700, 60066}, NULL) = 0
open("/home/ch/.config/dconf/user.KSNFIW", O_RDWR|O_CREAT|O_EXCL|O_LARGEFILE, 0666) = 8
fcntl64(8, F_GETFL)                     = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat64(8, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7705000
_llseek(8, 0, [0], SEEK_CUR)            = 0
write(8, "GVariant\0\0\0\0\0\0\0\0\30\0\0\0\204P\0\0\0\0\0(\337\2\0\0"..., 40960) = 40960
write(8, "\1\0butf8-for-spam-filter\0\1\0bchees"..., 3486) = 3486
fstatfs64(8, 84, {f_type="EXT2_SUPER_MAGIC", f_bsize=4096, f_blocks=32750737, f_bfree=27008274, f_bavail=26844207, f_files=8208384, f_ffree=8045118, f_fsid={1928974342, -592692885}, f_namelen=255, f_frsize=4096}) = 0
lstat64("/home/ch/.config/dconf/user", {st_mode=S_IFREG|0644, st_size=44446, ...}) = 0
fsync(8)                                = 0
close(8)                                = 0
munmap(0xb7705000, 4096)                = 0
rename("/home/ch/.config/dconf/user.KSNFIW", "/home/ch/.config/dconf/user") = 0
gettimeofday({1343884700, 98240}, NULL) = 0
gettimeofday({1343884700, 98640}, NULL) = 0
gettimeofday({1343884700, 99007}, NULL) = 0
gettimeofday({1343884700, 99364}, NULL) = 0
gettimeofday({1343884700, 99725}, NULL) = 0
munmap(0xb7706000, 44446)               = 0
open("/home/ch/.cache/dconf/user", O_WRONLY) = -1 ENOENT (No such file or directory)
write(7, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x8bee410, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8bee178, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8be6398, FUTEX_WAKE_PRIVATE, 1) = 1
write(7, "\1\0\0\0\0\0\0\0", 8)         = 8
futex(0x8bee410, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8bee178, FUTEX_WAKE_PRIVATE, 1) = 1
futex(0x8be6398, FUTEX_WAKE_PRIVATE, 1) = 1
open("/home/ch/.config/dconf/user", O_RDONLY|O_LARGEFILE) = 8
fstat64(8, {st_mode=S_IFREG|0644, st_size=44446, ...}) = 0
mmap2(NULL, 44446, PROT_READ, MAP_PRIVATE, 8, 0) = 0xb7706000
close(8)                                = 0
gettimeofday({1343884700, 110800}, NULL) = 0
gettimeofday({1343884700, 111159}, NULL) = 0
gettimeofday({1343884700, 111491}, NULL) = 0
gettimeofday({1343884700, 111818}, NULL) = 0
gettimeofday({1343884700, 112142}, NULL) = 0
gettimeofday({1343884700, 112467}, NULL) = 0
....
....



Additionally in ~/.xsession-errors
I see lots (10636) lines like this:

** (gnome-settings-daemon:14338): WARNING **: Przekroczono czas oczekiwania


"Przekroczony czas oczekiwania" means "Timeout limit exceeded" or just "Timeout"

regards,

Witek



-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-3-686-pae (SMP w/1 CPU core)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages dconf-service depends on:
ii  libc6         2.13-35
ii  libdconf0     0.12.1-2
ii  libglib2.0-0  2.32.3-1

Versions of packages dconf-service recommends:
ii  dconf-gsettings-backend  0.12.1-2

dconf-service suggests no packages.

-- no debconf information



More information about the pkg-gnome-maintainers mailing list