I modified the script that I wrote to try to reproduce this error and
was able to consistantly see IO errors when the script was added to the
cloud-config-archive being passed to an image. Instead of writing only
to either /dev/console or the real serial device which was /dev/ttyS0
here, each thread writes to both and calls .flush() on one after the
other. Without writing to both /dev/console and /dev/ttyS0 I have not
seen any IOErrors, so I believe that this may have something to do with
the mechanism for /dev/console being forwarded into /dev/ttyS0.

I have not yet been able to cause an IO error using this script on its
own, only when it is being run by cloud-init. I think this might be
because of the cloud-final.service file specifying output from cloud-
init to be written to console as well, causing another simultaneous
write. I will work on trying to modify this script so that it can
trigger the error when being run on its own as well.

I think that in the original error occuring during curtin vmtests some
other process may have been writing to /dev/ttyS0 as cc_ssh_authkeys was
writing to /dev/console via util.multi_log, causing this error to occur

With this script in cloud-init userdata I have seen at least one or two
OSErrors in serial output each time the system has been tested.

New script: http://paste.ubuntu.com/15906498/
Example serial.log output from launch framework similar to curtin vmtests: 
http://paste.ubuntu.com/15906571/
There is a well formatted stacktrace on line 6730 and several others higher up 
that are difficult to read

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1473527

Title:
  module ssh-authkey-fingerprints fails Input/output error: /dev/console

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1473527/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to