diff options
Diffstat (limited to 'results/classifier/zero-shot/105/instruction/1061778')
| -rw-r--r-- | results/classifier/zero-shot/105/instruction/1061778 | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/105/instruction/1061778 b/results/classifier/zero-shot/105/instruction/1061778 new file mode 100644 index 000000000..f1861c20f --- /dev/null +++ b/results/classifier/zero-shot/105/instruction/1061778 @@ -0,0 +1,27 @@ +instruction: 0.757 +network: 0.738 +socket: 0.655 +device: 0.564 +semantic: 0.535 +graphic: 0.481 +vnc: 0.374 +mistranslation: 0.268 +boot: 0.168 +other: 0.128 +assembly: 0.117 +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.] + |