← Back to team overview

kernel-packages team mailing list archive

[Bug 1429756] Re: FTBFS: test_job_process fails in majority of cases

 

Ok, after a lot of testing and reading of the traces we are seeing a
spurious EIO reported to the read at the end of the file.  This in
combination with the way nih handles IO means we lose the last buffer of
the file at times.  From the strace log:

    1396  read(17, 0x7f78214c3b30, 4096)    = -1 EIO (Input/output
error)

Looking through the v3.19 changelogs the following commit looks
suspicious:

  commit 52bce7f8d4fc633c9a9d0646eef58ba6ae9a3b73
  Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
  Date:   Wed Nov 5 12:13:05 2014 -0500

    pty, n_tty: Simplify input processing on final close
    
    When releasing one end of a pty pair, that end may just have written
    to the other, which the input processing worker, flush_to_ldisc(), is
    still working on but has not completed the copy to the other end's
    read buffer. So input may not appear to be available to a waiting
    reader but yet TTY_OTHER_CLOSED is now observed. The n_tty line
    discipline has worked around this by waiting for input processing
    to complete and then re-checking if input is available before
    exiting with -EIO.
    
    Since the tty/ldisc lock reordering, the wait for input processing
    to complete can now occur during final close before setting
    TTY_OTHER_CLOSED. In this way, a waiting reader is guaranteed to
    see input available (if any) before observing TTY_OTHER_CLOSED.
    
    Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx>
    Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

Indeed reverting this change seems to eliminate these symtoms.

** Summary changed:

- FTBFS: test_job_process fails in majority of cases
+ FTBFS: upstart test_job_process fails in majority of cases

** Summary changed:

- FTBFS: upstart test_job_process fails in majority of cases
+ FTBFS: upstart test_job_process fails in majority of cases / Kernel returning unexpected EIO at near of file

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1429756

Title:
  FTBFS: upstart test_job_process fails in majority of cases / Kernel
  returning unexpected EIO at near of file

Status in linux package in Ubuntu:
  In Progress
Status in upstart package in Ubuntu:
  New
Status in linux source package in Vivid:
  In Progress
Status in upstart source package in Vivid:
  New

Bug description:
  As you see in the history in https://jenkins.qa.ubuntu.com/job/vivid-
  adt-upstart/?, upstart's test fail almost all the time, on

  ok 53 - with single line command writing fast and exiting
  not ok 54 - with single line command writing lots of data fast and exiting
   wrong value for bytes, expected 3145728 got 3018027
   at tests/test_job_process.c:3886 (test_start).
  1..153
  FAIL: test_job_process

  Sometimes they succeed on one architecture, and with lots of luck on
  both, but this is way too flaky to be an useful test. This keeps
  blocking the propagation of other packages from -proposed.

  This was most likely triggered by the kernel update from 3.18 to 3.19.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1429756/+subscriptions