diff options
Diffstat (limited to 'results/classifier/108/other/1639322')
| -rw-r--r-- | results/classifier/108/other/1639322 | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/results/classifier/108/other/1639322 b/results/classifier/108/other/1639322 new file mode 100644 index 000000000..98124e7e6 --- /dev/null +++ b/results/classifier/108/other/1639322 @@ -0,0 +1,46 @@ +graphic: 0.864 +other: 0.706 +performance: 0.667 +debug: 0.610 +semantic: 0.572 +device: 0.552 +permissions: 0.515 +PID: 0.487 +network: 0.456 +files: 0.425 +vnc: 0.398 +socket: 0.369 +boot: 0.211 +KVM: 0.102 + +pasting into ppc64 serial console kills qemu + +- run qemu-system-ppc64 +- when X window appears press Ctrl+Alt+3 +- paste any text longer than 16 characters + + +qemu-system-ppc64: /home/abuild/rpmbuild/BUILD/qemu-2.6.1/hw/char/spapr_vty.c:40: vty_receive: Assertion `(dev->in - dev->out) < 16' failed. +Aborted (core dumped) + +Broken in SUSE Leap 42.2 and git 4eb28abd52d48657cff6ff45e8dbbbefe4dbb414 + +What user interface are you using? VNC? SDL? GTK? + +This is gtk interface. + +However, the function on line 40 os spapr_vty.c looks really insane. + +It asserts that it is not given more data to input in a ring buffer than is size of the buffer and then stuffs all the data in regardless of the amount of data already present. + +It should probably loop or one of its callers but I did not find a decent comparable piece of code to cut and paste whatever callbacks are needed for the other side to consume the bytes. + +OK, seems like you need to compile QEMU with CONFIG_VTE enabled (i.e. with the vte-devel packages installed before running configure) to get copy-n-paste support in the GTK interface, that's why I was initially not able to reproduce this issue. +Anyway, now I can trigger the assert(), too, and I've suggested a patch here: + +http://marc.info/?<email address hidden> + +FWIW, the crash should be fixed by this commit here: +http://git.qemu.org/?p=qemu.git;a=commitdiff;h=7bacfd7f7289192c83330 +(but we still need to fix the gtk side, too, to only send as much characters at once as the receiving side can take) + |