It seems that os.open(..., os.O_NONBLOCK) nevertheless does block, so self.fd is not replaced. If ConsoleLogger.close() gets called at this point from another thread, then a double close is attempted. The fix for this is trivial, although I'm still baffled by how this is possible in eventlet. I also can't seem to be able to reproduce it in a test. However I have reproduced by hand, and have verified that the fix appears to work. The fix is also trivial enough that I'm confident it won't cause any other issues.
** Patch added: "868349.patch" https://bugs.launchpad.net/ubuntu/+source/nova/+bug/868349/+attachment/2513481/+files/868349.patch -- You received this bug notification because you are a member of Ubuntu Server Team, which is subscribed to nova in Ubuntu. https://bugs.launchpad.net/bugs/868349 Title: instances do not stop correctly To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/nova/+bug/868349/+subscriptions -- Ubuntu-server-bugs mailing list Ubuntu-server-bugs@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs