[Wine] Please die if you wait "too long" RtlpWaitForCriticalSection

Dee Ayy dee.ayy at gmail.com
Sun Aug 24 20:36:36 CDT 2008


I'm receiving the following error in a custom app:

err:ntdll:RtlpWaitForCriticalSection section 0x110048 "heap.c: main
process heap section" wait timed out in thread 001a, blocked by 001c,
retrying (60 sec)
wine: Critical section 00110048 wait failed at address 0x7bc3ad00
(thread 001a), starting debugger...
err:ntdll:RtlpWaitForCriticalSection section 0x110048 "heap.c: main
process heap section" wait timed out in thread 001a, blocked by 001c,
retrying (60 sec)
err:seh:raise_exception Unhandled exception code c0000194 flags 0 addr
0x7bc3ad00

I hoped an upgrade to 1.1.3 would fix it but I still get the error.

This post http://www.winehq.org/pipermail/wine-devel/2003-January/013670.html
seems to confirm that it is just a thread that is waiting.  And google
reports that many professional apps also have this error.

This is for a time dependent application.  If the thread waits too
long, say 5 seconds, then I'd really just appreciate if it would die
rather than continue to wait.  Can I tell the thread to die if it
waits too long?  And my time limit, not 60 sec?

A scarier problem may be that any future thread will also fail if
somehow some critical section is not being flagged as
released/unlocked.  How can I insure that it gets unlocked?
In fact, how can I find out where this critical section is so that I
might control locks?  I would guess here that I need winedbg, but how
would I debug my time-dependent app?  Apparently I need to handle some
exception?

With gdb for C (even for a time dependent app), I compile with "cc
-g", wait for a core dump, use gdb myApp core, then type "where".  But
the wine app is in C++.

I don't know how important this is, but I could swear that my exe
complained about ntdll.dll missing, so I dropped in the MS version in
the exe directory and placated that.
I found something yesterday that said the native ntdll.dll should
never be used.  So I removed it (or rather renamed it), and I don't
get the complaint about ntdll that I thought I recalled a long while
ago about needing it, but I still get the RtlpWaitForCriticalSection
error.

Thanks.



More information about the wine-users mailing list