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