pasting into ppc64 serial console kills qemu

Bug #1639322 reported by Michal Suchanek
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Medium
Thomas Huth

Bug Description

- 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

Tags: ppc
Revision history for this message
Thomas Huth (th-huth) wrote :

What user interface are you using? VNC? SDL? GTK?

tags: added: ppc
Revision history for this message
Michal Suchanek (hramrach) wrote :

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.

Revision history for this message
Thomas Huth (th-huth) wrote :

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>

Changed in qemu:
assignee: nobody → Thomas Huth (th-huth)
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Thomas Huth (th-huth) wrote :

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)

Thomas Huth (th-huth)
Changed in qemu:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.