I also found it first in PySerial, but it affects everything down to the underlying poll() implementation. Demo C code is attached (compile with -Wall -std=gnu99). Under -63 the poll() call blocks for the 1 second it's supposed to, a ping is sent once a second, and if you short pins 2-3 of the serial port the ping loops back and the code starts running I/O bound; pinging as fast as it can until you remove the screwdriver.
Under -65 poll() returns immediately even with nothing to read and the console I/O is the only thing restraining the process. In short, this is a driver bug, not a Python specific thing, and most likely breaks any code that relies on select, poll, or epoll for serial I/O. ** Attachment added: "Code demonstrating poll() problem in 3.13.0-65-generic" https://bugs.launchpad.net/ubuntu/+source/linux-lts-trusty/+bug/1501345/+attachment/4485041/+files/serialpoll.c -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1501345 Title: linux-image-3.13.0-65-generic 3.13.0-65 breaks Python based Serial communication To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux-lts-trusty/+bug/1501345/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs