This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: cygheap base mismatch detected
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: <cygwin at cygwin dot com>
- Date: Thu, 16 Feb 2006 19:38:11 -0000
- Subject: RE: cygheap base mismatch detected
On 16 February 2006 18:03, Dill, Jens (END-CHI) wrote:
> I can't make this agree with the facts in front of me.
>
> If it has to do with executables that allocate massive amounts
> of heap space, then how does the message appear before the
> application even starts, before it has a chance to allocate
> anything from the heap?
Yes, right, I misremembered, it's a year-old post FCOL. The fact is that
/both/ conditions used to be able to cause this problem. As should have been
perfectly clear from all those old posts you've just been reading.
> Massive amounts of statically allocated
> memory I can agree with, but not heap space. I haven't been
> tinkering with the --heap option on the link as yet, so it's
> not even the declared heap size that is of concern.
See, if you think there's a --heap option, you haven't been reading very
/carefully/. And if you don't understand how the size of the .bss section can
have a knock-on effect on the location of the heap, you also haven't been
reading very carefully.
> Also, the message says that the "heap base" is mismatched.
> That doesn't necessarily indicate a connection with heap size.
Again, if you don't understand that that is a text error message, which
summarizes a situation, which might have an underlying cause, which might be
related to heap size, then you haven't actually been reading all these old
posts too carefully.
> And if CygWin is going to artificially limit how my program
> chooses to allocate memory, it certainly should be documented
> better than this.
Now you're just being facetious. Describing a bug in terms as if it were a
deliberate decision that someone made just to inconvenience you is just plain
silly.
> Can I, for instance, create an executable that declares a
> sufficiently large amount of static array space, and run it
> (directly from Windows, not from a CygWin shell)
> as a startup program before any other CygWin process starts,
> so that *it* loads the CygWin DLL at a high enough address?
> If I do this, do I need to keep it running as long as the
> system is up?
I am not going to bother re-writing all the exact same explanations that I
have already written once in those old posts. If you can even /ask/ such an
incoherent question, you haven't got a basic grasp on the facts and I just
really don't want to spend ages explaining the fundamentals of memory maps,
loaders and dlls to you. Get yourself a book or something.
And the answer to your question will always be that if you want to find a
solution to a bug, you should reproduce it, then debug it, then understand it,
and then fix it.
cheers,
DaveK
--
Can't think of a witty .sigline today....
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/