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