From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25391 invoked by alias); 1 Mar 2012 10:52:16 -0000 Received: (qmail 24475 invoked by uid 22791); 1 Mar 2012 10:51:55 -0000 X-Spam-Check-By: sourceware.org Received: from aquarius.hirmke.de (HELO calimero.vinschen.de) (217.91.18.234) by sourceware.org (qpsmtpd/0.83/v0.83-20-g38e4449) with ESMTP; Thu, 01 Mar 2012 10:51:41 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id 208422C006D; Thu, 1 Mar 2012 11:51:39 +0100 (CET) Date: Thu, 01 Mar 2012 10:52:00 -0000 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: cygheap base mismatch detected Message-ID: <20120301105139.GF2257@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <4F4E7CC8.9090804@cwilson.fastmail.fm> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <4F4E7CC8.9090804@cwilson.fastmail.fm> User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com X-SW-Source: 2012-03/txt/msg00023.txt.bz2 On Feb 29 14:30, Charles Wilson wrote: > I've been running into a strange "error" lately (that is, I first > noticed it for sure on 1.7.10, but it MIGHT have occurred also on 1.7.9. > It persists on 1.7.11). cygcheck -- and *only* cygcheck -- is reporting > a cygheap base mismatch but only on an XP64 machine: > > $ cygcheck -cd cygwin > 1 [main] cygcheck (3756) C:\cygwin\bin\cygcheck.exe: *** fatal > error - cygheap base mismatch detected - 0x61270870/0x2170870. > This problem is probably due to using incompatible versions of the > cygwin DLL. > Search for cygwin1.dll using the Windows Start->Find/Search facility > and delete all but the most recent version. The most recent version > *should* > reside in x:\cygwin\bin, where 'x' is the drive on which you have > installed the cygwin distribution. Rebooting is also suggested if you > are unable to find another cygwin DLL. > Cygwin Package Information > Package Version > cygwin 1.7.11-1 > > (Note that cygcheck actually *does* complete the requested command, > after the error message from (cygwin1.dll/dcrt0.cc?) is printed. Very strange. For two reasons. First of all, why is the mismatch message printed at all? The code in question is basically: if (res->cygheap != (void *) &_cygheap_start) multiple_cygwin_problem (...); But res->cygheap and &_cygheap_start are apparently identical, so why is multiple_cygwin_problem called? And then multiple_cygwin_problem calls api_fatal to print the message which means that ultimately TerminateProcess() is called. I tried that on my XP64 test machine and cygcheck worked fine. Could you do a parallel installation on the same machine and see how it behaves there? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple