[Gc] Strange Signal Bug on Linux

Boehm, Hans hans.boehm at hp.com
Sun Jul 30 10:12:47 PDT 2006


The collector uses SIGPWR and SIGXCPU on Linux in order to stop and
restart threads.  (The original reason for that choice was that they
seemed to be the least frequently used signals that existed everywhere.
At this point, the main reason for it is probably backward
compatibility.)

Are you catching those for other purposes?  Otherwise those should not
be causing the application crash.

There seems to be some uncertainty as to whether sem_wait might return
EINTR due to one of these signals.  It's almost certainly safer to retry
if you do get an EINTR.  I think I've only seen it happen when the
application was run under gdb, suggesting a minor gdb issue.  (This
seems to be a violation of the Linux man page, but not the applicable
standards.)

I assume you meant 7.0 CVS?  (This behavior has actually been stable for
a very long time.)

Hans

> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com 
> [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Lothar Scholz
> Sent: Sunday, July 30, 2006 7:06 AM
> To: gc at napali.hpl.hp.com
> Subject: [Gc] Strange Signal Bug on Linux
> 
> Hello,
> 
> I just posted this question
> http://groups.google.com/group/comp.programming.threads/browse
> _thread/thread/0459141ce242ab0c/9882dc261f12bead#9882dc261f12bead
> into the comp.programming.threads newsgroups.
> 
> In short my program crashs with a SIGPWR followed by a 
> SIGXCPU in a thread that is waiting inside a "sem_wait" call.
> 
> The program runs fine on windows and macosx.
> Is the gc using this two symbols and is it possible that this 
> is a gc bug ?
> 
> I'm using one of the 6.7 CVS version.
> 
> 
> --
> Best regards,
>  Lothar Scholz              mailto:scholz at scriptolutions.com
> 
> _______________________________________________
> Gc mailing list
> Gc at linux.hpl.hp.com
> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> 



More information about the Gc mailing list