summary refs log tree commit diff stats
path: root/results/classifier/118/PID/2423
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/118/PID/2423')
-rw-r--r--results/classifier/118/PID/242364
1 files changed, 64 insertions, 0 deletions
diff --git a/results/classifier/118/PID/2423 b/results/classifier/118/PID/2423
new file mode 100644
index 00000000..58dd1f98
--- /dev/null
+++ b/results/classifier/118/PID/2423
@@ -0,0 +1,64 @@
+PID: 0.960
+x86: 0.905
+performance: 0.877
+graphic: 0.868
+device: 0.779
+peripherals: 0.749
+permissions: 0.701
+semantic: 0.674
+debug: 0.645
+user-level: 0.611
+kernel: 0.562
+register: 0.560
+architecture: 0.553
+vnc: 0.508
+ppc: 0.508
+socket: 0.498
+network: 0.492
+boot: 0.448
+risc-v: 0.420
+i386: 0.418
+mistranslation: 0.400
+files: 0.386
+TCG: 0.372
+VMM: 0.362
+arm: 0.324
+KVM: 0.264
+hypervisor: 0.233
+virtual: 0.171
+assembly: 0.145
+
+`qemu -serial stdio` leaves stdout in non-blocking mode
+Description of problem:
+When `-serial stdio` is used, qemu exits leaving stdout in non-blocking mode. Although it [attempts](https://gitlab.com/qemu-project/qemu/-/blob/1a2d52c7fcaeaaf4f2fe8d4d5183dccaeab67768/chardev/char-stdio.c#L52) to restore stdin to blocking mode, it misses that stdout also gets O_NONBLOCK by [qemu_chr_open_fd](https://gitlab.com/qemu-project/qemu/-/blob/1a2d52c7fcaeaaf4f2fe8d4d5183dccaeab67768/chardev/char-stdio.c#L116) ([here](https://gitlab.com/qemu-project/qemu/-/blob/1a2d52c7fcaeaaf4f2fe8d4d5183dccaeab67768/chardev/char-fd.c#L215)). It causes the next applications in the script misbehave because they get unexpected EAGAIN on write to stdout.
+Steps to reproduce:
+Run the following script:
+
+```
+#!/usr/bin/env bash
+
+qemu-system-x86_64 -nodefaults -display none -no-reboot -serial stdio &
+PID="$!"
+sleep 5
+kill "$PID"
+wait "$PID"
+echo "EXITING $?"
+
+sleep 5
+seq 1 400000
+```
+
+The seq command will be interrupted prematurely:
+
+```
+...
+5143
+5144
+5145⏎                                                                                                                                                                                                                wResource temporarily unavailable
+write: Resource temporarily unavailable
+write: Resource temporarily unavailable
+```
+
+When run from fish shell, it will also start misbehaving when running next commands (fish bug report: https://github.com/fish-shell/fish-shell/issues/10600).
+Additional information:
+Expect a patch from me soon.