This is the mail archive of the cygwin 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: Threads


On Oct 23 21:07, Ken Brown wrote:
> On 10/23/2014 4:32 PM, Ken Brown wrote:
> >On 10/23/2014 11:37 AM, Corinna Vinschen wrote:
> >>On Oct 23 08:04, Ken Brown wrote:
> >>>On 10/23/2014 7:31 AM, Jon TURNEY wrote:
> >>>>On 20/10/2014 14:03, Ken Brown wrote:
> >>>>>Or is there some other plausible explanation for "impossible" crashes?
> >>>>>This can't just be a result of a gdb bug, because in at least one case
> >>>>>the assertion can be shown to be valid by using printf instead of gdb.
> >>>>>
> >>>>>[*] By "impossible" I mean that examination of the relevant
> >>>>>variables in
> >>>>>gdb shows that the assertions are in fact true.  Two ongoing
> >>>>>examples are
> >>>>>
> >>>>>    http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18438
> >>>>>    http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18769
> >>>>
> >>>>As a suggestion, you might want to also take a careful look at how
> >>>>signal
> >>>>delivery is implemented in cygwin on x86_64
> >>>>
> >>>>I had a vague idea that there was, at some time in the past, a fix
> >>>>made for
> >>>>register corruption on x86_64 after a signal was handled, but I
> >>>>can't find it
> >>>>now, so maybe I imagined it.
> >>>
> >>>Is this what you're thinking of?
> >>>
> >>>   https://cygwin.com/ml/cygwin-cvs/2014-q1/msg00020.html
> >>>
> >>>>But if for e.g. the flags register was getting
> >>>>corrupted when a signal interrupts the main thread, that could
> >>>>perhaps also
> >>>>explain what is being seen.
> >>>
> >>>Yes, flags register corruption is exactly what Eli suggested in the
> >>>other
> >>>bug report I cited.
> >>
> >>The aforementioned patch was supposed to fix this problem and it is
> >>definitely in the current 1.7.32 release...
> >
> >The ChangeLog entry just mentions the FPU control word and the XMM
> >registers, but not the ordinary FLAGS register (or rather EFLAGS for x86
> >and RFLAGS for x86_64, if I'm understanding correctly what I find in
> >Wikipedia).  Did the patch also take care of that?
> 
> Never mind, it looks like that was already OK before the patch.  I see that
> there are pushf and popf instructions in gendef.

Right.  If there's any indication that this isn't sufficient, please
tell me.  Maybe there's some other kind of CPU state information which
needs to be saved and restored for signal handling?!?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: pgp1Bsz2PrqT8.pgp
Description: PGP signature


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