[Bug 19644] Grim Fandango 1.01:crash at startup

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Apr 27 16:44:41 CDT 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net

--- Comment #9 from Anastasius Focht <focht at gmx.net> ---
Hello Bruno,m

--- quote ---
I can't update the game to 1.01 because the update installer crashes, I will
try more later.
--- quote ---

you see bug 5224

The stupid installer expects a double quoted command line.
It calls GetCommandLineA(), skips the first character and copies up to 0x104
characters to a stack-based buffer.
It then continues to search the stack-based buffer for the closing
double-quote.
By default the command line is unquoted if you are the first (parent) process.

The search just overruns stack top (increment), landing in unmapped area,
causing the fault.

--- snip ---
...
0023:Call KERNEL32.GetCommandLineA() ret=00401fdf
0023:Ret  KERNEL32.GetCommandLineA() retval=00130bf8 ret=00401fdf
0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0x402001 ip=00402001
tid=0023
0023:trace:seh:raise_exception  info[0]=00000000
0023:trace:seh:raise_exception  info[1]=00340000
0023:trace:seh:raise_exception  eax=000004b0 ebx=7b8bb000 ecx=0000005c
edx=00000000 esi=0033fd70 edi=00000000
0023:trace:seh:raise_exception  ebp=0033fe20 esp=0033fb30 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00010297
0023:trace:seh:call_stack_handlers calling handler at 0x40bdc8 code=c0000005
flags=0
0023:Call KERNEL32.UnhandledExceptionFilter(0033f610) ret=0040b8e9
wine: Unhandled page fault on read access to 0x00340000 at address 0x402001
(thread 0023), starting debugger...
0023:trace:seh:start_debugger Starting debugger "winedbg --auto 34 80"
0023:Ret  KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=0040b8e9
0023:trace:seh:call_stack_handlers handler at 0x40bdc8 returned 1
0023:trace:seh:call_stack_handlers calling handler at 0x7bc9ebc3 code=c0000005
flags=0
0023:Call KERNEL32.UnhandledExceptionFilter(0033f604) ret=7bc9ebfd
0023:Ret  KERNEL32.UnhandledExceptionFilter() retval=00000000 ret=7bc9ebfd
0023:trace:seh:call_stack_handlers handler at 0x7bc9ebc3 returned 1
Unhandled exception: page fault on read access to 0x00340000 in 32-bit code
(0x00402001).
Register dump:
 CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b
 EIP:00402001 ESP:0033fb30 EBP:0033fe20 EFLAGS:00010297(  R- --  I S -A-P-C)
 EAX:000004b0 EBX:7b8bb000 ECX:0000005c EDX:00000000
 ESI:0033fd70 EDI:00000000
...
000c: sel=0067 base=00000000 limit=00000000 16-bit --x
Backtrace:
=>0 0x00402001 in gfupd101 (+0x2001) (0x0033fe20) 
--- snip ---

In Windows, apps always get a quoted command line when started by clicking the
executable in shell/explorer (ShellExecuteEx).

Bug 5224 ought to be fixed but I quickly tested with Wine's 'explorer' and
double click the executables still crashes it.
Either someone didn't verify this properly or this is a regression.

To have the executable wrapped with quotes "workaround", use a helper batch
file as follows:

--- snip ---
$ echo \"Gfupd101.exe\" > foo.cmd
$ wine cmd /c foo.cmd
--- snip ---

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