Builds on buildsys.fedoraproject.org fails, but the build self will work.
Michael Schwendt
mschwendt.tmp0701.nospam at arcor.de
Wed Sep 19 08:37:52 UTC 2007
On Tue, 18 Sep 2007 22:36:15 -0400, Dan Williams wrote:
> > [1] http://home.arcor.de/ms2002sep/tmp/plague-0.4.4.1-racecondition.patch
>
> Workaround looks sane, diagnosis is correct, thanks for tracking this
> down and fixing it. Out of curiosity, did a mock update or a hardware
> change exacerbate the issue? We only just started seeing this after ~2
> years of using plague.
I have doubts that the .../mock-state/status file is in sync with
mock. It either shows symptoms of buffering or changes too
quickly. It stays in "prep" for most of the time, then very
quickly steps through "setu" -> "buil" -> "done". So quickly that
plague-builder cannot sleep for 3 secs without missing the state
changes before mock is done.
Perhaps this is different for longer builds which don't run for just
6-8 minutes.
Look at this debug log excerpt made when plague-builder was monitoring
the "prepping" step (the "string" value is the four chars from the
mock-state file after a refresh):
Running _status_prepping: prepping
string = prep
_watch_mock(): waitpid = 0,0
continuing _status_prepping: prepping
string = prep
Running _status_prepping: prepping
string = done
^ here mock-state changed while plague-builder was sleeping for 3s
=> from "prep" to mock-exit in plague-builder's view (!)
=> when not reloading mock's state file to verify
string = done
_watch_mock(): waitpid = 4139,0
_watch_mock(): PID 4139 exit status 0
Setting Status Good! - failed
^ this is based on the assumption that a mock-exit during
"prepping" would always be an error condition despite the
zero exit code
init
clean
prep
This may take a while
setup
build
ending
done
^ this is what mock has processed actually while plague-builder
assumed that mock still was doing only "prep"+"setu"
Results and/or logs in: /mnt/build/builder_work/46bb3113e41a4745e4b1217cb9d5b6b8ef5cc73b/result
Cleaning up the buildroot...
/usr/bin/setarch ppc32 /usr/bin/mock clean --uniqueext=46bb3113e41a4745e4b1217cb9d5b6b8ef5cc73b -r fedora-6-ppc-core
More information about the fedora-devel-list
mailing list