Bug#399904: gnupg: --list-keys hangs at ctrl-C
This is follow up to the bug #399904 in Debian. It is now assigned to libc6, but I think that this would be a bug of GnuPG 1.4.x. The call sequence in question is: g10/signal.c:got_fatal_signal - util/dotlock.c:dotlock_remove_lockfiles - util/dotlock.c:dotlock_destroy - free Here, free is not a one of async-signal-safe functions (see: signal(7) ). When the signal handler is called interrupting malloc or related, hang might occur. -- -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1373532232.3226.6.ca...@cfw2.gniibe.org
Bug#399904: gnupg: --list-keys hangs at ctrl-C
On Thu, 11 Jul 2013 10:43, gni...@fsij.org said: Here, free is not a one of async-signal-safe functions (see: signal(7) ). When the signal handler is called interrupting malloc or related, hang might occur. Argh. A fix for that would be a function which sets a flag in the dotlock module to skip all async functions. We can't do it directly because the cleanup is dones via atexit. Shalom-Salam, Werner -- Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz. -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/87li5dtnty@vigenere.g10code.de
Bug#399904: gnupg: --list-keys hangs at ctrl-C
found 399904 2.13-37 thanks On 2006-11-23 09:39:23 +0100, Werner Koch wrote: I was able to duplicate this after some tries. strace shows that it hangs in futex(0xb7ea9880, FUTEX_WAIT, 2, NULL) = -1 EINTR (Interrupted system call) I can also reproduce this bug, with the same example. The strace ends with: [...] 21935 write(1, sub 4096R/F4958D46 2012-02-10\n, 32) = 32 21935 write(1, \n, 1) = 1 21935 getrusage(RUSAGE_SELF, {ru_utime={0, 768048}, ru_stime={0, 40002}, ...}) = 0 21935 times({tms_utime=76, tms_stime=4, tms_cutime=0, tms_cstime=0}) = 1828252106 21935 lseek(6, 0, SEEK_SET) = 0 21935 lseek(6, 2153824, SEEK_SET) = 2153824 21935 read(6, \231\1\242\4F!9\1\21\4\0\226\225\217\307\\BL\266+\37\270\34\0-Z\245\374\371\3373..., 8192) = 8192 21935 read(6, f\304B\17L\266B\277\311\1\231\210F\4\20\21\2\0\6\5\2Fq\204\374\0\n\t\0205\326\254..., 8192) = 8192 21935 --- SIGINT (Interrupt) @ 0 (0) --- 21935 munmap(0x7f5fe36c1000, 32768) = 0 21935 write(2, \n, 1) = 1 21935 write(2, gpg, 3)= 3 21935 write(2, : , 2) = 2 21935 write(2, Interrupt, 9) = 9 21935 write(2, caught ... exiting\n, 20) = 20 21935 rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7f5fe24c34f0}, NULL, 8) = 0 21935 unlink(/home/vinc17/.gnupg/.#lk0x124feb0.xvii.21935) = 0 21935 futex(0x7f5fe2816e60, FUTEX_WAIT_PRIVATE, 2, NULL) = ? ERESTARTSYS (To be restarted) 21935 --- SIGQUIT (Quit) @ 0 (0) --- 21935 tgkill(21935, 21935, SIGQUIT) = 0 [...] My machine has: gnupg 1.4.12-6 libc6 2.13-37 Linux xvii 3.5-trunk-amd64 #1 SMP Debian 3.5.5-1~experimental.1 x86_64 GNU/Linux -- Vincent Lefèvre vinc...@vinc17.net - Web: http://www.vinc17.net/ 100% accessible validated (X)HTML - Blog: http://www.vinc17.net/blog/ Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon) -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20121209173943.ga22...@xvii.vinc17.org
Processed: Re: Bug#399904: gnupg: --list-keys hangs at ctrl-C
Processing commands for cont...@bugs.debian.org: found 399904 2.13-37 Bug #399904 [libc6] gnupg: --list-keys hangs at ctrl-C Marked as found in versions eglibc/2.13-37. thanks Stopping processing here. Please contact me if you need assistance. -- 399904: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399904 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/handler.s.c.135507478518855.transcr...@bugs.debian.org