[Numpy-discussion] Segfault in mingw in test_arrayprint.TestComplexArray

Ondřej Čertík ondrej.certik at gmail.com
Fri Jul 20 07:24:49 EDT 2012


>> So I have tried the MinGW-5.0.3.exe in Wine, but it tries to install
>> from some wrong url and it fails to install.
>> I have unpacked the tarballs by hand into "~/.wine/drive_c/MinGW":
>>
> Not surprising, that MinGW is really getting old. It's still the last
> available one with gcc 3.x as IIRC.

To make things reproducible, I've put all my packages in this repository:

https://github.com/certik/numpy-vendor

>
>>
>> binutils-2.17.50-20070129-1.tar.gz
>> w32api-3.7.tar.gz
>> gcc-g77-3.4.5-20051220-1.tar.gz
>> gcc-g++-3.4.5-20051220-1.tar.gz
>> gcc-core-3.4.5-20051220-1.tar.gz
>> mingw-runtime-3.10.tar.gz
>>
>> also in the same directory, I had to do:
>>
>> cp ../windows/system32/msvcr90.dll lib/
>
>
> Looks like I have an older Wine, not sure if it makes a difference:
>
> $ locate msvcr90.dll
> /Users/rgommers/.wine/drive_c/windows/winsxs/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375/msvcr90.dll
> /Users/rgommers/__wine/drive_c/windows/winsxs/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375/msvcr90.dll
>
> $ locate msvcr71.dll
> /Users/rgommers/.wine/drive_c/windows/system32/msvcr71.dll
> /Users/rgommers/Code/wine/dlls/msvcr71/msvcr71.dll.fake
> /Users/rgommers/Code/wine/dlls/msvcr71/msvcr71.dll.so
> /Users/rgommers/__wine/drive_c/windows/system32/msvcr71.dll
> /Users/rgommers/wine/build/wine-1.1.39/dlls/msvcr71/msvcr71.dll.fake
> /Users/rgommers/wine/build/wine-1.1.39/dlls/msvcr71/msvcr71.dll.so
> /Users/rgommers/wine/wine-1.1.39/lib/wine/fakedlls/msvcr71.dll
> /Users/rgommers/wine/wine-1.1.39/lib/wine/msvcr71.dll.so
> /usr/local/lib/wine/fakedlls/msvcr71.dll
> /usr/local/lib/wine/msvcr71.dll.so

Actually, I made a mistake --- the one in
drive_c/windows/system32/msvcr90.dll does not work for me.
The one I use is installed by the Python installer (as I found out)
and it is in:

drive_c/windows/winsxs/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375/msvcr90.dll

Which seems to be the same as the one that you use. Just in case, I've
put it here:

https://github.com/certik/numpy-vendor/blob/master/msvcr90.dll

>
>
>>
>>
>> Also I've added the bin directory to PATH using the following trick:
>>
>> $ cat > tmp <<EOF
>> REGEDIT4
>>
>> [HKEY_CURRENT_USER\Environment]
>> "PATH"="C:\\\\MinGW\\\\bin"
>> EOF
>> $ wine regedit tmp
>>
>>
>>
>> Then I build and installed numpy using:
>>
>> wine "C:\Python27\python" setup.py build --compiler=mingw32 install
>>
>> And now there is no segfault when constructing a complex array! So
>> newer (newest) mingw miscompiles NumPy somehow...
>>
>>
>> Anyway, running tests, it gets much farther then before, now it hangs at:
>>
>>
>> test_multiarray.TestIO.test_ascii ...
>> err:ntdll:RtlpWaitForCriticalSection section 0x785b7428 "?" wait timed
>> out in thread 0009, blocked by 0000, retrying (60 sec)
>> fixme:keyboard:X11DRV_ActivateKeyboardLayout 0x4090409, 0000: semi-stub!
>> err:ntdll:RtlpWaitForCriticalSection section 0x785b7428 "?" wait timed
>> out in thread 0009, blocked by 0000, retrying (60 sec)
>> err:ntdll:RtlpWaitForCriticalSection section 0x785b7428 "?" wait timed
>> out in thread 0009, blocked by 0000, retrying (60 sec)
>> ...
>>
>> Not sure what this problem is yet.


This however is a big problem. I've tested it on the actual Windows
64bit XP box, and the test simply segfaults at this place.
Ralf, I should note, that your latest scipy RC tests also segfault on
my Windows machine, so maybe something is wrong with the machine...

Ondrej



More information about the NumPy-Discussion mailing list