[Gc] moving from 6.8->7.0 getting smashed objects
jim.marshall at wbemsolutions.com
Sun Jul 8 20:48:20 PDT 2007
I was hoping to migrate our application to use GC 7.0 for our next
release. I built the Linux library with the following configure script
--enable-gc-assertions --enable-full-debug --enable-static=no
I tried with and without the 'thread-local-alloc' as our 6.8 compilation
did not have that.
I then rebuilt my application using the new libgc.so.1.0.3. When I start
the application and as I run through code I get a list of smashed
objects, however; under gc 6.8 the application runs fine with no smashed
objects detected. I do not doubt that we are doing this, I just wanted
to ask if GC 7.0 has a new algorithm for detecting smashed objects which
is better then 6.8 (I suspect yes) and if anyone else is experiencing
this? I wanted to ask before I spend a ton of time trying to track
Thank you again!
When I do the above configure the build is being done with -g -O2, I
did not expect the "-O2" to be there for debug builds:
> gcc -DPACKAGE_NAME=\"gc\" -DPACKAGE_TARNAME=\"gc\"
> -DPACKAGE_VERSION=\"7.0\" "-DPACKAGE_STRING=\"gc 7.0\""
> -DPACKAGE_BUGREPORT=\"Hans.Boehm at hp.com\" -DGC_VERSION_MAJOR=7
> -DGC_VERSION_MINOR=0 -DPACKAGE=\"gc\" -DVERSION=\"7.0\"
> -DGC_LINUX_THREADS=1 -D_REENTRANT=1 -DTHREAD_LOCAL_ALLOC=1
> -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
> -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
> -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
> -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DNO_EXECUTE_PERMISSION=1
> -DALL_INTERIOR_POINTERS=1 -DGC_GCJ_SUPPORT=1 -DJAVA_FINALIZATION=1
> -DATOMIC_UNCOLLECTABLE=1 -DGC_ASSERTIONS=1 -I./include -fexceptions -I
> ./libatomic_ops/src -g -O2 -MT os_dep.lo -MD -MP -MF .deps/os_dep.Tpo
> -c os_dep.c -fPIC -DPIC -o .libs/os_dep.o
More information about the Gc