David Oswald
2013-05-16 04:15:32 UTC
I noticed Andreas Koenig opened a bug report on Inline (RT#85336)
wherein he asserts there's probably a race condition present, as he's
finding that operating several smokers in parallel will sometimes
result in failures.
This may be related to an issue I see, where running Inline::CPP's
test suite with HARNESS_OPTIONS=j9 will also result in failures.
Inline::CPP's tests are not sensitive to script order (tests within a
script must be run in order, but it shouldn't matter what order the
test scripts are run). As they're not order-sensitive, failure under
harness parallel testing has to point to a race condition within
Inline::CPP or Inline.
I'm going to look over Inline::CPP's code base with added scrutiny to
assure that any IO operations it owns are implementing flocking. But
it doesn't own many IO operations; most IO is pushed off to Inline, or
the compilers themselves.
One area I hadn't previously considered is Makefile.PL itself, which
opens a file for output. That should be fine under normal user
conditions, but could present a problem for smokers running in
parallel.
Dave
--
David Oswald
daoswald-***@public.gmane.org
wherein he asserts there's probably a race condition present, as he's
finding that operating several smokers in parallel will sometimes
result in failures.
This may be related to an issue I see, where running Inline::CPP's
test suite with HARNESS_OPTIONS=j9 will also result in failures.
Inline::CPP's tests are not sensitive to script order (tests within a
script must be run in order, but it shouldn't matter what order the
test scripts are run). As they're not order-sensitive, failure under
harness parallel testing has to point to a race condition within
Inline::CPP or Inline.
I'm going to look over Inline::CPP's code base with added scrutiny to
assure that any IO operations it owns are implementing flocking. But
it doesn't own many IO operations; most IO is pushed off to Inline, or
the compilers themselves.
One area I hadn't previously considered is Makefile.PL itself, which
opens a file for output. That should be fine under normal user
conditions, but could present a problem for smokers running in
parallel.
Dave
--
David Oswald
daoswald-***@public.gmane.org