Hi Mark, I have now upgraded to qemu 2.8 and successfully run more than 20 scripted installs of NetBSD/sparc over a serial console without failures, so it does indeed look like the bug is now fixed, and the bug report can be closed.
-- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1399943 Title: qemu-system-sparc loses serial console data on EAGAIN Status in QEMU: New Bug description: When running a guest OS with a serial console under "qemu-system-sparc -nographic", parts of the serial console output are sometimes lost. This happens when a write() to standard output by qemu returns EAGAIN, as may be the case when the guest is generating console output faster than the tty (or pty/pipe/socket, etc.) connected to qemu's standard output accepts it. The bug affects all releases of qemu since 1.5, which was the first version to set stdout to O_NONBLOCK mode. Version 1.4.2 and earlier work correctly. To reproduce the bug, you will need a guest OS configured with a serial console, and a host with a slow tty. The attached shell script "sparc-test.sh" does this by using Aboriginal Linux as the serial console guest, and a pty controlled by a Python script and the "pexpect" Python module as the slow tty. A "seq" command is sent to the guest to generate 100,000 lines of output containing sequential integers, and the output is checked for gaps. The script limits the tty output rate by occasionally sleeping for 1/10 of a second. This bug was originally reported against qemu-system-i386 as bug #1335444, and has since been fixed in qemu-system-i386, but remains in qemu-system-sparc as of today's git sources (d00e6cddc220de993573dfb5fd160ac72ccd49ab). I am opening this separate bug for the sparc case because I was asked to do so by Paolo Bonzini in #1335444. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1399943/+subscriptions