http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #13 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-19 15:19:36 --- It should have been WINEDEBUG=+relay,+seh,+tid, not WINEDEBUG=+"relay, seh, tid" (there are '+' everywhere). However the relay log is already quite interesting - there is an infinite recursion on RtlAllocateHeap. I see no code path where there RtlAllocateHeap calls itself. On possibility is that RtlAllocateHeap generates a seh exception, the handler calls RtlAllocateHeap that generates another exception handled by the same handler etc. It's quite possible as previously there was a call to HeapDestroy. Could you generate a trace with seh logs so that we can check if that's it?
Another strange thing is that RtlAllocateHeap is called from a DLL that already got a PROCESS_DETACH. It's strange it's code is still in memory (the heap was destroyed on that PROCESS_DETACH. Maybe we are detaching DLLs in a wrong order?)