(Neither my own mail nor Ulrichs answer reached me over the mailing
list, is there a known problem with it?)
> Uh oh. I guess what's happening here is that the base address of
> COMCTL32 (and the other system DLLs as well, b.t.w.) is just slightly
> below 3GB,
Yes, it is checking at 0xbfb70000
> and so the attempted access in IsBadReadPtr() falls into
> the unmapped range immediately below the Linux stack, which is mapped
> as VM_GROWSDOWN. Such accesses trigger automatic growing of the
> stack downwards to include the accessed address. Therefore, not only
> will the access succeed, subsequent attempts to use the range for
> mmap() will fail :-/
Thank you, I did not have your explanation, but obviously this is, what I was
experiencing.
> I'm not sure how to best fix this. IsBadReadPtr() really should't
> modify anything ... One option might be to map a dummy page at
> some point near the top, say at 3GB - 1MB; this would serve as a
> 'stop' preventing further stack growth.
At least this option works :-) I used the appendend patch to test it.
If nobody objects, I will submit it to wine-patches.
Greetings,
Peter
patchfile
--
Peter Ganten
[EMAIL PROTECTED]