[Gc] RE: Further investigation of Solaris 10/x86 gctest failure

Boehm, Hans hans.boehm at hp.com
Mon Jun 6 16:14:41 PDT 2005

My general approach would be:

- Forget about the incremental GC failure for now.  Change gcconfig.h
so that it doesn't get enabled for Solaris/X86.  I think there are
few clients anyway.  If you want to try to track this down, try
-DCHECKSUMS, but that's likely to require some fiddling.  (This option
gets tested every two or three years, when some "virtual dirty bit"
implementation breaks.)

- As far as the threads failure is concerned, it may be that the
best approach is to discard the Solaris specific code, and switch
to the generic pthreads code.  (Presumably you don't care about the
old Solaris threads interface.)  This is my plan for 7.0 anyway.
(This is the approach that 6.5 successfully used for AIX and Irix.)


> -----Original Message-----
> From: Rainer Orth [mailto:ro at TechFak.Uni-Bielefeld.DE] 
> Sent: Monday, June 06, 2005 3:13 PM
> To: Boehm, Hans
> Cc: gc at napali.hpl.hp.com
> Subject: Further investigation of Solaris 10/x86 gctest failure
> I've just posted a GCC bug report about my findings 
> concerning the gctest failure observed on Solaris 10/x86:
> 	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21940
> I'm not sure how to best proceed from here (and where to 
> discuss the further investigation, either on gcc-bugs/GCC 
> bugzilla, the gc list or in private mail).
> Anyway, I think there are a couple of important points:
> * It seems like the integration of amd64 support in Solaris 10 broke
>   boehm-gc.
> * Without calls to GC_enable_incremental() (or with 
> --enable-full-debug) and
>   without thread support, gctest works.
> * Without thread support, gctest fails like this (both with 
> cc and gcc):
> Switched to incremental mode
> Reading dirty bits from /proc
> List reversal produced incorrect list - collector is broken 
> Test failed Abort
> * With thread support, the failure scenario is different (but again
>   identical with cc and gcc):
> Apparently failed to mark form some function arguments.
> Perhaps GC_push_regs was configured incorrectly?
> Test failed
> Abort
> * Defining USE_GENERIC_PUSH_REGS doesn't make a difference.
> 	Rainer
> --------------------------------------------------------------
> ---------------
> Rainer Orth, Faculty of Technology, Bielefeld University

More information about the Gc mailing list