gpg wait thread broken (on some pythons)

Bug #1326944 reported by Andrew Stubbs
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Duplicity
New
Undecided
Unassigned

Bug Description

When duplicity launches GPG it uses a thread to contain the waitpid call, but this doesn't work on my machine. I have python 2.6 on an ARMv5te system, and I'm guessing this is somehow significant.

The problem is, I think, that Python threading isn't true threading (in my case), and the wait thread blocks the main thread. The result is that it wait for GPG to exit before it has transmitted the passphrase or any of the data. This means that the whole process hangs up, and no backup happens.

Anyway, whatever the precise cause, if I remove the whole thread, and replace the "thread.join" call with a direct call to waitpid, then all works as expected.

In fact, the current use of waitpid appears to show a misunderstanding of how it works; for example, there's a debug log line that suggests it can fail if waitpid is called after the child has already exited, which I don't believe is true, in Linux. That said, perhaps there's an OS out there that works differently?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.