[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] GCL memory allocation and GC problems
From: |
Camm Maguire |
Subject: |
Re: [Gcl-devel] GCL memory allocation and GC problems |
Date: |
10 Dec 2003 15:06:33 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetigns! This is very odd. With my gcl_2.6.1-18 build, in ansi or
trad mode, I get something like this (using ansi for example):
=============================================================================
(sid)address@hidden:/fix/j/camm/gcl/gcl-2.6.1/unixport$ GCL_ANSI=t gcl
GCL (GNU Common Lisp) (2.6.1) Thu Nov 6 16:29:14 UTC 2003
Licensed under GNU Library General Public License
Dedicated to the memory of W. Schelter
Use (help) to get some basic information on how to use GCL.
>(load "/tmp/g.lisp")
Loading /tmp/g.lisp
Finished loading /tmp/g.lisp
T
>(setq si::*notify-gbc* t)
T
>(si::set-hole-size 60000)
60000
"Gcl"
>(pass)
***** Starting pass #1[GC for 50 RELOCATABLE-BLOCKS pages..(T=1).GC finished]
[GC for 474 CONS pages..(T=2).GC finished]
[GC for 786 CONS pages..(T=2).GC finished]
[GC for 1304 CONS pages..(T=3).GC finished]
[GC for 2164 CONS pages..(T=3).GC finished]
[GC for 3164 CONS pages..(T=4).GC finished]
[GC for 4164 CONS pages..(T=5).GC finished]
[GC for 5164 CONS pages..(T=7).GC finished]
[GC for 6164 CONS pages..(T=8).GC finished]
[GC for 7164 CONS pages..(T=9).GC finished]
[GC for 8164 CONS pages..(T=10).GC finished]
real time : 0.680 secs
run time : 0.590 secs
9107/9164 100.0% 10 CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
28/28 7.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE NIL
92/109 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
48/57 93.0% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE
FAT-STRING
30/32 76.4% STRING
27/27 18.7% CFUN BIGNUM
11/13 83.6% SFUN GFUN CFDATA SPICE NIL
11/343 1 contiguous (21 blocks)
51327 hole
50 0.2% 1 relocatable
9344 pages for cells
60732 total pages
55311 pages available
15029 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
***** End of pass #1
***** Run time: 0.60 GC time: 0.54 (90.0%)
NIL
>(pass)
***** Starting pass #2[GC for 9164 CONS pages..(T=11).GC finished]
[GC for 10164 CONS pages..(T=12).GC finished]
[GC for 11164 CONS pages..(T=13).GC finished]
[GC for 12164 CONS pages..(T=14).GC finished]
[GC for 13164 CONS pages..(T=15).GC finished]
[GC for 14164 CONS pages..(T=16).GC finished]
[GC for 15164 CONS pages..(T=18).GC finished]
[GC for 16164 CONS pages..(T=19).GC finished]
[GC for 17164 CONS pages..(T=21).GC finished]
real time : 1.520 secs
run time : 1.450 secs
17905/18164100.0% 19CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
28/28 7.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE NIL
92/109 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
48/57 93.0% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE
FAT-STRING
30/32 76.4% STRING
27/27 18.7% CFUN BIGNUM
11/13 83.6% SFUN GFUN CFDATA SPICE NIL
11/343 1 contiguous (18 blocks)
42529 hole
50 0.2% 1 relocatable
18142 pages for cells
60732 total pages
46513 pages available
23827 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
***** End of pass #2
***** Run time: 2.05 GC time: 1.93 (94.1%)
NIL
>(pass)
***** Starting pass #3[GC for 18164 CONS pages..(T=20).GC finished]
[GC for 19164 CONS pages..(T=22).GC finished]
[GC for 20164 CONS pages..(T=22).GC finished]
[GC for 21164 CONS pages..(T=24).GC finished]
[GC for 22164 CONS pages..(T=25).GC finished]
[GC for 23164 CONS pages..(T=26).GC finished]
[GC for 24164 CONS pages..(T=27).GC finished]
[GC for 25164 CONS pages..(T=28).GC finished]
[GC for 26164 CONS pages..(T=29).GC finished]
real time : 2.400 secs
run time : 2.310 secs
26702/27164100.0% 28CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
28/28 7.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE NIL
92/109 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
48/57 93.0% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE
FAT-STRING
30/32 76.4% STRING
27/27 18.7% CFUN BIGNUM
11/13 83.6% SFUN GFUN CFDATA SPICE NIL
11/343 1 contiguous (17 blocks)
33732 hole
50 0.2% 1 relocatable
26939 pages for cells
60732 total pages
37716 pages available
32624 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
***** End of pass #3
***** Run time: 4.36 GC time: 4.16 (95.4%)
NIL
>(pass)
***** Starting pass #4[GC for 27164 CONS pages..(T=30).GC finished]
[GC for 28164 CONS pages..(T=31).GC finished]
[GC for 29164 CONS pages..(T=32).GC finished]
[GC for 30164 CONS pages..(T=33).GC finished]
[GC for 31164 CONS pages..(T=35).GC finished]
[GC for 32164 CONS pages..(T=36).GC finished]
[GC for 33164 CONS pages..(T=37).GC finished]
[GC for 34164 CONS pages..(T=38).GC finished]
[GC for 35164 CONS pages..(T=39).GC finished]
real time : 3.220 secs
run time : 3.190 secs
35500/36164100.0% 37CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
28/28 7.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE NIL
92/109 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
48/57 93.0% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE
FAT-STRING
30/32 76.4% STRING
27/27 18.7% CFUN BIGNUM
11/13 83.6% SFUN GFUN CFDATA SPICE NIL
11/343 1 contiguous (16 blocks)
24934 hole
50 0.2% 1 relocatable
35737 pages for cells
60732 total pages
28918 pages available
41422 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
***** End of pass #4
***** Run time: 7.55 GC time: 7.27 (96.3%)
NIL
>(pass)
***** Starting pass #5[GC for 36164 CONS pages..(T=39).GC finished]
[GC for 37164 CONS pages..(T=40).GC finished]
[GC for 38164 CONS pages..(T=42).GC finished]
[GC for 39164 CONS pages..(T=43).GC finished]
[GC for 40164 CONS pages..(T=44).GC finished]
[GC for 41164 CONS pages..(T=45).GC finished]
[GC for 42164 CONS pages..(T=46).GC finished]
[GC for 43164 CONS pages..(T=47).GC finished]
[GC for 44164 CONS pages..(T=48).GC finished]
real time : 4.090 secs
run time : 4.000 secs
44297/45164100.0% 46CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
28/28 7.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE NIL
92/109 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
48/57 93.0% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE
FAT-STRING
30/32 76.4% STRING
27/27 18.7% CFUN BIGNUM
11/13 83.6% SFUN GFUN CFDATA SPICE NIL
11/343 1 contiguous (16 blocks)
16137 hole
50 0.2% 1 relocatable
44534 pages for cells
60732 total pages
20121 pages available
50219 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
***** End of pass #5
***** Run time: 11.55 GC time: 11.21 (97.1%)
NIL
>(pass)
***** Starting pass #6[GC for 45164 CONS pages..(T=50).GC finished]
[GC for 46164 CONS pages..(T=50).GC finished]
[GC for 47164 CONS pages..(T=51).GC finished]
[GC for 48164 CONS pages..(T=52).GC finished]
[GC for 49164 CONS pages..(T=53).GC finished]
[GC for 50164 CONS pages..(T=55).GC finished]
[GC for 51164 CONS pages..(T=55).GC finished]
[GC for 52164 CONS pages..(T=57).GC finished]
real time : 4.870 secs
run time : 4.270 secs
53095/53164100.0% 54CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
28/28 7.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE NIL
92/109 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
48/57 93.0% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE
FAT-STRING
30/32 76.4% STRING
27/27 18.7% CFUN BIGNUM
11/13 83.6% SFUN GFUN CFDATA SPICE NIL
11/343 1 contiguous (15 blocks)
7339 hole
50 0.2% 1 relocatable
53332 pages for cells
60732 total pages
11323 pages available
59017 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
***** End of pass #6
***** Run time: 15.82 GC time: 15.44 (97.6%)
NIL
>(pass)
***** Starting pass #7[GC for 53164 CONS pages..(T=57).GC finished]
[GC for 54164 CONS pages..(T=59).GC finished]
[GC for 55164 CONS pages..(T=60).GC finished]
[GC for 56164 CONS pages..(T=61).GC finished]
[GC for 57164 CONS pages..(T=62).GC finished]
[GC for 58164 CONS pages..(T=64).GC finished]
[GC for 59164 CONS pages..(T=64).GC finished]
[GC for 60164 CONS pages..(T=65).GC finished]
[GC for 50 RELOCATABLE-BLOCKS pages..(T=66).GC finished]
[GC for 61164 CONS pages..(T=66).GC finished]
real time : 6.950 secs
run time : 6.300 secs
61893/62164100.0% 63CONS RATIO LONG-FLOAT COMPLEX STRUCTURE
28/28 7.4% FIXNUM SHORT-FLOAT CHARACTER RANDOM-STATE READTABLE NIL
92/109 82.9% SYMBOL STREAM
1/2 20.5% PACKAGE
48/57 93.0% ARRAY HASH-TABLE VECTOR BIT-VECTOR PATHNAME CCLOSURE
FAT-STRING
30/32 76.4% STRING
27/27 18.7% CFUN BIGNUM
11/13 83.6% SFUN GFUN CFDATA SPICE NIL
11/343 2 contiguous (15 blocks)
58511 hole
50 0.2% 2 relocatable
62130 pages for cells
120702 total pages
2525 pages available
7845 pages in heap but not gc'd + pages needed for gc marking
131072 maximum pages
***** End of pass #7
***** Run time: 22.12 GC time: 21.68 (98.0%)
NIL
>(pass)
***** Starting pass #8[GC for 62164 CONS pages..(T=67).GC finished]
[GC for 63164 CONS pages..(T=69).GC finished]
[GC for 64164 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=71).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=73).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=70).GC finished]
[GC for 64418 CONS pages..(T=69).GC finished]
[GC for 64418 CONS pages..(T=77).GC finished]
[GC for 64418 CONS pages..
[1]+ Stopped GCL_ANSI=t gcl
(sid)address@hidden:/fix/j/camm/gcl/gcl-2.6.1/unixport$
(sid)address@hidden:/fix/j/camm/gcl/gcl-2.6.1/unixport$ kill %1
[1]+ Stopped GCL_ANSI=t gcl
(sid)address@hidden:/fix/j/camm/gcl/gcl-2.6.1/unixport$
[1]+ Terminated GCL_ANSI=t gcl
(sid)address@hidden:/fix/j/camm/gcl/gcl-2.6.1/unixport$
=============================================================================
The loop is the afore-mentioned failure to allocate memory to print
the out of memory error message.
What gcl are you using to get a crash?
Take care,
"Vadim V. Zhytnikov" <address@hidden> writes:
> Camm Maguire ?????:
> > Greetings!
> > Vadim, I'm looking at the rest of your post, but there is one part I
> > cannot reproduce:
> > "Vadim V. Zhytnikov" <address@hidden> writes:
> >
> >>Test #2. Same as 1 but before allocating CONS pages I set
> >>hole size 60000 (~ half of maxpages).
> >>The result is drastically different. I allocated 60K
> >>pages for CONS with 68 GC for CONS, 0 GC for relocatable
> >>and time 40 seconds only. Hole size gradually decreases
> >>from 60K to some small value as number of CONS pages
> >>increases (CONS pages are drawn from hole). When
> >>60K pages of hole are exhausted GCL automatically resets
> >>it value to 60K pages and after this attempt to allocate
> >>next 8K pages for CONS fails. GCL thinks for 10 minutes
> >>and crashes with message:
> >>Unrecoverable error. GBC is not enabled.
> >>
> > What I get is an infinite loop of GC calls on cons pages, as GCL
> > tries
> > to allocate space to print the error message "space for cons is
> > exhausted". Obviously this needs fixing, but could you please forward
> > me the exact code you used to get this message? Thanks!
> > Take care,
> >
>
> Test atest.lisp is attached. Load it, set hole size to 60000
> and make (pass) several times - 8th (pass) should eventually
> result in crash. You may want to set si::*notify-gbc* to t
> at the very beginning or right before 8th (pass).
> You will see that at some point (something around 65000 CONS pages)
> GCL stop allocate new pages for CONS I really want to
> understand why.
>
> --
> Vadim V. Zhytnikov
>
> <address@hidden>
> <address@hidden>
>
> (si::allocate-growth 'cons 1 1000 66 33)
> (setq cnt 0)
> (si::gbc-time 0)
> (setq w nil)
>
> (defun pass ()
> (progn (setq cnt (1+ cnt))
> (format t "***** Starting pass #~d" cnt)
> (time(setq w (cons (make-list 3000000) w)))
> (room)
> (format t "***** End of pass #~d" cnt) (terpri)
> (format t "***** Run time: ~,2F GC time: ~,2F (~,1F%)"
> (/ (get-internal-run-time) 100.0)
> (/ (si::gbc-time) 100.0)
> (* (/ (si::gbc-time) (get-internal-run-time)) 100.0))
> ))
>
>
>
>
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah