Comment 9 for bug 717969

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

To keep the analysis record going: as far as I can see, getLogFromSlave is asynchronous. (I'd like to say it "blocks," but of course that's not technically correct since it returns control to the reactor while its callback chain waits).

My understanding is that at that point, a different builder could go through build_updated and accidentally commit the pending changes from handleStatus_DEPFAIL as a side effect. Then at some point control would return, getting us to got_log where the build's status is updated. Things continue up to the "clean" call to the slave; at that point another builder could conceivably go through an error and abort the pending changes from got_log.

If that is what happened, I think it would explain why the log shows no error for this build: other builds would have committed one part of this build's changes and rolled back another.