* [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN
@ 2014-12-06 15:26 Andreas Gustafsson
2016-11-04 10:33 ` [Qemu-devel] [Bug 1399943] " Andreas Gustafsson
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: Andreas Gustafsson @ 2014-12-06 15:26 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
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.
** Affects: qemu
Importance: Undecided
Status: New
** Attachment added: "Shell script for reproducing the bug"
https://bugs.launchpad.net/bugs/1399943/+attachment/4275291/+files/sparc-test.sh
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [Bug 1399943] Re: qemu-system-sparc loses serial console data on EAGAIN
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
@ 2016-11-04 10:33 ` Andreas Gustafsson
2016-11-04 15:55 ` Mark Cave-Ayland
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Andreas Gustafsson @ 2016-11-04 10:33 UTC (permalink / raw)
To: qemu-devel
The automated test infrastructure of the NetBSD project is based on
qemu, and runs some 100 CPU-hours per day of full system tests of
NetBSD-current on emulated i386, amd64, and sparc systems.
This is all still running on qemu 0.15 (!). The main obstacle to
upgrading to a current version of qemu is this three-year-old regression
which breaks the sparc tests by losing some of the serial console output.
It would be really nice if this could be fixed.
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [Bug 1399943] Re: qemu-system-sparc loses serial console data on EAGAIN
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
2016-11-04 10:33 ` [Qemu-devel] [Bug 1399943] " Andreas Gustafsson
@ 2016-11-04 15:55 ` Mark Cave-Ayland
2016-11-06 10:10 ` Andreas Gustafsson
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Mark Cave-Ayland @ 2016-11-04 15:55 UTC (permalink / raw)
To: qemu-devel
Hi Andreas,
I've just done a local test using git master qemu-system-sparc here and
your test script passes (i.e. reaches 100000 iterations) without any
failures locally. I know that Daniel has done a lot of work in this area
in the past 2 releases so perhaps this has fixed the issue. Please can
you test locally with git master and report back?
Many thanks,
Mark.
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [Bug 1399943] Re: qemu-system-sparc loses serial console data on EAGAIN
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
2016-11-04 10:33 ` [Qemu-devel] [Bug 1399943] " Andreas Gustafsson
2016-11-04 15:55 ` Mark Cave-Ayland
@ 2016-11-06 10:10 ` Andreas Gustafsson
2016-11-19 14:58 ` Andreas Gustafsson
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Andreas Gustafsson @ 2016-11-06 10:10 UTC (permalink / raw)
To: qemu-devel
Hi Mark,
I tested the git master and the 2.7.0 release, and both successfully
executed the scripted NetBSD/sparc install that had been failing since
1.5.
So it does indeed look like the bug has been fixed. I will still run a
few more tests to be sure, and if those also pass, this bug report can
be closed. Thank you.
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [Bug 1399943] Re: qemu-system-sparc loses serial console data on EAGAIN
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
` (2 preceding siblings ...)
2016-11-06 10:10 ` Andreas Gustafsson
@ 2016-11-19 14:58 ` Andreas Gustafsson
2016-12-30 18:17 ` Mark Cave-Ayland
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Andreas Gustafsson @ 2016-11-19 14:58 UTC (permalink / raw)
To: qemu-devel
I have now run some more tests, and I'm still seeing occasional failures
in the scripted NetBSD installs that look like console data loss when
using qemu 2.7.0, with maybe one in ten installs failing. I have seen
no failures so far using the git master. So it looks like the bug is
fixed in git, but not yet in 2.7.0.
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [Bug 1399943] Re: qemu-system-sparc loses serial console data on EAGAIN
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
` (3 preceding siblings ...)
2016-11-19 14:58 ` Andreas Gustafsson
@ 2016-12-30 18:17 ` Mark Cave-Ayland
2017-01-04 10:18 ` Andreas Gustafsson
2017-01-06 13:57 ` Mark Cave-Ayland
6 siblings, 0 replies; 8+ messages in thread
From: Mark Cave-Ayland @ 2016-12-30 18:17 UTC (permalink / raw)
To: qemu-devel
Hi Andreas,
Does the new 2.8 release pass your tests? If so, I will close this bug
report.
ATB,
Mark.
--
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [Bug 1399943] Re: qemu-system-sparc loses serial console data on EAGAIN
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
` (4 preceding siblings ...)
2016-12-30 18:17 ` Mark Cave-Ayland
@ 2017-01-04 10:18 ` Andreas Gustafsson
2017-01-06 13:57 ` Mark Cave-Ayland
6 siblings, 0 replies; 8+ messages in thread
From: Andreas Gustafsson @ 2017-01-04 10:18 UTC (permalink / raw)
To: qemu-devel
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
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [Bug 1399943] Re: qemu-system-sparc loses serial console data on EAGAIN
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
` (5 preceding siblings ...)
2017-01-04 10:18 ` Andreas Gustafsson
@ 2017-01-06 13:57 ` Mark Cave-Ayland
6 siblings, 0 replies; 8+ messages in thread
From: Mark Cave-Ayland @ 2017-01-06 13:57 UTC (permalink / raw)
To: qemu-devel
Fix confirmed in QEMU 2.8 release.
** Changed in: qemu
Status: New => Fix Released
--
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:
Fix Released
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
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-01-06 14:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-06 15:26 [Qemu-devel] [Bug 1399943] [NEW] qemu-system-sparc loses serial console data on EAGAIN Andreas Gustafsson
2016-11-04 10:33 ` [Qemu-devel] [Bug 1399943] " Andreas Gustafsson
2016-11-04 15:55 ` Mark Cave-Ayland
2016-11-06 10:10 ` Andreas Gustafsson
2016-11-19 14:58 ` Andreas Gustafsson
2016-12-30 18:17 ` Mark Cave-Ayland
2017-01-04 10:18 ` Andreas Gustafsson
2017-01-06 13:57 ` Mark Cave-Ayland
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.