checkbox always exits with an error
Bug #1155619 reported by
Brendan Donegan
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Checkbox |
Fix Released
|
Medium
|
Jeff Lane |
Bug Description
When running checkbox it currently gives this error on exit - at least in headless mode:
checkbox-qt
/usr/bin/
Related branches
lp:~bladernr/checkbox/1155619-fix-exit-io-error
- Daniel Manrique (community): Approve
-
Diff: 115 lines (+27/-10)4 files modifiedcheckbox/lib/fifo.py (+6/-1)
debian/changelog (+4/-0)
plugins/lock_prompt.py (+16/-8)
plugins/persist_info.py (+1/-1)
Changed in checkbox-certification: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
affects: | checkbox-certification → checkbox |
description: | updated |
summary: |
- checkbox-certification-server always exits with an error + checkbox always exits with an error |
description: | updated |
Changed in checkbox: | |
status: | Confirmed → Triaged |
information type: | Proprietary → Public |
Changed in checkbox: | |
status: | In Progress → Fix Committed |
Changed in checkbox: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
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 lib.fifo. FifoWriter object at 0xa7f1dec>> ignored
Exception OSError: (9, 'Bad file descriptor') in <bound method FifoWriter.__del__ of <checkbox.
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)