Comment 1 for bug 1155619

Revision history for this message
Jeff Lane  (bladernr) wrote :

Working on this... this seems to be a race that always loses (so not a race?) I think what is happening is that since we never clear out the lock correctly, it's cleared out by garbage collection on exit, but that causes the handler to remain open on a bad filehandle. At least thats my guess.

I have a branch that implements a lock release that runs when BackendInfo.stop() is fired at the end when we exit checkbox-cli, however this introduced a different problem.

Now I'm getting some bad_fd errors caused by the FifoWriters created at the beginning losing their target fds :/

Exception OSError: (9, 'Bad file descriptor') in <bound method FifoReader.__del__ of <checkbox.lib.fifo.FifoReader object at 0xa7f1e6c>> ignored
Exception OSError: (9, 'Bad file descriptor') in <bound method FifoWriter.__del__ of <checkbox.lib.fifo.FifoWriter object at 0xa7f1dec>> ignored

These are the objects created at the beginning... so now I'm trying to figure out what is going on here (I think it's trying to delete the Fifos that don't exist)