wine and aol7 [was: Re: New Winsock2 patch series - now tested]

Michael Cardenas michael.cardenas at lindows.com
Wed Apr 24 13:20:33 CDT 2002


Hello Martin. 

I tested your new series of patches with aol7 and I get a crash. Attached is 
the output of aol7 with the segfault caused by the last series of patches. 

The wine debugger comes up and says 
" Unhandled exception: page fault on read access to 0x00000000 in 32bit 
code...

FILE_GetUnixHandleType+0x4c [file.c: 346] in libntdll.dll.so
346  if (((access & GENERIC_READ) && (*flags & FD_FLAG_RECV_SHUTDOWN) ) ||"

I've been working on trying to figure out why aol7 doesn't work under wine 
for a few weeks, but I was using the old code up until now.  Actually, with 
the current wine tree, you can launch aol and login, but you can't get any 
web content or your buddy list. I think that both of these operations go 
through aol's web proxies and require a successful handshake with the proxy 
to succeed. 

Getting aol to run under wine is a major priority for us here at Lindows 
because of 1.) the sheer size of the installed base of aol users, which is in 
the tens of millions, and 2.) the fact that for people who rely on aol for 
internet access, linux is basically useless. 

Basically, what I know is that aol7 uses asynchronous sockets, but doesn't 
seem to use overlapped io, unless you're on a modem. When aol is trying to 
connect to it's web proxy it only sends one packet out when running under 
wine, and then after a while gets an ACK packet in response from the proxy. 
The one packet that gets sent is completely identical to the one sent under 
windows. Under windows, it actually sends out three packets in rapid 
succession, and then gets a response from the proxy. The packets sent are 
using the AIM protocol and can be examined using ethereal under windows and 
under linux. The handshake between the aol client and the proxy is as follows:

client -> AIM packet, family: 0x5472
client -> AIM packet, family: 0x5472
client -> AIM packet, family: 0x7963
proxy -> AIM packet, family: 0x7963

I looked at the return code from ws2_32.send and it claims that the requested 
number of bytes were sent successfully. Also, there are no obvious errors 
around the time that the handshake packets are sent. I can send the output of 
+winsock once I get this new seg fault resolved. 

I have to thank you for the amazing work you're doing on sockets and 
overlapped IO, and for any help you would be so generous as to offer me. 

Thanks
     michael

On Tuesday 23 April 2002 01:39 pm, Martin Wilck wrote:
> Hi,
>
> I will now start to submit a new series of patches for
> Winsock2-related issues. Most of it is for overlapped IO, but there are
> some other issues, too.
>
> I have done a fair bit of testing with 16 and 32 bit network-oriented
> Windows apps, and found no regressions (well some apps wouldn't install or
> run with either the CVS version or my patched version of wine).

-- 
michael cardenas
lead windows compatibility engineer
lindows.com

"Be the change you want to see in the world"
-Mahatma Gandhi
-------------- next part --------------
Could not stat /mnt/amnt/cdrom1 (No such file or directory), ignoring drive M:
trace:file:FILE_DoOpenFile reg.dat OF_READ OF_SHARE_COMPAT 
trace:file:FILE_DoOpenFile reg.dat 0000
warn:file:FILE_DoOpenFile 'reg.dat' not found or sharing violation
warn:file:FILE_DoOpenFile (reg.dat): return = HFILE_ERROR error= 2
trace:file:CreateFileA C:\Program Files\aol7-98-3\aol.exe GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Windows\System\MSVCRT.DLL GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
err:font:AddFontFileToList Unable to load font file "/fast/build/dotwine/Windows Files/Windows/Fonts/CVS/Root" err = 55
err:font:AddFontFileToList Unable to load font file "/fast/build/dotwine/Windows Files/Windows/Fonts/CVS/Repository" err = 55
err:font:AddFontFileToList Unable to load font file "/fast/build/dotwine/Windows Files/Windows/Fonts/CVS/Entries" err = 55
trace:file:CreateFileA C:\Program Files\aol7-98-3\waol.exe GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:SetFilePointer handle 64 offset 0 high 0 origin 0
trace:file:ReadFile 64 0x40556ad4 64 0x40556a90 (nil)
trace:file:SetFilePointer handle 64 offset 264 high 0 origin 0
trace:file:ReadFile 64 0x40556a8c 4 0x40556a90 (nil)
Could not stat /mnt/amnt/cdrom1 (No such file or directory), ignoring drive M:
trace:file:CreateFileA C:\Program Files\aol7-98-3\supersub.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Windows\System\MSVCP60.DLL GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Windows\System\MSVCRT.DLL GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\zlib.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\manager.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
err:module:BUILTIN32_LoadLibraryExA loaded .so but dll comm.dll still not found - library environment problem or version conflict, check your setup.
trace:file:CreateFileA C:\Program Files\aol7-98-3\comm.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\mancore.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\jgplgen.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\jgstgen.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\jgmegen.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\jgidgen.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\jgdwgen.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Program Files\aol7-98-3\imagelib.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:CreateFileA C:\Windows\System\ole32.dll GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
wine: Unhandled exception, starting debugger...
trace:file:CreateFileA Z:\disks\hda7\build\bin\winedbg GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:SetFilePointer handle 108 offset 0 high 0 origin 0
trace:file:ReadFile 108 0x40444564 64 0x40444520 (nil)
Could not stat /mnt/amnt/cdrom1 (No such file or directory), ignoring drive M:
trace:file:CreateFileA CONIN$ GENERIC_READ GENERIC_WRITE OPEN_EXISTING 
trace:file:CreateFileA Z:\fast\build\bin\wineconsole GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:SetFilePointer handle 44 offset 0 high 0 origin 0
trace:file:ReadFile 44 0x405a6aa8 64 0x405a6a64 (nil)
Could not stat /mnt/amnt/cdrom1 (No such file or directory), ignoring drive M:
err:font:AddFontFileToList Unable to load font file "/fast/build/dotwine/Windows Files/Windows/Fonts/CVS/Root" err = 55
err:font:AddFontFileToList Unable to load font file "/fast/build/dotwine/Windows Files/Windows/Fonts/CVS/Repository" err = 55
err:font:AddFontFileToList Unable to load font file "/fast/build/dotwine/Windows Files/Windows/Fonts/CVS/Entries" err = 55
trace:file:CreateFileA CONIN$ GENERIC_READ GENERIC_WRITE OPEN_EXISTING 
trace:file:CreateFileA CONOUT$ GENERIC_READ GENERIC_WRITE OPEN_EXISTING 
trace:file:WriteFile 44 0x40488880 20 (nil) (nil)
trace:file:WriteFile 44 "WineDbg starting... " 20 (nil) (nil)
trace:file:WriteFile 44 0x40488880 16 (nil) (nil)
trace:file:WriteFile 44 " on pid 88ee048\n" 16 (nil) (nil)
trace:file:WriteFile 44 0x40488880 85 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\Program Files\\aol7-98-3\\waol.exe' (0x00400000)\n" 85 (nil) (nil)
trace:file:CreateFileA C:\Program Files\aol7-98-3\waol.exe GENERIC_READ FILE_SHARE_READ OPEN_EXISTING 
trace:file:SetFilePointer handle 100 offset 0 high 0 origin 0
trace:file:ReadFile 100 0x405a6aac 64 0x405a6a68 (nil)
trace:file:SetFilePointer handle 100 offset 264 high 0 origin 0
trace:file:ReadFile 100 0x405a6a64 4 0x405a6a68 (nil)
trace:file:WriteFile 44 0x40488880 54 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF 'wine' (0x00000000)\n" 54 (nil) (nil)
trace:file:WriteFile 44 0x40488880 16 (nil) (nil)
trace:file:WriteFile 44 "Breakpoint 1 at " 16 (nil) (nil)
trace:file:WriteFile 44 0x40488880 10 (nil) (nil)
trace:file:WriteFile 44 "0x4000a190" 10 (nil) (nil)
trace:file:WriteFile 44 0x40488880 18 (nil) (nil)
trace:file:WriteFile 44 " (_end+0x37fbca88)" 18 (nil) (nil)
trace:file:WriteFile 44 0x40488880 1 (nil) (nil)
trace:file:WriteFile 44 "\n" 1 (nil) (nil)
trace:file:WriteFile 44 0x40488880 81 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/libntdll.dll.so' (0x40014000)\n" 81 (nil) (nil)
trace:file:WriteFile 44 0x40488880 76 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/libwine.so' (0x40102000)\n" 76 (nil) (nil)
trace:file:WriteFile 44 0x40488880 84 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/libwine_unicode.so' (0x40119000)\n" 84 (nil) (nil)
trace:file:WriteFile 44 0x40488880 58 (nil) (nil)
trace:file:WriteFile 44 "No debug information in ELF '/lib/libm.so.6' (0x401e7000)\n" 58 (nil) (nil)
trace:file:WriteFile 44 0x40488880 58 (nil) (nil)
trace:file:WriteFile 44 "No debug information in ELF '/lib/libc.so.6' (0x40208000)\n" 58 (nil) (nil)
trace:file:WriteFile 44 0x40488880 59 (nil) (nil)
trace:file:WriteFile 44 "No debug information in ELF '/lib/libdl.so.2' (0x40325000)\n" 59 (nil) (nil)
trace:file:WriteFile 44 0x40488880 62 (nil) (nil)
trace:file:WriteFile 44 "No debug information in ELF '/lib/ld-linux.so.2' (0x40000000)\n" 62 (nil) (nil)
trace:file:WriteFile 44 0x40488880 83 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/wine/imm32.dll.so' (0x40567000)\n" 83 (nil) (nil)
trace:file:WriteFile 44 0x40488880 84 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/wine/user32.dll.so' (0x40576000)\n" 84 (nil) (nil)
trace:file:WriteFile 44 0x40488880 81 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/libgdi32.dll.so' (0x40691000)\n" 81 (nil) (nil)
trace:file:WriteFile 44 0x40488880 84 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/libkernel32.dll.so' (0x40702000)\n" 84 (nil) (nil)
trace:file:WriteFile 44 0x40488880 86 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/wine/advapi32.dll.so' (0x40779000)\n" 86 (nil) (nil)
trace:file:WriteFile 44 0x40488880 83 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/wine/winmm.dll.so' (0x40799000)\n" 83 (nil) (nil)
trace:file:WriteFile 44 0x40488880 86 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/wine/comctl32.dll.so' (0x407f0000)\n" 86 (nil) (nil)
trace:file:WriteFile 44 0x40488880 85 (nil) (nil)
trace:file:WriteFile 44 "Loaded debug information from ELF '/fast/build/lib/wine/shell32.dll.so' (0x40872000)\n" 85 (nil) (nil)
trace:file:WriteFile 44 0x40488880 59 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'NTDLL.DLL' (0x4004b000)\n" 59 (nil) (nil)
trace:file:WriteFile 44 0x40488880 62 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'KERNEL32.DLL' (0x4072b000)\n" 62 (nil) (nil)
trace:file:WriteFile 44 0x40488880 62 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'ADVAPI32.DLL' (0x40787000)\n" 62 (nil) (nil)
trace:file:WriteFile 44 0x40488880 59 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'GDI32.DLL' (0x406ac000)\n" 59 (nil) (nil)
trace:file:WriteFile 44 0x40488880 60 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'USER32.DLL' (0x405a2000)\n" 60 (nil) (nil)
trace:file:WriteFile 44 0x40488880 59 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'IMM32.DLL' (0x4056c000)\n" 59 (nil) (nil)
trace:file:WriteFile 44 0x40488880 59 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'WINMM.DLL' (0x407a5000)\n" 59 (nil) (nil)
trace:file:WriteFile 44 0x40488880 78 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\WINDOWS\\SYSTEM\\MSVCRT.DLL' (0x78000000)\n" 78 (nil) (nil)
trace:file:WriteFile 44 0x40488880 79 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\WINDOWS\\SYSTEM\\MSVCP60.DLL' (0x780c0000)\n" 79 (nil) (nil)
trace:file:WriteFile 44 0x40488880 85 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\ZLIB.DLL' (0x68000000)\n" 85 (nil) (nil)
trace:file:WriteFile 44 0x40488880 89 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\SUPERSUB.DLL' (0x60f00000)\n" 89 (nil) (nil)
trace:file:WriteFile 44 0x40488880 85 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\COMM.DLL' (0x60100000)\n" 85 (nil) (nil)
trace:file:WriteFile 44 0x40488880 62 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'COMCTL32.DLL' (0x407fc000)\n" 62 (nil) (nil)
trace:file:WriteFile 44 0x40488880 88 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\JGSTGEN.DLL' (0x65a00000)\n" 88 (nil) (nil)
trace:file:WriteFile 44 0x40488880 88 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\JGMEGEN.DLL' (0x65840000)\n" 88 (nil) (nil)
trace:file:WriteFile 44 0x40488880 88 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\JGDWGEN.DLL' (0x65080000)\n" 88 (nil) (nil)
trace:file:WriteFile 44 0x40488880 88 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\JGIDGEN.DLL' (0x65780000)\n" 88 (nil) (nil)
trace:file:WriteFile 44 0x40488880 88 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\JGPLGEN.DLL' (0x65940000)\n" 88 (nil) (nil)
trace:file:WriteFile 44 0x40488880 89 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\IMAGELIB.DLL' (0x67c00000)\n" 89 (nil) (nil)
trace:file:WriteFile 44 0x40488880 88 (nil) (nil)
trace:file:WriteFile 44 "No debug information in 32bit DLL 'C:\\PROGRAM FILES\\AOL7-98-3\\MANCORE.DLL' (0x62300000)\n" 88 (nil) (nil)
trace:file:WriteFile 44 0x40488880 21 (nil) (nil)
trace:file:WriteFile 44 "Unhandled exception: " 21 (nil) (nil)
trace:file:WriteFile 44 0x40488880 39 (nil) (nil)
trace:file:WriteFile 44 "page fault on read access to 0x00000000" 39 (nil) (nil)
trace:file:WriteFile 44 0x40488880 28 (nil) (nil)
trace:file:WriteFile 44 " in 32-bit code (0x4006b258)" 28 (nil) (nil)
trace:file:WriteFile 44 0x40488880 2 (nil) (nil)
trace:file:WriteFile 44 ".\n" 2 (nil) (nil)
trace:file:WriteFile 44 0x40488880 16 (nil) (nil)
trace:file:WriteFile 44 "In 32-bit mode.\n" 16 (nil) (nil)
trace:file:WriteFile 44 0x40488880 10 (nil) (nil)
trace:file:WriteFile 44 "0x4006b258" 10 (nil) (nil)
trace:file:WriteFile 44 0x40488880 62 (nil) (nil)
trace:file:WriteFile 44 " (FILE_GetUnixHandleType+0x4c [file.c:346] in libntdll.dll.so)" 62 (nil) (nil)
trace:file:WriteFile 44 0x40488880 2 (nil) (nil)
trace:file:WriteFile 44 ": " 2 (nil) (nil)
trace:file:WriteFile 44 0x40488880 4 (nil) (nil)
trace:file:WriteFile 44 "test" 4 (nil) (nil)
trace:file:WriteFile 44 0x40488880 1 (nil) (nil)
trace:file:WriteFile 44 "b" 1 (nil) (nil)
trace:file:WriteFile 44 0x40488880 1 (nil) (nil)
trace:file:WriteFile 44 "\t" 1 (nil) (nil)
trace:file:WriteFile 44 0x40488880 4 (nil) (nil)
trace:file:WriteFile 44 "$0x4" 4 (nil) (nil)
trace:file:WriteFile 44 0x40488880 1 (nil) (nil)
trace:file:WriteFile 44 "," 1 (nil) (nil)
trace:file:WriteFile 44 0x40488880 4 (nil) (nil)
trace:file:WriteFile 44 "0x0(" 4 (nil) (nil)
trace:file:WriteFile 44 0x40488880 4 (nil) (nil)
trace:file:WriteFile 44 "%edi" 4 (nil) (nil)
trace:file:WriteFile 44 0x40488880 1 (nil) (nil)
trace:file:WriteFile 44 ")" 1 (nil) (nil)
trace:file:WriteFile 44 0x40488880 1 (nil) (nil)
trace:file:WriteFile 44 "\n" 1 (nil) (nil)
trace:file:WriteFile 44 0x40488880 82 (nil) (nil)
trace:file:WriteFile 44 "346\t    if ( ( (access & GENERIC_READ)  && (*flags & FD_FLAG_RECV_SHUTDOWN ) ) ||\n" 82 (nil) (nil)
trace:file:WriteFile 44 0x4046926c 9 0x405a5984 (nil)
trace:file:WriteFile 44 "Wine-dbg>" 9 0x405a5984 (nil)
trace:file:ReadFile 32 0x405a5988 256 0x405a5984 (nil)
trace:file:CreateFileA CONOUT$ GENERIC_READ GENERIC_WRITE OPEN_EXISTING 
trace:file:WriteFile 44 0x40488880 34 (nil) (nil)
trace:file:WriteFile 44 "WineDbg terminated on pid 88ee048\n" 34 (nil) (nil)


More information about the wine-devel mailing list