[Gc] New GC Scheduler

Neal H. Walfield neal at walfield.org
Thu Jun 19 04:09:04 PDT 2008


At Thu, 19 Jun 2008 00:28:16 +0200,
Neal H. Walfield wrote:
> After some number of collections, a collection that seems perfectly
> normal, will result in the triggering GC_NEW returning NULL.  I'm
> still investing this but would like some feedback:

After some more investigation, it seems that it is not GC_malloc that
is failing but something else (quite possibly my run time).  Running
gctest, I also see failures, usually complains that:

  List reversal produced incorrect list - collector is broken

Other times, it simply terminates due to a NULL pointer dereference.
Occasionally, the test passes.  This happens either with or without my
scheduler enabled.  USE_MMAP and USE_MUNMAP are defined.

When I disable USE_MUNMAP, the test runs to completion successfully.
I've observed that no other configuration currently uses USE_MUNMAP.
When enabling USE_MUNMAP and USE_MMAP on GNU/Linux running on an x86
processor, the test passes.  When I enable my scheduler (by fixing the
available parameter), however, it fails:

  Completed 1 tests
  Finalized 2206/2206 objects - finalization is probably ok
  Total number of bytes allocated is 60591488
  Final heap size is 44679168 bytes
  Unexpected heap growth - collector may be broken
  Test failed
  Aborted

This is clearly different from my error and thus I suspect it is
unrelated.

Any advice would be appreciated.

By the way, I am using gc 7.0.

Neal



More information about the Gc mailing list