[Bug 26541] Dragon Saga crashes randomly on startup (needs ntdll.DbgUiConvertStateChangeStructure, ntdll.KiRaiseUserExceptionDispatcher, ntdll.NtSetDebugFilterState stub exports)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Dec 18 10:50:58 CST 2013


http://bugs.winehq.org/show_bug.cgi?id=26541

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                URL|http://cdn-files2.gamepron. |http://www.ausgamers.com/fi
                   |com/file/228264907671-80354 |les/download/57867/dragonsa
                   |911793606-50897658746298-40 |ga-client-v012920110216
                   |924535400/DragonSagaInstall |
                   |er-0.1.29-20110216.msi      |
          Component|-unknown                    |ntdll
            Summary|Dragon Saga doesn't start   |Dragon Saga crashes
                   |                            |randomly on startup (needs
                   |                            |ntdll.DbgUiConvertStateChan
                   |                            |geStructure,
                   |                            |ntdll.KiRaiseUserExceptionD
                   |                            |ispatcher,
                   |                            |ntdll.NtSetDebugFilterState
                   |                            |stub exports)

--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

the random startup failure is still present.
Updating download link.

Relevant trace log:

--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Gravity/Dragon Saga/Release

$ WINEDEBUG=+tid,+seh,+relay wine ./DragonSaga.EXE >>log.txt 2>&1
...
0025:Call KERNEL32.LoadLibraryA(0033fc70 "kernel32.dll") ret=0158f21e
0025:Ret  KERNEL32.LoadLibraryA() retval=7b810000 ret=0158f21e
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "DebugActiveProcess")
ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b8215fc ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "GetTickCount")
ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b823474 ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "GetProcAddress")
ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b822e5c ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "GetVersion") ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b82357c ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "LoadLibraryA")
ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b8240bc ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "OpenProcess") ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b82456c ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "OutputDebugStringA")
ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b82462c ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "OutputDebugStringW")
ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b824644 ret=0158f1d1
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc70 "SuspendThread")
ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=7b8254b4 ret=0158f1d1
0025:Call KERNEL32.LoadLibraryA(0033fc70 "ntdll.dll") ret=0158f21e
0025:Ret  KERNEL32.LoadLibraryA() retval=7bc10000 ret=0158f21e
0025:Call KERNEL32.GetProcAddress(7bc10000,0033fc70
"DbgUiConvertStateChangeStructure") ret=0158f1d1
0025:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=0158f1d1
0025:Call KERNEL32.LoadLibraryA(0033fc4c "kernel32.dll") ret=0158e202
0025:Ret  KERNEL32.LoadLibraryA() retval=7b810000 ret=0158e202
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "DebugActiveProcess")
ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b8215fc ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "GetTickCount")
ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b823474 ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "GetProcAddress")
ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b822e5c ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "GetVersion") ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b82357c ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "LoadLibraryA")
ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b8240bc ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "OpenProcess") ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b82456c ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "OutputDebugStringA")
ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b82462c ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "OutputDebugStringW")
ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b824644 ret=0158e1aa
0025:Call KERNEL32.GetProcAddress(7b810000,0033fc4c "SuspendThread")
ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=7b8254b4 ret=0158e1aa
0025:Call KERNEL32.LoadLibraryA(0033fc4c "ntdll.dll") ret=0158e202
0025:Ret  KERNEL32.LoadLibraryA() retval=7bc10000 ret=0158e202
0025:Call KERNEL32.GetProcAddress(7bc10000,0033fc4c
"DbgUiConvertStateChangeStructure") ret=0158e1aa
0025:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=0158e1aa
0025:trace:seh:raise_exception code=c0000005 flags=0 addr=0x12397f4 ip=012397f4
tid=0025
0025:trace:seh:raise_exception  info[0]=00000000
0025:trace:seh:raise_exception  info[1]=00000023
0025:trace:seh:raise_exception  eax=0158e5c0 ebx=00000000 ecx=0033fd40
edx=7bca4d20 esi=00000001 edi=012397e8
0025:trace:seh:raise_exception  ebp=0033fe20 esp=0033fd48 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00210203
0025:trace:seh:call_stack_handlers calling handler at 0xcb918c code=c0000005
flags=0 
--- snip ---

It seems adding the following stub exports really helps the game (no more
random crashes on startup):

--- snip ---
ntdll.DbgUiConvertStateChangeStructure
ntdll.KiRaiseUserExceptionDispatcher
ntdll.NtSetDebugFilterState
--- snip ---

Just remove the comment before each API from ntdll.spec file to have the
default unimpl stub generated.

Source:
http://source.winehq.org/git/wine.git/blob/b6b9050d58d8baaea843c633f5968be9090214e4:/dlls/ntdll/ntdll.spec#l35

--- snip ---
 35 # @ stub DbgUiConvertStateChangeStructure
...
 47 # @ stub KiRaiseUserExceptionDispatcher
...
 315 # @ stub NtSetDebugFilterState
--- snip ---

$ sha1sum DragonSagaInstaller-0.1.29-20110216.msi 
8f359ccb7c9a09bb0e06b9f4d3423750df23c51a 
DragonSagaInstaller-0.1.29-20110216.msi

$ du -sh DragonSagaInstaller-0.1.29-20110216.msi 
1.9G    DragonSagaInstaller-0.1.29-20110216.msi

$ wine --version
wine-1.7.8-248-g8dd9c61

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.



More information about the wine-bugs mailing list