Stack overflows

Robert Lunnon bobl at optushome.com.au
Wed Oct 20 15:22:52 CDT 2004


I have been trying to make wine work properly with Solaris xlib and have been 
experiencing a few stack overflow exceptions

eg
0009:Ret  kernel32._LeaveSysLevel() retval=00000000 ret=7f86a7ba
0009:Ret  user32.USER_Unlock() retval=00000000 ret=7f53f837
0009:Call ntdll.RtlEnterCriticalSection(7f579840) ret=7f549249
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=7f549249
0009:Call ntdll.RtlLeaveCriticalSection(7f579840) ret=7f54926a
0009:Ret  ntdll.RtlLeaveCriticalSection() retval=00000000 ret=7f54926a
0009:Call ntdll.RtlEnterCriticalSection(7f579840) ret=7f549249
0009:Ret  ntdll.RtlEnterCriticalSection() retval=00000000 ret=7f549249
err:seh:setup_exception stack overflow 0 bytes in thread 0009 eip ca096003 esp 
7fc11000 stack 7fc10000-7fd10000


As I recall PE executables specify the stack size in the PE header so in the 
past I have used a little windows utility under wine to increase the stack 
allocation to the program, sometimes with mixed results.

I Thought I'd post here to find out if this is known problem and what the 
cause is. I had presumed it was probably due to the extra call layering 
through xlib adding too much overhead to the stack for the app.

Assuming this is the issue there were  two actions I was looking at taking

1. A Wine utility to adjust the stack allocation for the executable 
2. Adjust the stack allocation in wine to allow a little extra for wine over 
and above that requested by the app.

Opinions ?


Bob



More information about the wine-devel mailing list