reopen 574672
thanks
On Sun, Oct 16, 2011 at 01:43:39AM -0400, Eric Dorland wrote:
> Version: 2.0.18-1
>
> My reading of the code it looks like this has been fixed. Please
> reopen if you disagree.
>
> * Josh Triplett ([email protected]) wrote:
> > Package: gnupg-agent
> > Version: 2.0.14-1
> > Severity: normal
> > File: /usr/bin/gpg-agent
> >
> > gpg-agent seems to wake up every few seconds, due to select timing out.
> >
> > gpg-agent should not wake up until either it has something to do, or it
> > needs to time out a key from memory. The former occurs when select says
> > it has data to read from its socket, and the latter should sleep until
> > the target time rather than waking up every couple of seconds.
strace shows that this bug still exists. gpg-agent 2.0.18-1 still wakes up
every few seconds, when select times out:
$ strace -tt -p $(pidof gpg-agent)
Process 8803 attached - interrupt to quit
22:55:13.781061 select(6, [3 5], [], [], {1, 219052}) = 0 (Timeout)
22:55:15.001811 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1], NULL, 8) = 0
22:55:15.002139 rt_sigaction(SIGHUP, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:15.002403 rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:15.002651 rt_sigaction(SIGUSR1, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:15.002856 rt_sigaction(SIGUSR2, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:15.003040 rt_sigaction(SIGTERM, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:15.003234 rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
22:55:15.003415 kill(8764, SIG_0) = 0
22:55:15.003541 rt_sigprocmask(SIG_UNBLOCK, [], NULL, 8) = 0
22:55:15.003656 rt_sigprocmask(SIG_UNBLOCK, [HUP INT USR1 USR2 TERM], NULL, 8)
= 0
22:55:15.003798 select(6, [5], NULL, NULL, {0, 0}) = 0 (Timeout)
22:55:15.003923 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1], [], 8) = 0
22:55:15.004074 rt_sigpending([]) = 0
22:55:15.004199 read(3, 0x7f6b35a791f0, 128) = -1 EAGAIN (Resource temporarily
unavailable)
22:55:15.004348 rt_sigaction(SIGHUP, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:15.004561 rt_sigaction(SIGINT, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:15.004748 rt_sigaction(SIGUSR1, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:15.004923 rt_sigaction(SIGUSR2, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:15.005104 rt_sigaction(SIGTERM, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:15.005285 rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
22:55:15.005421 select(6, [3 5], [], [], {2, 995964}) = 0 (Timeout)
22:55:18.004669 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1], NULL, 8) = 0
22:55:18.004960 rt_sigaction(SIGHUP, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:18.005197 rt_sigaction(SIGINT, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:18.005453 rt_sigaction(SIGUSR1, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:18.005699 rt_sigaction(SIGUSR2, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:18.005877 rt_sigaction(SIGTERM, {SIG_IGN, [], SA_RESTORER,
0x7f6b32d84480}, NULL, 8) = 0
22:55:18.006080 rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
22:55:18.006254 kill(8764, SIG_0) = 0
22:55:18.006419 rt_sigprocmask(SIG_UNBLOCK, [], NULL, 8) = 0
22:55:18.006538 rt_sigprocmask(SIG_UNBLOCK, [HUP INT USR1 USR2 TERM], NULL, 8)
= 0
22:55:18.006688 select(6, [5], NULL, NULL, {0, 0}) = 0 (Timeout)
22:55:18.006851 rt_sigprocmask(SIG_SETMASK, ~[KILL STOP RTMIN RT_1], [], 8) = 0
22:55:18.007006 rt_sigpending([]) = 0
22:55:18.007145 read(3, 0x7f6b35a791f0, 128) = -1 EAGAIN (Resource temporarily
unavailable)
22:55:18.007269 rt_sigaction(SIGHUP, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:18.007435 rt_sigaction(SIGINT, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:18.007621 rt_sigaction(SIGUSR1, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:18.007801 rt_sigaction(SIGUSR2, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:18.007981 rt_sigaction(SIGTERM, {0x7f6b334f7e80, ~[RTMIN RT_1],
SA_RESTORER, 0x7f6b32d84480}, {SIG_IGN, [], SA_RESTORER, 0x7f6b32d84480}, 8) = 0
22:55:18.008154 rt_sigprocmask(SIG_SETMASK, [], ~[KILL STOP RTMIN RT_1], 8) = 0
22:55:18.008289 select(6, [3 5], [], [], {2, 993029}^C <unfinished ...>
Process 8803 detached
Looks like it calls select with a timeout of about 3 seconds, along with a huge
pile of signal manipulation..
- Josh Triplett
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]