[Zope3-dev] FreeBSD Test Results - Zope 3 / Python 2.2 - OK :-)

Tim Peters tim@zope.com
Tue, 4 Mar 2003 21:28:02 -0500


[Barry Pederson]
> Actually, if you look at the patch, there wasn't anything at all
> FreeBSD-specific about the problem - it simply a small sliver of
> misguided python-coding.   I think an interesting question is...why was
> FreeBSD the only OS that tickled that particular bug?

Too bad it wasn't interesting enough for anyone using FreeBSD to bother
finding the answer <wink>.

> I guess it shows the value of cross-platform testing - maybe some
> difference in timing or process scheduling caused the threads or
> processes to do something in a different but still valid order.

Absolutely:  thread timing behavior is *wildly* different across platforms,
and provokes subtle bugs seemingly weekly.  Example:  at the moment, there
are no outstanding failures known under Zope head + Python 2.2.2.  However,
if I run them under Win98SE these three tests *almost* always hang, whether
run from the full test suite or in isolation:

     checkCommitLockVoteAbort
     checkCommitLockVoteClose
     checkCommitLockVoteFinish

Under Win2K, I never see them hang, and nobody sees them hang under Linux
either.  This is depressingly typical, and if it runs true to historical
form, we'll eventually find a subtle race in those test setups (or peculiar
socket behavior) that *could* have been provoked on any platform.  Win98SE
often seems to act like a Linux box with a load average so high it's about
to croak.  That makes testing on Win98 more valuable, though, not less -- it
provokes problems you'll see on Linux only at the worst possible time <0.9
wink>.