http://bugs.winehq.org/show_bug.cgi?id=15817
--- Comment #18 from kjella79@yahoo.no 2009-05-05 17:20:36 --- Ok, so I've done a lot of testing that shows that msvcrt.dll is the solution, but to me it seems a big WTF that it is the solution. Ruhnning a trace+msvcrt it always ends with something like:
trace:msvcrt:MSVCRT_operator_delete (0x20dc3680) trace:msvcrt:MSVCRT_operator_delete (0xaa780e0) trace:msvcrt:DllMain (0x7e510000, DLL_THREAD_ATTACH, (nil)) pid(8), tid(29), tls(2) trace:msvcrt:MSVCRT_setlocale (4 (null))
I don't get it. The last call is checking what LC_NUMERIC is (the default, never been set and called 100s of times). Also the thread attachment is happening many times without issue, in fact checking the code it does nothing (nor should it).
There's new and delete operations but if there was an issue with basic memory allocation/deallocation you'd think tons of applications would have issues. And that's all in the trace, really.
My conclusion so far is that King's Bounty is *probably* calling some sort of function that doesn't have a trace - it looks like there's quite a few of those *grumble* and is crashing on one of their outputs.