CYGWIN_MISMATCH_OK not working?

Dave Korn dave.korn@artimi.com
Thu Mar 16 18:29:00 GMT 2006



  I can't get this bit of code to trigger:

-------------------------------<snip>
void
multiple_cygwin_problem (const char *what, unsigned magic_version, unsigned
version)
{
  if (_cygwin_testing && (strstr (what, "proc") || strstr (what, "cygheap")))
    {
      child_proc_info->type = _PROC_WHOOPS;
      return;
    }

  char buf[1024];
  if (GetEnvironmentVariable ("CYGWIN_MISMATCH_OK", buf, sizeof (buf)))
    return;
-------------------------------<snip>

despite having it set in my global windows environment before starting the
shell:

-------------------------------<snip>
User is dk
dk@rainbow ~> /usr/build/install/bin/addr2line.exe
      3 [main] ? (1824) C:\cygwin\usr\build\install\bin\addr2line.exe: ***
fatal
 error - proc magic mismatch detected - 0x88E640F7/0xC87757A7.
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.
dk@rainbow ~> set | grep MISM
CYGWIN_MISMATCH_OK=1
dk@rainbow ~>
-------------------------------<snip>

  In light of the recent changes to environment variable generation and
filtering, is it necessarily valid to be calling the win32
GetEnvironmentVariable function at this point, or is it going to be in a
sanitized context with next-to-no environment variables set?


    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/



More information about the Cygwin mailing list