This is the mail archive of the
mailing list for the Cygwin project.
Re: dlopen() bug (new testcase)
- From: Bernhard Loos <bernloos at web dot de>
- To: cygwin at cygwin dot com
- Date: Thu, 30 Mar 2006 23:59:58 +0200
- Subject: Re: dlopen() bug (new testcase)
Von: Eric Blake
Gesendet: Thu, 30 Mar 2006 15:04:27 +0000 (UTC)
>Bernhard Loos <bernloos <at> web.de> writes:
>> >You'll have to read the archives. Eric Blake has talked about this very
>> Sorry, but I'm unable to locate it. The last post mentioning IsBad*Ptr
>> arround March 2005 - not very recently.
>The gist of it is that IsBad*Ptr is a syscall, and a relatively
>dangerous one at that - Microsoft documents that it is not threadsafe,
>and that calling IsBadWritePtr on a stack guard page will disable
>the ability to grow that stack, meaning that the next time you
>write to the guard page your process will just quit (no popup
>box, no exception, nothing - just quit). On the other hand, an
>exception handler is faster in the normal case of good pointers,
>does not corrupt system state of whether the stack guard page can
>grow, and does not cause data races with other threads.
Thank you very much for explaining this in detail. I have read the other
message bevor, but it doesn't really explain the problems with IsBadReadPtr.
I was able to track the problem down, inserting a call to
in the function dll::init() solves it. But I'm unsure, whether it introduce
other bugs. If somebody has checked this, I could submit a patch, if necessary.
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html