Mail Archives: cygwin/2006/07/12/01:21:42
I'm a python developer and we are trying to get python built on cygwin
passing the entire regression suite. It's pretty close already which
is amazing, but I'm hoping we can get *all* the tests working. These
tests currently work on about 10 different unix boxes and several
windows boxes too. We were originally running with 1.5.19. We
supposedly upgraded to 1.5.20-1, however from one of the error msgs,
it looks like we're still be running the old version. I didn't see
anything in the CHANGELOG for 1.5.20 -1that looked like these issues
were fixed though. I'll try to get this upgraded for real. This is
on an x86 WinXP box.
There are currently 4 known failures. I will provide the details and
links within this message. 3 non-fatal failures can be seen here:
http://www.python.org/dev/buildbot/all/x86%20cygwin%20trunk/builds/935/step-test/0
1 fatal failure that occurs from time to time can be seen here:
http://www.python.org/dev/buildbot/all/x86%20cygwin%20trunk/builds/939/step-test/0
In general, you can always view the current state of all tests here:
http://www.python.org/dev/buildbot/all/
*** Details:
One failure that seems to cascade into other failures is upon trying
to lock a file. The test is verifying that a second process can't
open a locked file. What I believe to be happening is that when the
lock fails, we try to unlock the file (which we didn't lock) and that
seems to cascade causing other failures later. It seems that no other
Unix system we test with has an error when trying to unlock this file,
though I'm not sure what POSIX says should happen. After this
failure, it seems we can't open the file again. I think there may be
other problems in this test, but this seems to cause many. Search for
test_lock_conflict in the first link above for more details about the
python code. The C code (see Modules/fcntlmodule.c fcntl_lockf) looks
like this:
l.l_start = l.l_len = 0;
l.l_type = F_UNLCK;
ret = fcntl(fd, F_SETLKW, &l);
The second failure seems to come about from calling msync
(Modules/mmapmodule.c mmap_flush_method). I believe we are just
calling:
msync(data, size, MS_SYNC)
and that is returning -1.
The third failure is getting a 'Connection reset by peer' on a socket
while trying to receive 100 bytes. The first part of the test seems
to go ok, but after several sockets, something gets screwed up.
The last failure only occurs sometimes. It causes python to crash
though. It seems to happen around forking to create new processes.
The error message is something like:
15 [main] python 3232 python.exe: *** fatal error - unable to
remap lib.cygwin-1.5.19-i686-2.5\datetime.dll to same address as
parent(0x19200000) != 0x66600000
8 [main] python 3100 child_copy: loaded dll data write copy
failed, 0x187E3000..0x187E3A00, done 0, windows pid 2259364, Win32
error 5
91443 [main] python 648 python.exe: *** fatal error - unable to
remap lib.cygwin-1.5.19-i686-2.5\datetime.dll to same address as
parent(0x19200000) != 0x66600000
96475 [main] python 3100 child_copy: loaded dll data write copy
failed, 0x187E3000..0x187E3A00, done 0, windows pid 2257908, Win32
error 5
Any help you can provide to resolve these issues would be great!
Thanks,
n
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -