pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Strange behavior while moving psppire window


From: Grzegorz Artur Daszuta
Subject: Strange behavior while moving psppire window
Date: Fri, 26 Feb 2010 03:23:39 +0100

Hello,
I was in the middle of preparation of Polish language translation of
PSPP (middle in this case is something about 20%), when I observed
strange behavior - while moving/resizing psppire window, something
starts frantically accessing something on my hard drive. No other
application share this behavior, even resource hogs like chrome,
firefox, or virtualbox. This appear to be linux-only issue - windows
works fine. Maybe it's also Gnome-only or Gnome-on-Fedora-only issue,
I'm not sure at all.
Further investigation shows, that every time window is moved/resized,
psppire process feels irresistible desire to write it's current screen
coordinates to ~/.config/psppirerc.*, at least few dozen times.
I suppose this can be solved by adding some kind of timer to resize
event, but I loose my K&R somewhere between example 'wc' and 'grep'
implementations, and I'm unable to prepare a fix, even if that's
trivial as 'Hello world'.
By the way, thank you all for this excelent, or at least
to-be-excelent bit of software, that'll one day liberate us.
Sincerely,
G.

PS. That's a little example of this mad behavior, acquired by strace:

gettimeofday({1267150117, 195369}, NULL) = 0
open("/home/krefik/.config/psppirerc.V3TN8U",
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|0664, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7851000
_llseek(8, 0, [0], SEEK_CUR)            = 0
write(8, "\n[PsppireDataWindow]\nmaximize=fa"..., 1053) = 1053
lstat64("/home/krefik/.config/psppirerc", {st_mode=S_IFREG|0664,
st_size=1053, ...}) = 0
fsync(8)                                = 0
close(8)                                = 0
munmap(0xb7851000, 4096)                = 0
rename("/home/krefik/.config/psppirerc.V3TN8U",
"/home/krefik/.config/psppirerc") = 0
poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=6,
events=POLLIN}, {fd=7, events=POLLIN}], 4, 0) = 1 ([{fd=3,
revents=POLLIN}])
gettimeofday({1267150117, 254844}, NULL) = 0
open("/home/krefik/.config/psppirerc.P0DM8U",
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|0664, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7851000
_llseek(8, 0, [0], SEEK_CUR)            = 0
write(8, "\n[PsppireDataWindow]\nmaximize=fa"..., 1053) = 1053
lstat64("/home/krefik/.config/psppirerc", {st_mode=S_IFREG|0664,
st_size=1053, ...}) = 0
fsync(8)                                = 0
close(8)                                = 0
munmap(0xb7851000, 4096)                = 0
rename("/home/krefik/.config/psppirerc.P0DM8U",
"/home/krefik/.config/psppirerc") = 0
gettimeofday({1267150117, 315409}, NULL) = 0
open("/home/krefik/.config/psppirerc.HP8K8U",
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|0664, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7851000
_llseek(8, 0, [0], SEEK_CUR)            = 0
write(8, "\n[PsppireDataWindow]\nmaximize=fa"..., 1053) = 1053
lstat64("/home/krefik/.config/psppirerc", {st_mode=S_IFREG|0664,
st_size=1053, ...}) = 0
fsync(8)                                = 0
close(8)                                = 0
^^^^^ and it goes round and round and round... not sure if it's
psppire or gnulib fault :/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]