Cyg32 on Win64 fails with stack-protector

Ken Brown kbrown@cornell.edu
Thu May 31 13:13:00 GMT 2018


On 5/31/2018 4:18 AM, Corinna Vinschen wrote:
> On May 30 19:29, Bill Zissimopoulos wrote:
>> Corinna, thanks for your response.
>>
>> 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.
>>
>> 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
> 
> I CCed Ken (gcc) and Yaakov (SSP) to get more qualified input than
> my own Cygwin DLL centric view.

I think you meant to CC a different Ken.

Ken



More information about the Cygwin-developers mailing list