All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.