http://bugs.winehq.com/show_bug.cgi?id=1281
------- Additional Comments From fsteinel@flonet.net 2003-22-06 11:53 ------- Bug comments restored from Gmane.org:
I already described the problems I have with Wine on FreeBSD in Bug #803. Here is a quick overview:
wine + VirtualDub + Win98SE:
fixme:cdrom:CDROM_GetIdeInterface not implemented for BSD fixme:reg:GetSystemInfo not yet supported on this system fixme:mmsys:WMMMidiRunOnce16 (), stub! err:winmm:MMDRV_InitPerType Strange: mapper with 8 > 1 devices err:thunk:_loadthunk (USER.EXE, UsrMpr_ThunkData16, MPR.DLL): Bad magic fUh (should be SL01) err:thunk:_loadthunk (USER.EXE, UsrMpr_ThunkData16, MPR.DLL): Bad magic fUh (should be SL01) (Exit Code 133)
With builtin MPR.DLL (whatever that is): fixme:cdrom:CDROM_GetIdeInterface not implemented for BSD fixme:reg:GetSystemInfo not yet supported on this system fixme:mmsys:WMMMidiRunOnce16 (), stub! err:winmm:MMDRV_InitPerType Strange: mapper with 8 > 1 devices fixme:file:DeviceIo_MMDEVLDR (5,0x0,0,0x283b2bdc,4,0x28622e18,0x0): stub fixme:gdi:Escape16 unknown/unsupported 16-bit escape c03 (56,0x28632f3e,0x28632f86 fixme:gdi:Escape16 unknown/unsupported 16-bit escape c03 (56,0x28632f3e,0x28632f86 fixme:x11drv:X11DRV_GetDeviceCaps (0xafc): CAPS1 is unimplemented, will return 0 fixme:hook:NotifyWinEvent (32780,0x30029,-4,1)-stub! fixme:process:CreateProcessA (C:\windows\SYSTEM\DDHELP.EXE,...): NORMAL_PRIORITY_CLASS ignored fixme:cdrom:CDROM_GetIdeInterface not implemented for BSD fixme:cdrom:CDROM_GetIdeInterface not implemented for BSD fixme:cdrom:CDROM_GetIdeInterface not implemented for BSD fixme:reg:GetSystemInfo not yet supported on this system fixme:x11drv:X11DRV_GetDeviceCaps (0xafc): CAPS1 is unimplemented, will return 0 fixme:mmsys:WMMMidiRunOnce16 (), stub! err:winmm:MMDRV_InitPerType Strange: mapper with 8 > 1 devices fixme:x11drv:X11DRV_GetDeviceCaps (0x74): CAPS1 is unimplemented, will return 0 GetModuleHandleA succeed
LoadLibrary returns baaa0000 fixme:system:EnumDisplayDevicesA (0x0,0,0x286226e8,0x00000000), stub! wine: Unhandled exception, starting debugger... Warning: L"/usr/bin/winedbg.exe" not accessible from a configured DOS drive Warning: L"/usr/bin/winedbg" not accessible from a configured DOS drive Warning: L"/usr/bin/winedbg 134705408.exe" not accessible from a configured DOS drive Warning: L"/usr/bin/winedbg 134705408" not accessible from a configured DOS drive Warning: L"/usr/bin/winedbg 134705408 152.exe" not accessible from a configured DOS drive Warning: L"/usr/bin/winedbg 134705408 152" not accessible from a configured DOS drive err:seh:start_debugger Couldn't start debugger ("/usr/bin/winedbg 134705408 152") (2) Read the Wine Developers Guide on how to set up winedbg or another debugger err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0 addr 0x28e9990e err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0 addr 0x28e9990e [1000 more lines of the same error] zsh: 30788 illegal hardware instruction (core dumped) wine --dll mpr=b virtualdub
(Why is Wine looking for winedbg in /usr/bin? Wine got installed to /usr/local/bin!)
Here is one backtrace I did with gdb:
err:module:BUILTIN32_dlopen failed to load .so lib for builtin vdoenc32.dll: Cannot open "/usr/local/lib/wine/vdoenc32.dll.so"
Program received signal SIGBUS, Bus error. 0x280ebd80 in IsBadWritePtr (ptr=0x29a50000, size=40) at ../../memory/virtual.c:568 568 p[0] |= 0; (gdb) bt #0 0x280ebd80 in IsBadWritePtr (ptr=0x29a50000, size=40) at ../../memory/virtual.c:568 #1 0x29a542af in ?? () #2 0x29a53359 in ?? () #3 0x79a9199a in ?? () #4 0x41b57e in ?? () #5 0x2d0 in ?? () Error accessing memory address 0x28: Bad address. (gdb)
"Error accessing memory: Bad address"??? This sounds like serious breakage to me.
I got enough core dumps when trying to get Starcraft/Diablo to work and I guess it's because there are tons of functions not (yet) implemented for non-linux system. I myself am right now trying to implement CDROM_GetIdeInterface for BSD systems, but my C skills are ... lacking :(
------- Additional Comments From q <at> galgenberg.net 2003-02-19 09:56 ------- I tried WINE from CVS and managed to get a better backtrace when trying to run starcraft. Looks like DirectSound is the culprit: fixme:console:SetConsoleCtrlHandler (0x4cf850,1) - no error checking or testing yet fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x2833ebc0)->(00010021,00000013) fixme:x11drv:X11DRV_DDHAL_CreatePalette stub
Program received signal SIGBUS, Bus error. 0x2a7d5290 in DSDB_MapPrimary (dsdb=0x283421d8) at audio.c:1816 1816 while (b--) *p4++ = 0; (gdb) bt #0 0x2a7d5290 in DSDB_MapPrimary (dsdb=0x283421d8) at audio.c:1816 #1 0x2a7d5d9d in IDsDriverImpl_CreateSoundBuffer (iface=0x28342190, pwfx=0x28344768, dwFlags=1, dwCardAddress=0, pdwcbBufferSize=0x28344868, ppbBuffer=0x28344860, ppvObj=0x2834485c) at audio.c:2133 #2 0x2a75194e in DSOUND_PrimaryCreate (This=0x283444e0) at primary.c:174 #3 0x2a74ed43 in DirectSoundCreate8 (lpGUID=0x0, ppDS=0x696234, pUnkOuter=0x0) at dsound_main.c:696 #4 0x4a6bbe in ?? () #5 0x28100b68 in start_process () at ../../scheduler/process.c:564 #6 0x28104a75 in call_on_thread_stack (func=0x2810094c) at ../../scheduler/sysdeps.c:112