https://bugs.winehq.org/show_bug.cgi?id=36731
Bug ID: 36731
Summary: Runes of Magic 'ClientUpdater.exe' crashes after a
number of update cycles (mshtml environment setup
contains stack buffer overflow)
Product: Wine
Version: 1.7.20
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: mshtml
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Hello folks,
found during investigation of 'Runes of Magic' client updater.
There is a crash after a number of update cycles.
Unfortunately it's not easily traceable as it requires large downloads and many
client restarts (= hours) to reach the crash point.
I started the updater with a few debug channels (= reduced noise) which still
allowed me to do post-mortem analysis.
The launcher restarts itself after each update cycle.
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Runes of Magic
$ WINEDEBUG=+tid,+seh,+loaddll,+process,+mshtml wine ./launcher.exe
...
<hours, multiple updater restarts>
...
004f:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\mshtml.dll"
at 0x7c090000: builtin
004f:trace:mshtml:DllGetClassObject (CLSID_HTMLDocument
{00000001-0000-0000-c000-000000000046} 0x3392a8)
004f:trace:mshtml:ClassFactory_AddRef (0x1c2c80) ref = 1
004f:trace:mshtml:HTMLDocument_Create ((nil) IID_IUnknown 0x1c19d4)
004f:trace:mshtml:load_gecko ()
004f:trace:mshtml:check_version "Wine Gecko 2.24"
004f:trace:mshtml:load_xul
(L"C:\\windows\\system32\\gecko\\2.24\\wine_gecko\\\\xul.dll")
004f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x7c130001
ip=7c130001 tid=004f
004f:trace:seh:raise_exception info[0]=00000001
004f:trace:seh:raise_exception info[1]=8d43ade4
004f:trace:seh:raise_exception eax=00000001 ebx=006b0063 ecx=003389a0
edx=7bcda204 esi=00339330 edi=001c2de8
004f:trace:seh:raise_exception ebp=005c0070 esp=00338c00 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010212
004f:trace:seh:call_stack_handlers calling handler at 0x4a97b0 code=c0000005
flags=0
004f:trace:seh:call_stack_handlers handler at 0x4a97b0 returned 1
004f:trace:seh:call_stack_handlers calling handler at 0x7bc9ecf7 code=c0000005
flags=0
wine: Unhandled page fault on write access to 0x8d43ade4 at address 0x7c130001
(thread 004f), starting debugger...
--- snip ---
I looked at the crash site and noticed it being in the middle of opcode
sequence.
--- snip ---
7C130000 45 INC EBP
7C130001 0889 4424108D OR BYTE PTR DS:[ECX+8D102444],CL
7C130007 8313 B5 ADC DWORD PTR DS:[EBX],-4B
7C13000A FA CLI
--- snip ---
Decoded with proper opcode start addresses:
--- snip ---
7C12FFFF 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
7C130002 894424 10 MOV DWORD PTR SS:[ESP+10],EAX
7C130006 8D83 13B5FAFF LEA EAX,[EBX+FFFAB513]
--- snip ---
Partial stack dump with 'esp' = 0x00338c00 from exception context:
--- snip ---
...
00338BA8 C0000005
00338BAC 00000000
00338BB0 00000000
00338BB4 7C130001
00338BB8 00000002
00338BBC 00000001
00338BC0 8D43ADE4 äÂC
00338BC4 00650074 t e
00338BC8 0033006D m 3
00338BCC 005C0032 2 \
00338BD0 00650067 g e
00338BD4 006B0063 c k
00338BD8 005C006F o \
00338BDC 002E0032 2 .
00338BE0 00340032 2 4
00338BE4 0077005C \ w
00338BE8 006E0069 i n
00338BEC 00000005
00338BF0 00650067 g e
00338BF4 006B0063 c k
00338BF8 005C006F o \
00338BFC 7C130000
00338C00 00338F74 ; UNICODE "C:\windows\system32\gecko\2.24\wine_gecko\"
00338C04 7C1FF480
00338C08 7C19E234 ; ASCII "load_xul"
00338C0C 7C19CF48 ; ASCII "(%s)"
00338C10 7BCEC8C1 ; ASCII
"L"C:\\windows\\system32\\gecko\\2.24\\wine_gecko\\\\xul.dll""
00338C14 7C19D4E8 ; ASCII "Wine Gecko 2.24"
00338C18 7C19E250 ; ASCII "check_version"
00338C1C 7C19D4C0 ; ASCII "%s"
00338C20 7BCEC8AF ; ASCII ""Wine Gecko 2.24""
...
--- snip ---
Yes, looks pretty much like a stack buffer overflow.
A string buffer overwrote 'ebp', 'ebx' values (register save on stack for
'__x86_get_pc_thunk_bx') and parts of the return address.
The NULL terminator cancelled out the lower 16 bits of the return address.
The culprit: 'load_xul' -> 'set_environment'
Source:
http://source.winehq.org/git/wine.git/blob/0be56d27d2d4b22367313fa4c6f1e658…
--- snip ---
439 static void set_environment(LPCWSTR gre_path)
440 {
441 WCHAR path_env[MAX_PATH], buf[20];
442 int len, debug_level = 0;
443
444 static const WCHAR pathW[] = {'P','A','T','H',0};
445 static const WCHAR warnW[] = {'w','a','r','n',0};
446 static const WCHAR xpcom_debug_breakW[] =
447
{'X','P','C','O','M','_','D','E','B','U','G','_','B','R','E','A','K',0};
448 static const WCHAR nspr_log_modulesW[] =
449 {'N','S','P','R','_','L','O','G','_','M','O','D','U','L','E','S',0};
450 static const WCHAR debug_formatW[] = {'a','l','l',':','%','d',0};
451
452 /* We have to modify PATH as XPCOM loads other DLLs from this
directory. */
453 GetEnvironmentVariableW(pathW, path_env,
sizeof(path_env)/sizeof(WCHAR));
454 len = strlenW(path_env);
455 path_env[len++] = ';';
456 strcpyW(path_env+len, gre_path);
457 SetEnvironmentVariableW(pathW, path_env);
458
459 SetEnvironmentVariableW(xpcom_debug_breakW, warnW);
460
461 if(TRACE_ON(gecko))
462 debug_level = 5;
463 else if(WARN_ON(gecko))
464 debug_level = 3;
465 else if(ERR_ON(gecko))
466 debug_level = 2;
467
468 sprintfW(buf, debug_formatW, debug_level);
469 SetEnvironmentVariableW(nspr_log_modulesW, buf);
470 }
--- snip ---
'path_env' must have overflowed ... but how?
I used a JIT debugger to examine the process environment block at the time of
the crash since 'GetEnvironmentVariableW' reads from
'NtCurrentTeb()->Peb->ProcessParameters->Environment'.
--- snip ----
Address UNICODE dump
...
00231EC0 m32\cmd.exe.PATH
00231EE0 =C:\windows\syst
00231F00 em32;C:\windows;
00231F20 C:\windows\syste
00231F40 m32\wbem;C:\wind
00231F60 ows\system32\gec
00231F80 ko\2.24\wine_gec
00231FA0 ko\;C:\windows\s
00231FC0 ystem32\gecko\2.
00231FE0 24\wine_gecko\;C
00232000 :\windows\system
00232020 32\gecko\2.24\wi
00232040 ne_gecko\;C:\win
00232060 dows\system32\ge
00232080 cko\2.24\wine_ge
002320A0 cko\;C:\windows\
002320C0 system32\gecko\2
002320E0 .24\wine_gecko\.
00232100 TEMP=C:\users\fo
00232120 cht\Temp.TMP=C:\
00232140 users\focht\Temp
00232160 .windir=C:\windo
00232180 ws.ALLUSERSPROFI
002321A0 LE=C:\users\Publ
002321C0 ic.APPDATA=C:\us
...
--- snip ---
At the time 'gre_path' path was appended, the string from 'PATH' environment
variable had already grown near 'MAX_PATH' (260 characters) buffer limit.
'PATH' is of course not limited to 'MAX_PATH' since it contains a list of
paths.
A better option would be to query with 'GetEnvironmentVariableW( value, NULL,
0)' first and allocate the needed buffer from heap, including length for
'gre_path'.
Even with these things corrected there is still a general problem: at one point
it will overflow/being blocked from appending to 'PATH'.
Each newly created updater process inherits the process environment from parent
(client updater restarts itself each time).
A more sophisticated thing to do would be to search for existing value and not
append if already present.
Wine Mono 'mscoree' component has a similar potential stack buffer overflow:
http://source.winehq.org/git/wine.git/blob/8cdcf470016f0655dfc8810f9d4d2f2d…
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=31358
Bug #: 31358
Summary: Bobcad v25 hangs on startup
Product: Wine
Version: 1.5.9
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
Classification: Unclassified
Tried installing free trial
13f91536f3a429ccb65b45b7bf72adb927c7d294 BobCAD_V25_Demo_32bit.exe
from
http://www.bobcad.com/products/cad
Seemed to install fine, and put up a UI, but the main window of the
UI was never drawn, and the UI was nonresponsive.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=24664
Summary: The letter 'R' is not visible in Shapes On A Plane
Product: Wine
Version: 1.3.4
Platform: x86
URL: https://www.digipen.edu/?id=1170&proj=433
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: andrew.millington(a)gmail.com
Nearly all the letter 'R' are not visible in text such as the options screen.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=40111
Bug ID: 40111
Summary: mpr:mpr regression
Product: Wine
Version: 1.9.3
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
Assignee: wine-bugs(a)winehq.org
Reporter: fgouget(a)codeweavers.com
Distribution: ---
Since the commit below, all Windows XP machines (even non-VMs) except the
TestBot have a couple of systematic failures. It's not clear why the TestBot VM
does not get a failure. It could be because it's the only one to be a Pro
version, or because of a subtle network configuration difference.
Failure:
mpr.c:283: Test failed: Unexpected return: 53
mpr.c:303: Test failed: Unexpected return: 53
mpr:mpr results on test.winehq.org:
https://test.winehq.org/data/tests/mpr:mpr.html
commit d2ce22ba239d6ea4955e58784cf3e912920bb93b
Author: Pierre Schweitzer <pierre(a)reactos.org>
Date: Sun Jan 31 22:17:27 2016 +0100
mpr/tests: Add tests for WNetUseConnectionA().
Signed-off-by: Pierre Schweitzer <pierre(a)reactos.org>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=20987
Summary: msi tests can't be run in parallel
Product: Wine
Version: 1.1.34
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P2
Component: testcases
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
We spend an awful lot of time waiting for tests to finish.
It'd be awesome if "make -j 100 test" worked.
As a first step, let's make the msi tests work in parallel.
"make -j100" in the msi directory explodes at the moment
because many of the tests use the same filenames.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=32991
Bug #: 32991
Summary: ARM port of "WabbitEMU" crashes due to unimplemented
function KERNEL32.dll.RtlUnwindEx (no ntdll forward on
arch=arm)
Product: Wine
Version: 1.5.24
Platform: arm
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: kernel32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: focht(a)gmx.net
Classification: Unclassified
Hello folks,
the ARM port of "WabbitEMU", a Texas Instruments graphing calculator emulator
and dev tools crashes after clicking "Browse for a ROM image" radio button in
image selection dialog.
Download: http://forum.xda-developers.com/showpost.php?p=37928562
(main thread: http://forum.xda-developers.com/showthread.php?t=2092348)
--- snip ---
$ WINEDEBUG=+tid,+seh,+relay wine ./Wabbitemu.exe
...
0024:Call user32.GetWindowTextA(00010096,40a0ebf0,00000104) ret=00439fa5
0024:Call window proc 0x40bc5f30
(hwnd=0x10096,msg=WM_GETTEXT,wp=00000104,lp=40a0ebf0)
0024:Ret window proc 0x40bc5f30
(hwnd=0x10096,msg=WM_GETTEXT,wp=00000104,lp=40a0ebf0) retval=00000000
0024:Ret user32.GetWindowTextA() retval=00000000 ret=00439fa5
0024:Call KERNEL32.GetLastError() ret=004141cf
0024:Ret KERNEL32.GetLastError() retval=00000000 ret=004141cf
0024:trace:seh:raise_exception info[0]=0047be54
0024:trace:seh:raise_exception info[1]=0047cc8e
wine: Call from 0x7bc9a630 to unimplemented function KERNEL32.dll.RtlUnwindEx,
aborting
0024:trace:seh:call_stack_handlers calling handler at 0x7bcb8d88 code=80000100
flags=1
0024:Call KERNEL32.UnhandledExceptionFilter(40a0e81c) ret=7bcb8df0
--- snip ---
The app is importing all win32 API by name so it's the real thing :-)
+module,+imports
--- snip ---
...
0009:trace:module:load_dll looking for L"KERNEL32.dll" in
L"Z:\\home\\linaro\\wine-apps\\wabbitemu;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
0009:trace:module:load_dll Found L"C:\\windows\\system32\\KERNEL32.dll" for
L"KERNEL32.dll" at 0x7b820000, count=19
0009:warn:module:import_dll No implementation for KERNEL32.dll.RtlUnwindEx
imported from L"Z:\\home\\linaro\\wine-apps\\wabbitemu\\Wabbitemu.exe", setting
to 0x41820000
0009:trace:imports:import_dll --- RtlUnwindEx KERNEL32.dll.1209 = 0x41820000
0009:trace:imports:import_dll --- GetCommandLineA KERNEL32.dll.481 = 0x7b846be0
0009:trace:imports:import_dll --- RtlPcToFileHeader KERNEL32.dll.1205 =
0x7bc69188
0009:warn:module:import_dll No implementation for
KERNEL32.dll.RtlLookupFunctionEntry imported from
L"Z:\\home\\linaro\\wine-apps\\wabbitemu\\Wabbitemu.exe", setting to 0x41820024
0009:trace:imports:import_dll --- RtlLookupFunctionEntry KERNEL32.dll.1203 =
0x41820024
0009:trace:imports:import_dll --- GetModuleFileNameW KERNEL32.dll.634 =
0x7b86b864
...
--- snip ---
It also needs KERNEL32.dll.RtlLookupFunctionEntry later.
Wine forwards both to ntdll but only on arch=x86_64.
It seems Windows RT exposes both API.
Interestingly only the MSDN page for KERNEL32.dll.RtlLookupFunctionEntry gives
a hint about this:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms680597%28v=vs.85%…
("ARM Definition").
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=25193
Summary: Dasher does not operate correctly
Product: Wine
Version: 1.3.7
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: physicspirate(a)yahoo.ca
Greetings,
I've attempted to run
Dasher(http://appdb.winehq.org/objectManager.php?sClass=version&iId=21982&i…
and it does not appear to be loading or functioning correctly.
I've attached a screenshot of what happens after loading. There is a gray box
up top, and it appears to be non responsive. There also seems to be some
problems with the networking as I have a high speed connection, and their
servers tell me my latency is too high. If I run the same program on windows
it runs like a dream.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=39339
Bug ID: 39339
Summary: Adventure games from Daedalic Ent. (Night of the
Rabbit, Edna & Harvey, A New Beginning) have no
in-game audio and freeze on new game start - XAudio2_7
Product: Wine
Version: 1.7.51
Hardware: x86
URL: http://store.steampowered.com/app/230820/
OS: Linux
Status: NEW
Keywords: download
Severity: normal
Priority: P2
Component: xaudio2
Assignee: wine-bugs(a)winehq.org
Reporter: gyebro69(a)gmail.com
CC: aeikum(a)codeweavers.com
Distribution: ---
On my system the problem was surfaced by the Xaudio2 implementation in 1.7.51,
the games used to work properly before. It sounds similar to bug #39320 and bug
#39321, except that the proposed patch doesn't help here.
All the adventure games from the developer/publisher Daedalic Entertainment
that use Xaudio2 interface are affected in a similar manner:
- the main menu is missing audio
- when I try to start a new game or load a saved game, the game freezes (100%
cpu usage) as soon as the game is loaded.
- quitting the games from the main menu takes a long time (1-2 minutes)
I reproduced the problem in these games:
The Night of the Rabbit, Edna & Harvey: Harvey's New Eyes, A New Beginning -
Final Cut.
The games load xaudio2_7.dll
Note that almost all these games have demo versions either on Steam or
elsewhere, but those demos are older versions of the games and they don't use
XAudio2.
The only demo (so far) which has the bug is the Night of the Rabbit demo on
Steam (link added to url).
Steps to reproduce the problem in NotR demo:
1. install the demo on Steam. Steam installs .Net 3.5 and MSVC++, they are not
needed for the game, you can delete the installers located in _CommonRedist
before starting the demo.
2. the demo starts with a video (audio works in there). The menu has no audio
with built-in xaudio2.
3. start a new game...the game seems to be hung at this point. It takes 1-2
minutes until the first intro video begins to play. Skip the video <Esc>, the
game screen appears and the game is frozen for good.
4. you can reproduce the long wait before the game completely quits, if you
exit the game from the main menu.
wine-1.7.51-201-g60d1d6f
Fedora 22 32-bit
alsa-lib-1.0.29-1.fc22.i686
openal-soft-1.16.0-5.fc22.i686
Audio device: NVIDIA Corporation MCP61 High Definition Audio (rev a2)
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=36844
Bug ID: 36844
Summary: Multiple games need X3DAudio1_7.dll (BeamNG v0.3 Tech
Demo)
Product: Wine
Version: 1.7.21
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: directx-dsound
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Hello folks,
as the summary says.
Bug 12182 should be avoided in future (meta bug) .. very unfortunate, covering
all XAudio dlls.
Better are bugs that specifically target stub dlls like bug 24545 ("Monkey
Island: Special Edition wants X3DAudio1_6.dll").
--- snip ---
$ pwd
/home/focht/.wine/drive_c/users/focht/Local Settings/Application
Data/BeamNG/BeamNG-Techdemo-0.3
...
$ wine ./BeamNGSandbox.x86.exe
...
err:module:import_dll Library X3DAudio1_7.dll (which is needed by
L"C:\\users\\focht\\Local Settings\\Application
Data\\BeamNG\\BeamNG-Techdemo-0.3\\BeamNGSandbox.x86.dll") not found
--- snip ---
$ sha1sum BeamNG-Techdemo-0.3-setup.zip
21b29af0c77cf138ec69edf1c4cb0d4504bb2ed9 BeamNG-Techdemo-0.3-setup.zip
$ du -sh BeamNG-Techdemo-0.3-setup.zip
95M BeamNG-Techdemo-0.3-setup.zip
$ wine --version
wine-1.7.21-50-g10e6a66
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.