From: Benjamin L. <ben...@cm...> - 2008-11-20 22:25:00
|
>> * //testing for consistency of first and second GENESIS passes >> //header files match between first and second GENESIS -- good >> >> real 13m0.960s >> user 4m32.852s >> sys 0m9.967s >> //entering make-target-2.sh >> //doing warm init - compilation phase >> fatal error encountered in SBCL pid 16153: >> GC invariant lost, file "gencgc.c", line 4503 > > A quick look into gencgc.c reveals that the heap size should be > divisible by PAGE_BYTES (that, with gencgc, is equal to > GENCGC_PAGE_BYTES). > > /* Compute the number of pages needed for the dynamic space. > * Dynamic space size should be aligned on page size. */ > page_table_pages = dynamic_space_size/PAGE_BYTES; > gc_assert(dynamic_space_size == npage_bytes(page_table_pages)); I wasn't sure exactly which parameter specifies PAGE_BYTES, but I tried compiled again with the following in backend-parms.lisp: (setf *backend-page-size* 65536) (def!constant gencgc-page-size 65536) Compilation finishes OK with these parameters But then another error shows up when running (below). This time, I noticed that when I started SBCL the process was only allocated 4GB of memory (previously was 8GB). And this time the error appeared when the memory consumption was close to 4GB. ERROR: Heap exhausted during garbage collection: 256 bytes available, 272 requested. Gen StaPg UbSta LaSta LUbSt Boxed Unboxed LB LUB !move Alloc Waste Trig WP GCs Mem-age 0: 0 0 0 0 0 0 0 0 0 0 0 2000 000 0 0 0.0000 1: 0 0 0 0 0 0 0 0 0 0 0 2000 000 0 0 0.0000 2: 0 0 0 0 0 0 0 0 0 0 0 2000 000 0 0 0.0000 3: 18702 19623 0 0 2316 1559 0 0 0 253304736 647264 367 902928 0 1 1.4445 4: 65533 64042 0 0 10721 6663 1731 1539 10 1350800224 2780320 7 78330752 9602 1 1.3438 5: 56837 57662 0 0 21457 15654 1569 1745 25 2643916288 5376512 2000000 22023 0 0.5391 6: 0 0 0 0 581 0 0 0 0 38076416 0 2000 000 535 0 0.0000 Total bytes allocated=4286097664 GC control variables: *GC-INHIBIT* = false *GC-PENDING* = true fatal error encountered in SBCL pid 23666: Heap exhausted, game over. |