http://bugs.winehq.org/show_bug.cgi?id=4279
Summary: Wine requires more stack than Windows; Doesn't allocate it. Product: Wine Version: 0.9.4. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-loader AssignedTo: wine-bugs@winehq.org ReportedBy: justinmarrese@comcast.net
I get the following error while running the 64k Demo "Sonnet":
err:seh:setup_exception stack overflow 0 bytes in thread 0009 eip 7faa0ab3 esp 7fac1000 stack 0x7fac1000-0x7fbd0000
Changing the PE header of sonnet.exe to allocate more stack resolves the issue. (I used "editbin" that came with MSVC. I can email you the modified .exe upon request.)
This seems to indicate that Wine is using more stack space than Windows running the same program. I undestand That Is Not A Bug. I do believe that Wine should give itself more stack space when loading the PE to compensate for the difference.
In my experience, I've only tweaked stack sizes in response to seeing it overflow. As we cannot expect the average Windows developer to test their program under Wine, and because Wine needs more stack than Windows, I feel it is our responsibility to compensate.
Sonnet is available at: http://www.threestate.com/filez/3s-sonnet.zip With more info about Sonnet at: http://www.threestate.com/sonnetminisite.htm#top
Modified (working) version of Sonnet can be created by: (In an MSVC environment) editbin /STACK:2000000 sonnet.exe Where 2000000 is an abritrary yet sufficiently large number.
I'm running Gentoo on an Athlon (x86), updated as of last week, with Wine 0.9.4 emerged from the ~x86 branch in portage.
Thanks -- Justin Marrese