Mail Archives: cygwin-developers/2001/09/11/21:49:00
Jason,
This looks like you are getting the crash with the critical section
based patch applied? Is that correct?
Rob
> -----Original Message-----
> From: Jason Tishler [mailto:jason AT tishler DOT net]
> Sent: Wednesday, September 12, 2001 11:15 AM
> To: Robert Collins; cygwin-developers AT cygwin DOT com
> Subject: Re: Quick testfeedback...
>
>
> On Tue, Sep 11, 2001 at 08:40:19PM -0400, Jason Tishler wrote:
> > On Wed, Sep 12, 2001 at 09:19:19AM +1000, Robert Collins wrote:
> > > If it was after the bugfix commit, I'd like to see if we
> can track this
> > > asap...
> >
> > I can reproduce it frequently but not every time. I will
> debug it first
> > thing tomorrow morning. FYI, it seems to occur right near
> the end of
> > the test and the test still passes.
>
> Doh! My first shot running broadcast from gdb caused the SIGSEGV:
>
> (gdb) run
> Starting program: /home/jt/src/PthreadTest-0.1/broadcast.exe
> before cond wait
> ..
> before cond broadcast
> after cond broadcast
> after cond wait
>
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to thread 1804.0x2dc]
> 0x6100f0cb in call_signal_handler_now ()
> at ../../../../src/winsup/cygwin/exceptions.cc:1132
> 1132 *sigsave.retaddr_on_stack = sigsave.retaddr;
> Current language: auto; currently c++
> (gdb) bt
> #0 0x6100f0cb in call_signal_handler_now ()
> at ../../../../src/winsup/cygwin/exceptions.cc:1132
> #1 0x6100f12e in sigframe::call_signal_handler (this=0x1e06f360)
> at ../../../../src/winsup/cygwin/exceptions.cc:1146
> #2 0x6104ff64 in sleep (seconds=2)
> at ../../../../src/winsup/cygwin/signal.cc:84
> #3 0x004011fe in baby () at broadcast.c:56
> #4 0x61063b6c in thread_init_wrapper (_arg=0xa011588)
> at ../../../../src/winsup/cygwin/thread.cc:865
> #5 0x77e837cd in _cygheap_start ()
> (gdb) list
> 1127 static int __stdcall
> 1128 call_signal_handler_now ()
> 1129 {
> 1130 int sa_flags = sigsave.sa_flags;
> 1131 sigproc_printf ("sa_flags %p", sa_flags);
> 1132 *sigsave.retaddr_on_stack = sigsave.retaddr;
> 1133 sigdelayed0 ();
> 1134 return sa_flags & SA_RESTART;
> 1135 }
> 1136 /* This kludge seems to keep a copy of
> call_signal_handler_now around
> (gdb) p sigsave.retaddr_on_stack
> $1 = (DWORD *) 0x0
>
> I really have to go now. I will pick this up first thing in
> the morning
> assuming that I'm not still in the dog house... No cable
> modem there... :,)
>
> Jason
>
- Raw text -