gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: sbrk vs. arithmetic


From: Camm Maguire
Subject: [Gcl-devel] Re: sbrk vs. arithmetic
Date: 05 Oct 2005 21:44:15 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!  This is just a brief note to confirm that I can reproduce
your observation -- gcl works while acl2 does not.

The issue does boil down to sbrk as defined externally in libc
however.  I will have to statically link against a locally built libc
copy with debugging on to definitively find out what is going on.  I
can only hazard a guess that sbrk has some presumably faulty error
checking code that is triggered by acl2s' higher starting core value.
Sounds wild, but I've confirmed that sgc does not matter, nor unexec
(i.e. save-system) from conventional GCL.  It is possible that the
resource limits are getting messed up, but I run under a shell with
unlimited data segment size, and these settings should be established
after the first raw image is run, as it appears in tests with gcl
proper.

Hmmm.

Take care,

Robert Boyer <address@hidden> writes:

> On the one hand, I think I understand the gdb stuff in your message about
> 
> > stock Linux kernel won't let you sbrk past 0x40000000
> 
> But so what?
> 
> How come I'm somehow able to get such huge lists in GCL 2.7.0 static?
> 
> The 250,000,000 long list mentioned below takes up 2 gigabytes.  Doesn't it?
> I only seem to get stopped from such allocations in the saved ACL2 image. ???
> 
> Sorry for what is probably a really dumb message.
> 
> Bob
> 
> -------------------------------------------------------------------------------
> 
> transcript
> 
> % g
> GCL (GNU Common Lisp)  2.7.0 ANSI    Oct  2 2005 14:10:47
> Source License: LGPL(gcl,gmp), GPL(unexec,bfd)
> Binary License:  GPL due to GPL'ed components: (BFD UNEXEC)
> Modifications of this banner must retain notice of a compatible license
> Dedicated to the memory of W. Schelter
> 
> Use (help) to get some basic information on how to use GCL.
> 
> >(room t)
> 
> WS      UP/MP     FI%      GC TYPES
> 
>  2     659/659  39.3%         CONS FIXNUM SHORT-FLOAT CHARACTER PATHNAME CFUN 
> NIL
>  8     103/120  55.2%         VECTOR SYMBOL HASH-TABLE ARRAY STRING 
> RANDOM-STATE SFUN CFDATA
>  4      35/52   72.6%         BIT-VECTOR BIGNUM RATIO LONG-FLOAT COMPLEX 
> CCLOSURE
> 10     134/138  89.1%         STRUCTURE
> 14       1/2    21.9%         STREAM
>  6      62/148  90.5%         GFUN PACKAGE READTABLE VFUN AFUN CLOSURE SPICE
> 
>        577/768                contiguous (150 blocks)
>            1010               hole
>            448   0.0%         relocatable
> 
>        994 pages for cells
>       3029 total pages
>     502043 pages available
>      19216 pages in heap but not gc'd + pages needed for gc marking
>     524288 maximum pages
> 
> 
> Key:
> 
> WS: words per struct
> UP: allocated pages
> MP: maximum pages
> FI: fraction of cells in use on allocated pages
> GC: number of gc triggers allocating this type
> 
> word size:            32 bits
> page size:            4096 bytes
> heap start:           0x8000000
> heap max :            0x88000000
> shared library start: 0x0
> cstack start:         0xc0000000
> cstack mark offset:   223 bytes
> cstack direction:     downward
> cstack alignment:     16 bytes
> cstack max:           2097152 bytes
> immfix start:         0xc0000000
> immfix size:          536870912 fixnums
> 
> >(si::allocate 'cons 502043 t)
> 
> T
> 
> >(/ (* 502043 4096) 8)
> 
> 257046016
> 
> >(setq foo (make-list 250000000) bar nil)
> 
> NIL
> 
> >(* 8 250000000)
> 
> 2000000000
> 
> >
> 
> 
> 
> 
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]