Trickle does not work with kmail - hangs it
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
trickle (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
trickle -d 100 -u 100 kmail
Kmail runs, but as soon as the trickle has to limit the bandwitch (so it actually starts limiting) then kmail hangs fully (even the window does not refresh).
killall kmail works.
Perhaps this is caused because kmail that was start "exits" (and some child or something is running only)?
when running kmail,
kmail (pid=17635) is started for example, it spawns kmail (pid=17636), and also spawns various kdeinit4: kio_imap4 [kdeinit]
Perhaps it causes the problem that not all of the processes have trickle attached to them - or that trickel exists because original kmail exists, but the childs still think a trickle is running.
Running trickled and then trickle kmail does not help. In such scenario, killall trickled does not un-hang kmail.
rafal@lcwood(
rafal@lcwood(
rafal@lcwood(
strace of kmail (done by strace -p `pidof kmail`)
mprotect(
munmap(
read(8, 0x21e0e34, 4096) = -1 EAGAIN (Resource temporarily unavailable)
read(19, 0x22f7794, 4096) = -1 EAGAIN (Resource temporarily unavailable)
fcntl(18, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl(35, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl(36, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl(37, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl(38, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
poll([{fd=3, events=POLLIN}, {fd=14, events=
read(8, 0x21e0e34, 4096) = -1 EAGAIN (Resource temporarily unavailable)
madvise(
stat("/
stat("/
stat("/
fcntl(38, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl(38, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
select(38, [], [], NULL, {3, 0}) = 0 (Timeout)
fcntl(38, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
select(39, [38], [], NULL, NULL
after killall kmail the strace says:
) = ? ERESTARTNOHAND (To be restarted)
--- SIGTERM (Terminated) @ 0 (0) ---
rt_sigaction(
rt_sigaction(
rt_sigaction(
write(2, "*** KMail got signal 15 (Exiting"..., 34) = 34
futex(0x29b7acc, FUTEX_CMP_
futex(0x29d449c, FUTEX_WAIT_PRIVATE, 1, NULL) = 0
futex(0x29d4470, FUTEX_WAKE_PRIVATE, 1) = 0
writev(5, [{"l\1\
close(36) = 0
close(35) = 0
close(37) = 0
close(38) = 0
[...]
Actually, trickle seems to not start:
read(3, 0x11af050, 2048) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, 24961) = 1 ([{fd=3, revents=POLLIN}])
read(3, "l\4\1\1 \0\0\0\
read(3, 0x11af050, 2048) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, 24886) = 1 ([{fd=3, revents=POLLIN}])
read(3, "l\4\1\
read(3, 0x11af050, 2048) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, 24689) = 1 ([{fd=3, revents=POLLIN}])
read(3, "l\2\1\
read(3, "<arg type=\"i\" direction=
brk(0x11d6000) = 0x11d6000
writev(3, [{"l\1\
poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}])
read(3, "l\2\1\
read(3, 0x11c14b0, 2048) = -1 EAGAIN (Resource temporarily unavailable)
exit_group(0) = ?
because it exists almost instantly.
ii kmail 4:4.3.2-0ubuntu6 KDE Email client
ii trickle 1.07-7 user-space bandwidth shaper
affects: | ubuntu → trickle (Ubuntu) |
description: | updated |