network: 0.738 performance: 0.662 socket: 0.655 device: 0.564 semantic: 0.535 graphic: 0.481 architecture: 0.403 permissions: 0.401 ppc: 0.396 vnc: 0.374 register: 0.366 PID: 0.291 peripherals: 0.289 debug: 0.286 mistranslation: 0.268 risc-v: 0.235 x86: 0.201 i386: 0.201 boot: 0.168 hypervisor: 0.161 arm: 0.148 files: 0.137 user-level: 0.133 virtual: 0.123 VMM: 0.121 assembly: 0.117 TCG: 0.115 kernel: 0.098 KVM: 0.043 signal mask not reset on exec Seen in qemu-1.0 under 12.04, but AFAICT from current git it hasn't changed. ./main-loop.c:qemu_signal_init blocks SIGALRM so it can be handled via signalfd. ./net/tap.c:launch_script does not reset the signal mask before the execv() call, and signal masks are inherited. So the script is run with SIGALRM blocked (as can be seen in /proc/$$/status, "SigBlk: 0000000000002000"). One reasonable example of where this bites is an interface up script that calls ping with a timeout to give things a chance to settle down before continuing, but abort if this doesn't happen within a reasonable time). Since ping uses SIGALRM for the timeout, this now never terminates. qemu-0.14 didn't block SIGALRM, so such scripts worked fine there. Triaging old bug tickets... can you still reproduce this issue with the latest version of QEMU? Or could we close this ticket nowadays? [Expired for QEMU because there has been no activity for 60 days.]