On Thu, Mar 1, 2012 at 11:51 AM, Corinna Vinschen wrote: > 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 (...);
0x61270870 != 0x2170870 > > 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 > -- 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