Cyg32 on Win64 fails with stack-protector

Bill Zissimopoulos billziss@navimatics.com
Wed May 30 19:29:00 GMT 2018


Corinna, thanks for your response.

There appear to be some SSP related commits in the discussed time frame.
For example:

https://sourceware.org/git/?p=newlib-cygwin.git;a=commitdiff;h=0a5dfdbd1ba3
663a54fa1a7de1a6c4a0a3316a6e

Another possibility would be a change in the gcc default options between
Cygwin 2.9 and Cygwin 2.10. I do not know if this is possible, but perhaps
gcc in 2.9 compiles with -fstack-protector disabled by default and gcc in
2.10 compiles with it enabled by default?

Bill


On 5/29/18, 9:59 AM, Corinna Vinschen wrote:

>Hi Ben,
>
>On Apr 27 19:12, Ben RUBSON wrote:
>> Hi,
>> 
>> We are facing an issue with Cygwin 2.10 32 bits running on Windows 64
>>bits.
>> 
>> Issue was found running EncFS FUSE FS using WinFsp.
>> 
>> When forking, and calling StartServiceCtrlDispatcher, program fails with
>> 0xC0000028 / STATUS_BAD_STACK.
>> 
>> Testing several Cygwin versions reveals that issue was introduced
>>between
>> 2017-11-14 and 2017-12-01.
>> And Bill (WinFsp author) found that compiling with -fno-stack-protector
>> works around the issue.
>> 
>> There you can then find the full story and Bill's nice investigation :
>> https://github.com/billziss-gh/winfsp/issues/161
>> 
>> Could it be possible something went wrong with Cygwin ?
>> 
>> Thank you very much for your support !
>
>Even with Bill's additionl info I have no idea what change in the
>above time frame might be the culprit, especially since no change
>has been made to stack handling.
>
>I suggest to build your own Cygwin and bisect it.  Also, you
>may want to run your stuff under GDB and set breakpoints to, e.g.,
>Cygwin's exception::handle method.  Make sure the cygwin1.dbg
>file can be found by GDB.
>
>
>HTH,
>Corinna
>
>-- 
>Corinna Vinschen                  Please, send mails regarding Cygwin to
>Cygwin Maintainer                 cygwin AT cygwin DOT com
>Red Hat



More information about the Cygwin-developers mailing list