cygwin stopped working

Andreas Schiffler aschiffler@ferzkopp.net
Tue Feb 13 04:58:00 GMT 2018


Found the workaround (read: not really a solution as it leaves the 
system vulnerable, but it unblocks cygwin)
- Go to Windows Defender Security Center - Exploit protection settings
- Disable System Settings - Force randomization for images (Mandatory 
ASLR) and Randomize memory allocations (Bottom-up ASLR) from "On by 
default" to "Off by default"

Now setup.exe works and can rebase everything; after that Cygwin 
Terminal starts as a working shell without problems.

@cygwin dev's - It seems one of the windows updates (system is on 1709 
build 16299.214) might have changed my ASLR settings to "system wide 
mandatory" (i.e. see 
https://blogs.technet.microsoft.com/srd/2017/11/21/clarifying-the-behavior-of-mandatory-aslr/ 
for info) so that the cygwin DLLs don't work correctly anymore (i.e. see 
old thread about this topic here 
https://www.cygwin.com/ml/cygwin/2013-06/msg00092.html). This change 
might have made it into the system as part of the security update for 
Meltdown+Spectre (I am speculating), but that could explain why my 
cygwin installation that worked fine before (i.e. mid-2017) stopped 
working suddenly (beginning 2018). It would be good to device a test for 
the setup.exe that checks the registry (likely 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session 
Manager\kernel]) for this state and alerts the user.
@jostein - rebase as part of setup.exe had failed as well (see above).
@Achim - that didn't work or do anything (see above).

On 2/12/2018 8:49 AM, Jostein Berntsen wrote:
> On 11.02.18,17:16, Andreas Schiffler wrote:
>> Thanks for the tip, but that didn't seem to have helped.
>>
>> The registry setting CYGWIN_NOWINPATH=1 did not seem to affect the
>> environment as seen in bash.
>>
>> The variable seems to be set:
>>
>> bash-4.4$ set
>> ...snip...
>> COMSPEC='C:\WINDOWS\system32\cmd.exe'
>> CYGWIN_NOWINPATH=1
>> ...snip
>>
>> but the path variable contains still all the common system locations:
>>
>> bash-4.4$ echo $PATH
>> /cygdrive/c/ProgramData/Oracle/Java/javapath:/cygdrive/c/Program Files
>> (x86)/iis express/PHP/v5.3:/cygdrive/c/Program Files/Common Files/Mic
>> rosoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/Common
>> Files/Microsoft Shared/Windows Live:/cygdrive/c/Program Files (x86)/Intel/
>> iCLS Client:/cygdrive/c/Program Files/Intel/iCLS
>> Client:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:...snip...
>>
>> Manually overriding the PATH variable in bash did not help (presumably
>> because the offending DLL is already loaded):
>>
>> bash-4.4$ export PATH=/usr/local/bin:/usr/bin:/bin
>> bash-4.4$ echo $PATH
>> /usr/local/bin:/usr/bin:/bin
>> bash-4.4$
>> bash-4.4$
>> bash-4.4$ ls
>>        0 [main] bash (11276) C:\Cygwin\bin\bash.exe: *** fatal error -
>> cygheap base mismatch detected - 0x3C52410/0x36F2410.
>> 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.
>>
>>
>> On 2/11/2018 2:42 AM, Doug Henderson wrote:
>>> On 11 February 2018 at 01:18, Andreas Schiffler  wrote:
>>>> Terminal (bash) fails with:
>>>>
>>>> Error: Could not fork child process: Resource temporarily unavailable (-1).
>>>> DLL rebasing may be required; see 'rebaseall / rebase --help'.
>>>>
>>> {snip}
>>>> bash-4.4$ ls
>>>>         1 [main] bash (6316) C:\Cygwin\bin\bash.exe: *** fatal error - cygheap
>>>> base mismatch detected - 0x3922410/0x3962410.
>>>> This problem is probably due to using incompatible versions of the cygwin
>>>> DLL.
>>> {snip}
>>>> I do have another version of the cygwin dll file on the system (Plex
>>>> installation) but that never caused any issues in the past.
>>> {snip}
>>>
> Run setup.exe for Cugwin once again and let it rebase. Then reboot and
> see if that works.
>
> Jostein
>
>
>
> --
> 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
>
>


--
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



More information about the Cygwin mailing list