Subject: [clisp-list] (random tester) Compiler bug: CAR: #:Gxxxx is not a LIST

From: "Paul F. Dietz" <[email-masked]>
Date: Sun Oct 26 19:00:02 2003

Another bug detected by the gcl random tester.  I've modified
the random lambda form generator to increase the probability of
producing AND, OR, NOT, and IF forms in places where true/false
values are wanted.  This test case appeared after only
about 15K iterations, much faster than the previous MTBF of
about 3M tests.

This test has been simplified.

[4]>  (compile nil
             '(lambda (a b)
                (unwind-protect
                    (block b2
                      (flet ((%f1 nil b))
                        (logior (if a (if (ldb-test (byte 23 1) 253966182) (return-from b2 a) -103275090) 62410)
                                (if (not (not (if (not nil) t (ldb-test (byte 2 27) 253671809))))
                                    (return-from b2 -22)
                                  (%f1)
                                  )))))))

*** - CAR: #:G335 is not a LIST
1. Break [5]> backtrace

<1> #<SYSTEM-FUNCTION SHOW-STACK>
<2> #<COMPILED-CLOSURE SYSTEM::DEBUG-BACKTRACE>
<3> #<SYSTEM-FUNCTION SYSTEM::READ-EVAL-PRINT>
<4> #<COMPILED-CLOSURE SYSTEM::BREAK-LOOP-2-1>
<5> #<SYSTEM-FUNCTION SYSTEM::SAME-ENV-AS>
<6> #<COMPILED-CLOSURE SYSTEM::BREAK-LOOP-2>
<7> #<SYSTEM-FUNCTION SYSTEM::DRIVER>
<8> #<COMPILED-CLOSURE SYSTEM::BREAK-LOOP>
<9> #<SYSTEM-FUNCTION INVOKE-DEBUGGER>
<10> #<SYSTEM-FUNCTION CAR>
<11> #<COMPILED-CLOSURE SYSTEM::SIMPLIFY>
<12> #<COMPILED-CLOSURE SYSTEM::OPTIMIZE-PART>
<13> #<COMPILED-CLOSURE SYSTEM::COALESCE-1>
<14> #<SYSTEM-FUNCTION MAPHASH>
<15> #<COMPILED-CLOSURE SYSTEM::COALESCE>
<16> #<COMPILED-CLOSURE SYSTEM::OPTIMIZE-ALL>
<17> #<COMPILED-CLOSURE SYSTEM::COMPILE-TO-LAP>
<18> #<COMPILED-CLOSURE SYSTEM::PASS2>
<19> #<COMPILED-CLOSURE SYSTEM::COMPILE-LAMBDABODY>
<20> #<COMPILED-CLOSURE COMPILE>
Printed 20 frames

	Paul