Date: Tue, 20 Jul 2010 16:08:38 +0200 From: Tijl Coosemans <tijl@coosemans.org> To: freebsd-emulation@freebsd.org Subject: Re: sc2 with wine on amd64 Message-ID: <201007201608.45614.tijl@coosemans.org> In-Reply-To: <AANLkTilh6ZfYj54YT-K6ObsPiEeA9FtGTNSOY_Ee2qTy@mail.gmail.com> References: <AANLkTilh6ZfYj54YT-K6ObsPiEeA9FtGTNSOY_Ee2qTy@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart11032698.T7EH9RHKnj Content-Type: multipart/mixed; boundary="Boundary-01=_m3aRM/NmPhmfj9G" Content-Transfer-Encoding: 7bit --Boundary-01=_m3aRM/NmPhmfj9G Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Sunday 11 July 2010 12:17:23 Micka=EBl Maillot wrote: > i try to play StarCraft 2 with wine on my amd64 8-STABLE desktop. > first there is a patch to get the game working: > http://freelooser.fr/freebsd/patch-dlls__wined3d__swapchain_base.c > see bug: http://bugs.winehq.org/show_bug.cgi?id=3D23556 >=20 > now the problem related to amd64, when i start the game with windbg: >=20 > WineDbg starting on pid 0019 > First chance exception: page fault on write access to 0x00370000 in > 32-bit code (0x7e66468f). > Register dump: > CS:0033 SS:003b DS:003b ES:003b FS:0013 GS:001b > EIP:7e66468f ESP:0034f930 EBP:0034f9b8 EFLAGS:00010a02( R- --O I - - = =2D ) > EAX:00370000 EBX:7e75f32c ECX:00000003 EDX:00000067 > ESI:00000010 EDI:00000010 > Stack dump: > 0x0034f930: 0000031c 00000000 00000000 00000010 > 0x0034f940: 00000010 00000000 00000000 00000010 > 0x0034f950: 00000010 7ea66a1c 00133cd0 00000000 > 0x0034f960: 00cc0020 7e80dbc4 80808081 00000000 > 0x0034f970: 00010020 00370000 00000000 00000010 > 0x0034f980: 00000010 00000040 00200001 00000000 > Backtrace: > =3D>0 0x7e66468f create_alpha_bitmap+0x2af(color=3D0x318, mask=3D0x314, > src_info=3D0x133cd0, color_bits=3D0x7ea66a1c) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:771] > in user32 (0x0034fa38) > 1 0x7e664ada create_icon_bitmaps+0x389(bmi=3D0x7ea669f4, width=3D0x0010, > height=3D0x0010, color=3D0x34fa70, mask=3D0x34fa6c, alpha=3D0x34fa68) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:837] > in user32 (0x0034fa98) > 2 0x7e664ecb CURSORICON_CreateIconFromBMI+0x23a(bmi=3D0x7ea669f4, > hotspot=3D{x=3D0x0008, y=3D0x0008}, bIcon=3D0x0001, dwVersion=3D0x30000, > width=3D0x0010, height=3D0x0010, cFlag=3D0x8000) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:917] > in user32 (0x0034faf8) > 3 0x7e665914 CreateIconFromResourceEx+0x153(bits=3D"(", cbSize=3D0x0468, > bIcon=3D0x0001, dwVersion=3D0x30000, width=3D0x0010, height=3D0x0010, > cFlag=3D0x8000) [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/= cursoricon.c:1159] > in user32 (0x0034fb78) > wineserver: file_set_error() can't map error: Bad address > 4 0x7e665f42 CURSORICON_Load+0x311(hInstance=3D0x7e950000, name=3D*** > invalid address 0x1 ***, width=3D0x0010, height=3D0x0010, depth=3D0x0020, > fCursor=3D0, loadflags=3D0x8000) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:129= 2] > in user32 (0x0034fbc8) > wineserver: file_set_error() can't map error: Bad address > 5 0x7e6693cb LoadImageW+0x1fa(hinst=3D0x7e950000, name=3D*** invalid > address 0x1 ***, type=3D0x0001, desiredx=3D0x0010, desiredy=3D0x0010, > loadflags=3D0x8000) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:239= 2] > in user32 (0x0034fc68) > wineserver: file_set_error() can't map error: Bad address > 6 0x7e668fed LoadImageA+0x4c(hinst=3D0x7e950000, name=3D*** invalid > address 0x1 ***, type=3D0x0001, desiredx=3D0x0010, desiredy=3D0x0010, > loadflags=3D0x8000) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:233= 3] > in user32 (0x0034fcc8) > 7 0x7e97119e SIC_Initialize+0x1bd() > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/shell32/iconcache.c:417] > in shell32 (0x0034fd08) > 8 0x7e97e8c5 DllMain+0xe4(hinstDLL=3D0x7e950000, fdwReason=3D0x0001, > fImpLoad=3D0x1) [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/shell32= /shell32_main.c:1166] > in shell32 (0x0034fd38) > 9 0x7e9c9e1a __wine_spec_dll_entry+0x69(inst=3D0x7e950000, > reason=3D0x0001, reserved=3D0x1) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/winecrt0/dll_entry.c:40] > in shell32 (0x0034fd58) > 10 0x7e44a925 call_dll_entry_point+0x14() in ntdll (0x0034fe58) > 11 0x7e44ce77 MODULE_InitDLL+0x216(wm=3D0x1191e0, reason=3D0x0001, > lpReserved=3D0x1) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:982] > in ntdll (0x0034fec8) > 12 0x7e44d211 process_attach+0x190(wm=3D0x1191e0, lpReserved=3D0x1) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:1071] > in ntdll (0x0034ff38) > 13 0x7e44d1c3 process_attach+0x142(wm=3D0x119130, lpReserved=3D0x1) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:1063] > in ntdll (0x0034ffa8) > 14 0x7e44d1c3 process_attach+0x142(wm=3D0x1186f8, lpReserved=3D0x1) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:1063] > in ntdll (0x0034ffe8) > 15 0x7e4515e4 attach_process_dlls+0x53(wm=3D0x1186f8) > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/ntdll/loader.c:2541] > in ntdll (0x00000000) > 0x7e66468f create_alpha_bitmap+0x2af > [/usr/ports/emulators/wine/work/wine-1.2-rc7/dlls/user32/cursoricon.c:771] > in user32: movb %dl,0x0(%eax) > Unable to open file '' > Wine-dbg> >=20 > the cursor does not have its bitmaps. > the game crash few second laster with also a memory access problem. Recently a patch was committed to 8-STABLE to fix Warcraft on amd64. Perhaps Starcraft is affected as well, so you might want to update your system. That said, the above backtrace looks unrelated. So something else you can try is to change the wine port Makefile with the attached patch. Then rebuild wine. cd /usr/ports/emulators/wine patch < /path/to/wine-Makefile.diff make install --Boundary-01=_m3aRM/NmPhmfj9G Content-Type: text/plain; charset="us-ascii"; name="wine-Makefile.diff" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="wine-Makefile.diff" =2D-- Makefile.orig 2010-07-20 16:03:17.000000000 +0200 +++ Makefile 2010-07-20 16:03:34.000000000 +0200 @@ -28,7 +28,7 @@ CONFIGURE_ARGS=3D --datadir=3D${DATADIR} --verbose --disable-tests \ --without-capi --without-gphoto \ --without-gsm --without-mpg123 --without-openal \ =2D --without-sane --without-xcursor + --without-sane CONFIGURE_ENV=3D CPPFLAGS=3D"-I${LOCALBASE}/include" \ LDFLAGS=3D"-L${LOCALBASE}/lib" \ FLEX=3D"${LOCALBASE}/bin/flex" @@ -42,7 +42,7 @@ USE_BZIP2=3D yes USE_GMAKE=3D yes USE_GL=3D glu =2DUSE_XORG=3D xpm xrender +USE_XORG=3D xpm xrender xcursor =20 SUB_FILES=3D pkg-message PKGMESSAGE=3D ${WRKDIR}/pkg-message --Boundary-01=_m3aRM/NmPhmfj9G-- --nextPart11032698.T7EH9RHKnj Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.15 (FreeBSD) iF4EABEIAAYFAkxFre0ACgkQfoCS2CCgtisiiAEAiAXQwp3LwDP3VdwgiYS1yM3x XC5fX2SsindXJK0E27IA/RYjZlj9udyYbyPC8NGAQumOkQH/KoS2hULLRcvhWAG6 =cqo0 -----END PGP SIGNATURE----- --nextPart11032698.T7EH9RHKnj--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007201608.45614.tijl>