This is the mail archive of the cygwin-developers mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cyg32 on Win64 fails with stack-protector


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]