Heap exhaustion in compilation, in SB-BIGNUM:BIGNUM-ASHIFT-LEFT-FIXNUM

Eric Marsden via Sbcl-devel <[email protected]>
Newsgroups gmane.lisp.steel-bank.devel
Message-ID <[email protected]>
Hi,

This is from random-integer testing on AMD64.

* (lisp-implementation-version)
"2.6.1.51-1268f73b6"
* (defun foo (a b)
     (declare (type (integer -67403236331095 -5833318) a))
     (declare (type (integer 2 47858508465397) b))
     (flet ((%f (f-1 &optional (f-2 (catch 'ct1 0)))
                (ash (sbit #*111011101110 (min 11 (max 0 a))) (min 77 
f-1))))
       (multiple-value-call #'%f
                            (values (elt #(239628477544 1 254463630036)
                                         (min 2 (max 0 b)))))))

; in: DEFUN FOO
;     (%F (F-1 &OPTIONAL (F-2 (CATCH 'CT1 0)))
;      (ASH (SBIT #*111011101110 (MIN 11 (MAX 0 A))) (MIN 77 F-1)))
;
; caught STYLE-WARNING:
;   The variable F-2 is defined but never used.
Heap exhausted during allocation: 2368339968 bytes available, 
31807953776 requested.
      | Immobile Objects |
  Gen layout symbol   code  Boxed   Cons    Raw   Code  SmMix  Mixed 
LgRaw LgCode  LgMix Waste%       Alloc        Trig   Dirty GCs Mem-age
   0    161    489    981      1    228      1     14      1    702     
0      0      0    2.0    30398992    24162016       -   1 0.0000
   1      0      0      0      0      0      0      0      0      0     
0      0      0    0.0           0     2000000       0   0 0.0000
   2      0      0      0      0      0      0      0      0      0     
0      0      0    0.0           0     2000000       0   0 0.0000
   3      0      0      0      0      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      0    0.0           0     2000000       0   0 0.0000
   5      0      0      0      0      0      0      0      0      0     
0      0      0    0.0           0     2000000       0   0 0.0000
   6    768  23304  19583    222    114      6      3     11     12     
0      0      9    3.0    11978928     2000000      24   0 0.0000
Tot    929  23793  20564    223    342      7     17     12    714     
0      0      9    2.3    42377920 [1.8% of 2411724800 max]
GC control variables:
    *GC-INHIBIT* = false
    *GC-PENDING* = true
    *STOP-FOR-GC-PENDING* = false
Collection trigger variables:
    dynamic_space_size = 2411724800
    bytes_allocated = 42377920
    auto_gc_trigger = 132609936
    bytes_consed_between_gcs = 120586240

debugger invoked on a SB-KERNEL::HEAP-EXHAUSTED-ERROR in thread
#<THREAD tid=34314 "main thread" RUNNING {12029680A3}>:
   Heap exhausted (no more space for allocation).
2368339968 bytes available, 31807953776 requested.

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 1184169984 15903976888)
0] backtrace

Backtrace for: #<SB-THREAD:THREAD tid=34314 "main thread" RUNNING 
{12029680A3}>
0: (SB-KERNEL::HEAP-EXHAUSTED-ERROR 1184169984 15903976888)
1: ("foreign function: call_into_lisp_")
2: ("foreign function: funcall2")
3: ("foreign function: gc_heap_exhausted_error_or_lose")
4: ("foreign function: gc_find_freeish_pages")
5: ("foreign function: gc_alloc_large")
6: (SB-VM::ALLOC-TRAMP)
7: (SB-BIGNUM:BIGNUM-ASHIFT-LEFT-FIXNUM #<unavailable argument> 
#<unavailable argument>)
8: (SB-C::CAREFUL-CALL ASH (1 254463630036))
9: (SB-C::%CONSTANT-FOLD-CALL-MULTIPLE-USES #<SB-C::COMBINATION :FUN ASH 
:ARGS (#<SB-C::REF  :LEAF 1 {1202951A23}> (#<SB-C::REF :%SOURCE-NAME 
#:MAXREST5 :LEAF 254463630036 {120291FA43}> #<SB-C::REF :%SOURCE-NAME 
#:ARG04 :LEAF 77 {120291FAE3}>)) {1202919B63}> #<SB-C::LVAR 1 
{1202922CF3}> NIL NIL)


_______________________________________________
Sbcl-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sbcl-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.