This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]