Discussion:
x86 fork/sigaction issue
Corinna Vinschen
2016-09-08 12:01:54 UTC
Permalink
Attached is a test case, extracted from pixman's fence-image-self-test
testcase.
This seems work fine on x86_64, but fails on x86. This seems to be a
regression, as it works correctly with Cygwin 2.3.1, but fails with 2.4.1
and later.
Poking at this with gdb, it seems that the child exits with a status
indicating that it was terminated by SIGSEGV, so it's almost as if the
signal handler somehow doesn't get installed properly.
This also seems to work correctly when straced, so I'm not sure what to make
of that or how to investigate further...
git bisect?


Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
Jon Turney
2016-10-20 14:10:38 UTC
Permalink
Post by Corinna Vinschen
Attached is a test case, extracted from pixman's fence-image-self-test
testcase.
This seems work fine on x86_64, but fails on x86. This seems to be a
regression, as it works correctly with Cygwin 2.3.1, but fails with 2.4.1
and later.
Poking at this with gdb, it seems that the child exits with a status
indicating that it was terminated by SIGSEGV, so it's almost as if the
signal handler somehow doesn't get installed properly.
This also seems to work correctly when straced, so I'm not sure what to make
of that or how to investigate further...
git bisect?
Good idea.

# first bad commit: [600c44512756da11f45bd47b64f9c9cb9b6aa955] Add
missing dcrt0.cc patch to previous commit

I'm not sure what that commit is doing, or why the problem manifests
thereafter (assuming I didn't screw up the bisection)

I'm guessing this is perhaps related to the fix in
c43e9340f1bebe97d8e8ea683ec7f2bf911b5a85?

Loading...