Now  -- could that be loop unrolling that exceeded the max size that PROGN 
takes in GCL?

J.

On November 9, 2018 5:23:05 PM GMT-02:00, Jeronimo Pellegrini 
<[email protected]> wrote:
>Hello,
>
>So -- I had used GCL in the past with Spartns
>(https://gitlab.com/jpellegrini/spartns)
>and it worked fine. However, currently this is what happens:
>
>- the released version (Debian package, 2.6.12-80) fails
>  several Spartns unit tests. This is finem because:
>
>- the git checkout does pass all tests! However, when running 
>  the benchmarks, it exits abnormally:
>
>$ GCL_ANSI=1 gcl
>GCL (GNU Common Lisp)  2.7.0 ANSI    Nov  6 2018 23:26:25
>Source License: LGPL(gcl,gmp,pargcl), GPL(unexec,bfd,xgcl)
>Binary License:  GPL due to GPL'ed components: (XGCL READLINE 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.
>Temporary directory for compiler files set to /tmp/user/1000/
>
>>(si::use-fast-links nil) 
>
>NIL
>
>>(load "do-benchmarks.lisp")
>...
>... ;; lots of normal output here, from other functions being compiled
>...
>;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0,
>Speed=3, (Debug quality ignored)
>;; Finished compiling /tmp/user/1000/gazonk_12854_0.o.
>;; Loading #P"/tmp/user/1000/gazonk_12854_0.o"
>
>Error: 
>Signalled by PROGN.
>Condition in PROGN [or a callee]: INTERNAL-SIMPLE-ERROR: The assertion
>v && (unsigned long)(v+sz)<MAX_CODE_ADDRESS
> on line 1035 of alloc.c in function alloc_code_space
> failed: Success
>
>Broken at SYSTEM::BREAK-LEVEL.  Type :H for Help.
>    1  Return to top level. 
>SPARTNS>> :bt
>
>#0   INVOKE-DEBUGGER {loc0=#<conditions::internal-simple-error.0>}
>[ihs=21]
>#1   LOAD-FASL {loc0=#P"/tmp/user/1000/gazonk_12854_0.o",loc1=nil}
>[ihs=18]
>#2   LOAD-PATHNAME
>{loc0=#P"/tmp/user/1000/gazonk_12854_0.o",loc1=nil,loc2=:error,loc3=nil,loc4=nil...}
>[ihs=17]
>#3   LOAD {loc0=#P"/tmp/user/1000/gazonk_12854_0.o"} [ihs=16]
>#4   COMPILE {loc0=run-cvector-get,loc1=(nil),loc2=nil} [ihs=15]
>#5   LOAD-STREAM {} [ihs=11]
>#6   LOAD-PATHNAME
>{loc0=#P"benchmark.lisp",loc1=nil,loc2=:error,loc3=nil,loc4=nil,loc5=#<input
>str...} [ihs=10]
>#7   LOAD {loc0="benchmark.lisp"} [ihs=9]
>#8   LOAD-STREAM {} [ihs=7]
>#9   LOAD-PATHNAME
>{loc0=#P"do-benchmarks.lisp",loc1=nil,loc2=:error,loc3=nil,loc4=nil,loc5=#<input...}
>[ihs=6]
>#10   LOAD {loc0="do-benchmarks.lisp"} [ihs=5]
>
>The benchmarks were written in a very lazy state of mind, so I have
>a big macro that generates lots of functions. But I wasn't expecting
>this,
>since the generated functions are actually simple (nested loops for
>accessing
>vectors and hashtables, mostly)...
>
>What does the error mean?
>It's funny that the error happens not during the execution of the
>benchmark,
>but when the function (which is quite simple actually) is being
>compiled!
>
>That something called "MAX_CODE_ADDRESS" has been exceeded makes me
>worried! :-)
>
>What could I possibly be doing to trigger that?
>
>(Anyway -- ECL, SBCL, Clisp, ccl seem to compile and run the benchmarks
>with no
> problem)
>
>
>The easy way to reproduce:
>
>$ git clone https://gitlab.com/jpellegrini/spartns.git
>$ cd spartns
>$ GCL_ANSI=1 gcl
>> (si::use-fast-links nil)
>
>> (load "do-benchmarks.lisp")
>
>
>Thanks,
>J.
>
>
>_______________________________________________
>Gcl-devel mailing list
>[email protected]
>https://lists.gnu.org/mailman/listinfo/gcl-devel

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
_______________________________________________
Gcl-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/gcl-devel

Reply via email to