Bug#676979: sbcl: file nik.lisp for reproduction is included below
Christoph Egger
christoph at christoph-egger.org
Wed Jan 9 22:34:10 UTC 2013
Hi!
Faheem Mitha <faheem at faheem.info> writes:
> On Wed, 9 Jan 2013, Christoph Egger wrote:
>> So actually it either needs to actually dfail to allocate the memory
>> or it's platform-specific. I think I get the problem on a amd64 with
>> few enough memory to trigger the Heap exhaustion
>
> Hi Christoph,
>
> Thanks for taking a look. The developers don't seem interested. What
> is dfail?
Just a d too much. In the first case the run of (main 10000) just went
through and didn't cause a heap exhaustion while the second one was on a
machine with way less memory and address-space (64bit 8GB RAM vs 32bit
1G RAM) and showed the hep exhaustion error.
> The major issue is really that (gc :full t) breaks. Do you
> see that?
I guess so. The end of the log is below:
---
Dynamic space usage is: 510,629,256 bytes.
Read-only space usage is: 3,512 bytes.
Static space usage is: 2,256 bytes.
Control stack usage is: 1,464 bytes.
Binding stack usage is: 400 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.
Breakdown for dynamic space:
480,000,056 bytes for 7 simple-array-double-float objects.
30,846,272 bytes for 1,057,407 other objects.
510,846,328 bytes for 1,057,414 dynamic objects (space total.)
---
Heap exhausted during allocation: 17862656 bytes available, 80000008 requested.
Gen StaPg UbSta LaSta LUbSt Boxed Unboxed LB LUB !move Alloc Waste Trig WP GCs Mem-age
0: 7068 0 0 0 79 0 0 0 0 319472 4112 5368709 0 0 0.0000
1: 0 0 0 0 4 1 0 58596 58599 240008904 20792 245377613 1 5 0.0000
2: 8013 8012 0 0 441 80 0 58596 58608 242030272 112960 2000000 429 0 0.0000
3: 0 0 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000
4: 0 0 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000
5: 0 0 0 0 0 0 0 0 0 0 0 2000000 0 0 0.0000
6: 0 0 0 0 5722 1258 0 0 0 28590080 0 2000000 5603 0 0.0000
Total bytes allocated = 510948728
Dynamic-space-size bytes = 536870912
GC control variables:
*GC-INHIBIT* = false
*GC-PENDING* = true
*STOP-FOR-GC-PENDING* = false
debugger invoked on a SB-KERNEL::HEAP-EXHAUSTED-ERROR in thread
#<THREAD "main thread" RUNNING {AB446C9}>:
Heap exhausted (no more space for allocation).
There are still 17862656 bytes available; the request was for 80000008 bytes.
PROCEED WITH CAUTION.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
(SB-KERNEL::HEAP-EXHAUSTED-ERROR 17862656 80000008)
0] 0
* (room)
Dynamic space usage is: 430,650,184 bytes.
Read-only space usage is: 3,512 bytes.
Static space usage is: 2,256 bytes.
Control stack usage is: 1,432 bytes.
Binding stack usage is: 400 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.
Breakdown for dynamic space:
400,000,048 bytes for 6 simple-array-double-float objects.
30,871,144 bytes for 1,058,319 other objects.
430,871,192 bytes for 1,058,325 dynamic objects (space total.)
* (gc :full t)
NIL
* (room)
Dynamic space usage is: 189,565,192 bytes.
Read-only space usage is: 3,512 bytes.
Static space usage is: 2,256 bytes.
Control stack usage is: 1,432 bytes.
Binding stack usage is: 400 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.
Breakdown for dynamic space:
160,000,024 bytes for 3 simple-array-double-float objects.
9,905,304 bytes for 12,683 code objects.
19,885,064 bytes for 1,009,121 other objects.
189,790,392 bytes for 1,021,807 dynamic objects (space total.)
* (gc :full t)
NIL
* (room)
Dynamic space usage is: 109,562,632 bytes.
Read-only space usage is: 3,512 bytes.
Static space usage is: 2,256 bytes.
Control stack usage is: 1,432 bytes.
Binding stack usage is: 400 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.
Breakdown for dynamic space:
80,000,016 bytes for 2 simple-array-double-float objects.
9,905,304 bytes for 12,683 code objects.
19,894,800 bytes for 1,010,568 other objects.
109,800,120 bytes for 1,023,253 dynamic objects (space total.)
* (gc :full t)
NIL
* (room)
Dynamic space usage is: 109,564,560 bytes.
Read-only space usage is: 3,512 bytes.
Static space usage is: 2,256 bytes.
Control stack usage is: 1,432 bytes.
Binding stack usage is: 400 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.
Breakdown for dynamic space:
80,000,016 bytes for 2 simple-array-double-float objects.
9,905,304 bytes for 12,683 code objects.
19,884,440 bytes for 1,009,105 other objects.
109,789,760 bytes for 1,021,790 dynamic objects (space total.)
* (dotimes (i 10) (gc :full t))
NIL
* (room)
Dynamic space usage is: 109,605,312 bytes.
Read-only space usage is: 3,512 bytes.
Static space usage is: 2,256 bytes.
Control stack usage is: 1,432 bytes.
Binding stack usage is: 400 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.
Breakdown for dynamic space:
80,000,016 bytes for 2 simple-array-double-float objects.
9,905,456 bytes for 12,684 code objects.
19,925,040 bytes for 1,010,429 other objects.
109,830,512 bytes for 1,023,115 dynamic objects (space total.)
* (dotimes (i 10) (gc :full t))
NIL
* (room)
Dynamic space usage is: 109,605,480 bytes.
Read-only space usage is: 3,512 bytes.
Static space usage is: 2,256 bytes.
Control stack usage is: 1,432 bytes.
Binding stack usage is: 400 bytes.
Control and binding stack usage is for the current thread only.
Garbage collection is currently enabled.
Breakdown for dynamic space:
80,000,016 bytes for 2 simple-array-double-float objects.
9,905,456 bytes for 12,684 code objects.
19,925,208 bytes for 1,010,394 other objects.
109,830,680 bytes for 1,023,080 dynamic objects (space total.)
More information about the pkg-common-lisp-devel
mailing list