diff options
Diffstat (limited to 'results/scraper/launchpad/1639322')
| -rw-r--r-- | results/scraper/launchpad/1639322 | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/results/scraper/launchpad/1639322 b/results/scraper/launchpad/1639322 new file mode 100644 index 00000000..c4efd04e --- /dev/null +++ b/results/scraper/launchpad/1639322 @@ -0,0 +1,31 @@ +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) + |