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. --