[Python-Dev] cygwin errors

Tim Peters tim.one@comcast.net
Thu, 17 Jul 2003 21:16:43 -0400


[Jason Tishler]
> I get the following:
>
>     $ ./python.exe -E -tt ../Lib/test/regrtest.py -l -x test_poll \
>     test_popen test_popen2 test_pty test_queue test_select
>     test_signal \ test_socket test_tempfile test_thread test_grammar
>     [snip]
>     test_zlib
>     210 tests OK.
>     4 tests failed:
>         test___all__ test_csv test_netrc test_time
>     31 tests skipped:
>         test_aepack test_al test_bsddb185 test_bsddb3 test_cd test_cl
>         test_curses test_dbm test_email_codecs test_gl test_imgfile
>         test_ioctl test_largefile test_linuxaudiodev test_locale
>         test_macfs test_macostools test_mpz test_nis
>         test_normalization test_ossaudiodev test_pep277 test_plistlib
>         test_scriptpackages test_socketserver test_sunaudiodev
>         test_timeout test_unicode_file test_urllibnet test_winreg
>     test_winsound 1 skip unexpected on cygwin:
>         test_ioctl
>
> Note that the excluded tests above work fine when run separately:
>
>     $ ./python.exe -E -tt ../Lib/test/regrtest.py -l test_poll \
>     test_popen test_popen2 test_pty test_queue test_select
>     test_signal \ test_socket test_tempfile test_thread
>     test_poll
>     test_popen
>     test_popen2
>     test_pty
>     test_queue
>     test_select
>     test_signal
>     test_socket
>     test_tempfile
>     test_thread
>     All 10 tests OK.
>
> I appreciate the heads up.  I will dig deeper...

I've got a bad feeling that we may have a wild store (or such like) in 2.3.
A day or two ago, Jeremy got a senseless and irreproducible error when
running a ZODB test after compiling with 2.3 CVS, and just now I tried
running regrtest with -r on Win98SE (-r randomizes test case order).  That
triggered an error I've never seen before and can't reproduce:

test test_time failed -- Traceback (most recent call last):
  File "C:\CODE\PYTHON\lib\test\test_time.py", line 49, in test_strptime
    self.fail('conversion specifier: %r failed.' % format)
  File "C:\CODE\PYTHON\lib\unittest.py", line 260, in fail
    raise self.failureException, msg
AssertionError: conversion specifier: ' %c' failed.

Nothing *screams* "wild store", though.  For example, the failure in
test_time may be due to some other test mucking with locale but not cleaning
up after itself -- I simply don't know, and (worse) don't have time to pour
into it.

Possible helps:  Check out regrtest's -f option (great for doing "binary
searches" when a failure depends on running a certain subset of tests in a
certain order).  Try running the tests under a debug build (pymalloc's
debugging armor in 2.3 debug builds catches many problems).  If you get a
reproducible baffling failure, try disabling cyclic gc (import gc;
gc.disable()) to see whether the problem goes away (problems never get
pinned on cyclic gc, but cyclic gc is often sensitive to out-of-bounds
writes elsewhere).