gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Windows - Instability in universe.lsp


From: Mike Thomas
Subject: [Gcl-devel] Windows - Instability in universe.lsp
Date: Tue, 23 Mar 2004 18:01:24 +1000

Hi there.

In attempting to narrow down the cause of the Windows ansi test crash I
tried setting a breakpoint in FEerror and was surprised to get a hit during
the loading of "ansi-tests/universe.lsp".  Apparently no message is printed
out when I trace through.  Here is the message:

==============================================================
>(load "gclload.lsp")

Loading gclload.lsp
Loading gclload1.lsp
Loading compile-and-load.lsp
Finished loading compile-and-load.lsp
Loading rt-package.lsp
Finished loading rt-package.lsp
Loading rt.o
start address -T 104e8000 Finished loading rt.o
Loading cl-test-package.lsp
Finished loading cl-test-package.lsp
Loading ansi-aux-macros.o
start address -T 1035b000 Finished loading ansi-aux-macros.o
Loading universe.lsp
[GC for 28 CFUN pages..(T=2).GC finished]
[GC for 28 CFUN pages..(T=2).GC finished]

Breakpoint 1, FEerror (s=0x62ce70 "~S is an illegal character name.", num=1)
    at error.c:261
261       char *p = s;
(gdb)

(gdb) where
#0  FEerror (s=0x62ce70 "~S is an illegal character name.", num=1)
    at error.c:261
#1  0x004648fe in Lsharp_backslash_reader () at read.d:1263
#2  0x0041d4ea in funcall (fun=0x1010e900) at eval.c:173
#3  0x0041ec95 in super_funcall (fun=0x1010e900) at eval.c:743
#4  0x004641b4 in Ldispatch_reader () at read.d:1114
#5  0x0041d4ea in funcall (fun=0x1010e980) at eval.c:173
#6  0x0041ec95 in super_funcall (fun=0x1010e980) at eval.c:743
#7  0x00462817 in read_object (in=0x10401678) at read.d:469
#8  0x0046239e in read_object_non_recursive (in=0x10401678) at read.d:257
#9  0x004667db in Lread () at read.d:1996
#10 0x005efe99 in L4 () at gcl_iolib.c:233
#11 0x0041f487 in eval (form=0x651a90) at eval.c:1090
#12 0x0041f40a in eval (form=0x10369288) at eval.c:1077
#13 0x00414a6f in Freturn_from (args=0x10309ca8) at block.c:88
#14 0x0041f217 in eval (form=0x10309cb4) at eval.c:1037
#15 0x0046175a in Fprogn (body=0x10309b64) at prog.c:248
#16 0x0043e50b in Flet (form=0x10309354) at let.c:82
#17 0x0041f217 in eval (form=0x10309360) at eval.c:1037
#18 0x00460b4f in Ftagbody (body=0x103099c0) at prog.c:95
#19 0x0041f217 in eval (form=0x103099cc) at eval.c:1037
#20 0x0046175a in Fprogn (body=0x103098e8) at prog.c:248
#21 0x0043e50b in Flet (form=0x10309978) at let.c:82
---Type <return> to continue, or q <return> to quit---
#22 0x0041f217 in eval (form=0x103099b4) at eval.c:1037
#23 0x00414667 in Fblock (args=0x103098a0) at block.c:58
#24 0x0041f217 in eval (form=0x103098d0) at eval.c:1037
#25 0x0046175a in Fprogn (body=0x10309888) at prog.c:248
#26 0x0043e50b in Flet (form=0x1030a3e4) at let.c:82
#27 0x0041f217 in eval (form=0x1030a36c) at eval.c:1037
#28 0x0041f40a in eval (form=0x1030a684) at eval.c:1077
#29 0x0041ed84 in Ieval (form=0x1030a690) at eval.c:928
#30 0x0040e542 in setf (place=0x1030a660, form=0x1030a690) at
assignment.c:347
#31 0x0040e224 in Fsetf (form=0x1030a624) at assignment.c:277
#32 0x0041f217 in eval (form=0x1030a63c) at eval.c:1037
#33 0x0041a122 in Fwhen (form=0x1030a438) at conditional.c:149
#34 0x0041f217 in eval (form=0x1030a444) at eval.c:1037
#35 0x00460b4f in Ftagbody (body=0x10346204) at prog.c:95
#36 0x0041f217 in eval (form=0x103461c8) at eval.c:1037
#37 0x0046175a in Fprogn (body=0x103461b0) at prog.c:248
#38 0x0043e6ab in FletA (form=0x10349e94) at let.c:110
#39 0x0041f217 in eval (form=0x10349ea0) at eval.c:1037
#40 0x0046175a in Fprogn (body=0x10349e88) at prog.c:248
#41 0x0043e50b in Flet (form=0x103678f4) at let.c:82
#42 0x0041f217 in eval (form=0x1036790c) at eval.c:1037
#43 0x00414667 in Fblock (args=0x103678dc) at block.c:58
#44 0x0041f217 in eval (form=0x103678e8) at eval.c:1037
---Type <return> to continue, or q <return> to quit---
#45 0x0041dc47 in funcall (fun=0x10359a10) at eval.c:327
#46 0x0041df01 in funcall_no_event (fun=0x103691d4) at eval.c:381
#47 0x0041f494 in eval (form=0x651a90) at eval.c:1092
#48 0x0041f40a in eval (form=0x103684d4) at eval.c:1077
#49 0x0041f40a in eval (form=0x103684bc) at eval.c:1077
#50 0x0041f40a in eval (form=0x103683d8) at eval.c:1077
#51 0x0041ed84 in Ieval (form=0x10368834) at eval.c:928
#52 0x0040d506 in Fsetq (form=0x10368324) at assignment.c:100
#53 0x0041f217 in eval (form=0x10368330) at eval.c:1037
#54 0x0046175a in Fprogn (body=0x103682ac) at prog.c:248
#55 0x0041f217 in eval (form=0x103682c4) at eval.c:1037
#56 0x00429123 in Lload () at file.d:1908
#57 0x00498270 in L13 () at clcs_install.c:569
#58 0x0041f487 in eval (form=0x651a90) at eval.c:1090
#59 0x00429123 in Lload () at file.d:1908
#60 0x00498270 in L13 () at clcs_install.c:569
#61 0x0041f487 in eval (form=0x651a90) at eval.c:1090
#62 0x00429123 in Lload () at file.d:1908
#63 0x00498270 in L13 () at clcs_install.c:569
#64 0x0041f487 in eval (form=0x651a90) at eval.c:1090
#65 0x0041f981 in fLeval (x0=0x103e9f18) at eval.c:1178
#66 0x00431dc6 in c_apply_n (fn=0x41f925 <fLeval>, n=1, x=0x6c1488)
    at funlink.c:363
---Type <return> to continue, or q <return> to quit---


==============================================================



Then I hand load the contents of universe.lsp into GCL and after a package
error the system is completely messed up:



==============================================================

>(defparameter *cl-test-symbols*
    `(,(intern "a" :cl-test)
      ,(intern "" :cl-test)
      ,@(and (code-char 0)
             (list (intern (make-string 1 :initial-element (code-char 0))
:cl-te
st)))
      ,@(and (code-char 0)
             (let* ((s (make-string 10 :initial-element (code-char 0)))
                    (s2 (copy-seq s))
                    (s3 (copy-seq s)))
               (setf (subseq s 3 4) "a")
               (setf (subseq s2 4 5) "a")
               (setf (subseq s3 4 5) "a")
               (setf (subseq s3 7 8) "b")
               (list (intern s :cl-test)
                     (intern s2 :cl-test)
                     (intern s3 :cl-test))))
      ))

Error in INTERN [or a callee]: A package error occurred on :CL-TEST: "A
package
with this name does not exist".

Fast links are on: do (use-fast-links nil) for debugging
Broken at INTERN.  Type :H for Help.
 1 (Continue)
 2 Return to top level.
dbl:>>
(defparameter *cl-user-symbols*
    '(cl-user::foo cl-user::x
      cl-user::cons cl-user::lambda
      cl-user::*print-readably* cl-user::push))

*CL-USER-SYMBOLS*
dbl:>>
(defparameter *symbols*
    (append *booleans* *keywords* *uninterned-symbols*
            *cl-test-symbols*
            *cl-user-symbols*))

Error in SETQ [or a callee]: The variable *CL-TEST-SYMBOLS* is unbound.

Fast links are on: do (use-fast-links nil) for debugging
Broken at APPEND.
 1 (Abort) Return to debug level 1.
 2
 3 Return to top level.
dbl:>>>
(defparameter *array-dimensions*
    (loop
        for i from 0 to 8 collect
          (loop for j from 1 to i collect 2)))

*ARRAY-DIMENSIONS*
dbl:>>>
(defparameter *default-array-target* (make-array '(300)))

*DEFAULT-ARRAY-TARGET*
dbl:>>>
(defparameter *arrays*
    (append
     (list (make-array '10))
     (mapcar #'make-array *array-dimensions*)

     ;; typed arrays
     (loop for tp in '(fixnum float bit character base-char
                       (signed-byte 8) (unsigned-byte 8))
           for element in '(18 16.0f0 0 #\x #\y 127 200)
         append
           (loop
               for d in *array-dimensions*
               collect (make-array d :element-type tp
                                   :initial-element element)))

     ;; More typed arrays
     (loop for i from 1 to 64
           append
           (list (make-array 10 :element-type `(unsigned-byte ,i)
                             :initial-element 1)
                 (make-array 10 :element-type `(signed-byte ,i)
                             :initial-element 0)))

     ;; adjustable arrays
     (loop
       for d in *array-dimensions*
         collect (make-array d :adjustable t))

     ;; Displaced arrays
     (loop
      for d in *array-dimensions*
      for i from 1
      collect (make-array d :displaced-to *default-array-target*
                          :displaced-index-offset i))

     (list
      #()
      #*
      #*00000
      #*1010101010101101
      (make-array 10 :element-type 'bit
                  :initial-contents '(0 1 1 0 1 1 1 1 0 1)
                  :fill-pointer 8)
      (make-array 5 :element-type 'bit
                  :displaced-to #*0111000110
                  :displaced-index-offset 3)
      (make-array 10 :element-type 'bit
                  :initial-contents '(1 1 0 0 1 1 1 0 1 1)
                  :adjustable t)
      )

     ;; Integer arrays
     (list
      (make-array '(10) :element-type '(integer 0 (256))
                  :initial-contents '(8 9 10 11 12 1 2 3 4 5))
      (make-array '(10) :element-type '(integer -128 (128))
                  :initial-contents '(8 9 -10 11 -12 1 -2 -3 4 5))
      (make-array '(6) :element-type '(integer 0 (#.(ash 1 16)))
                  :initial-contents '(5 9 100 1312 23432 87))
      (make-array '(4) :element-type '(integer 0 (#.(ash 1 28)))
                  :initial-contents '(100000 231213 8123712 19))
      (make-array '(4) :element-type '(integer 0 (#.(ash 1 32)))
                  :initial-contents '(#.(1- (ash 1 32)) 0 872312 10000000))

      (make-array nil :element-type '(integer 0 (256))
                  :initial-element 14)
      (make-array '(2 2) :element-type '(integer 0 (256))
                  :initial-contents '((34 98)(14 119)))
      )

     ;; Float arrays
     (list
      (make-array '(5) :element-type 'short-float
                  :initial-contents '(1.0s0 2.0s0 3.0s0 4.0s0 5.0s0))
      (make-array '(5) :element-type 'single-float
                  :initial-contents '(1.0f0 2.0f0 3.0f0 4.0f0 5.0f0))
      (make-array '(5) :element-type 'double-float
                  :initial-contents '(1.0d0 2.0d0 3.0d0 4.0d0 5.0d0))
      (make-array '(5) :element-type 'long-float
                  :initial-contents '(1.0l0 2.0l0 3.0l0 4.0l0 5.0l0))
      )

     ;; The ever-popular NIL array
     (handler-case
      (list (make-array '(0) :element-type nil))
      (error () nil))

     ;; more kinds of arrays here later?
     ))

*ARRAYS*
dbl:>>>
1

Broken at INTERN.
dbl:>>1

Program received signal SIGSEGV, Segmentation fault.
0x00452c1a in intern (st=0x103fca80, p=0x651a90) at package.d:401
401             for (l = *ip;  type_of(l) == t_cons;  l = l->c.c_cdr)
(gdb) bt
#0  0x00452c1a in intern (st=0x103fca80, p=0x651a90) at package.d:401
#1  0x00454608 in Lintern () at package.d:870
#2  0x0041f487 in eval (form=0x651a90) at eval.c:1090
#3  0x0041f40a in eval (form=0x102e26a8) at eval.c:1077
#4  0x0041ed84 in Ieval (form=0x102e269c) at eval.c:928
#5  0x0040d506 in Fsetq (form=0x102e2570) at assignment.c:100
#6  0x0041f217 in eval (form=0x102e257c) at eval.c:1037
#7  0x0046175a in Fprogn (body=0x102e251c) at prog.c:248
#8  0x0041f217 in eval (form=0x102e2534) at eval.c:1037
#9  0x0041f981 in fLeval (x0=0x102e315c) at eval.c:1178
#10 0x00431dc6 in c_apply_n (fn=0x41f925 <fLeval>, n=1, x=0x6c1488)
    at funlink.c:363
#11 0x0044aa7b in IapplyVector (fun=0x10107e24, nargs=1, base=0x6c1488)
    at nfunlink.c:229
#12 0x0041d5b7 in funcall (fun=0x10107e24) at eval.c:190
#13 0x0041e57f in symlispcall (sym=0x10109ad4, base=0x6c1484, narg=1)
    at eval.c:507
#14 0x0060ef1a in LI1 () at gcl_top.c:140
#15 0x0041ca1c in quick_call_sfun (fun=0x10131fdc) at eval.c:117
#16 0x0041d533 in funcall (fun=0x10131fdc) at eval.c:178
#17 0x0044abbc in IapplyVector (fun=0x10131fdc, nargs=0, base=0x6c145c)
    at nfunlink.c:239
#18 0x0041f703 in fLfuncall (fun=0x10131fdc) at eval.c:1140
---Type <return> to continue, or q <return> to quit---
#19 0x00431dc6 in c_apply_n (fn=0x41f678 <fLfuncall>, n=1, x=0x6c1458)
    at funlink.c:363
#20 0x0044aa7b in IapplyVector (fun=0x10107e4c, nargs=1, base=0x6c1458)
    at nfunlink.c:229
#21 0x0041d5b7 in funcall (fun=0x10107e4c) at eval.c:190
#22 0x0041df01 in funcall_no_event (fun=0x10107e4c) at eval.c:381
#23 0x0041f494 in eval (form=0x651a90) at eval.c:1092
#24 0x0041dc47 in funcall (fun=0x1035afe8) at eval.c:327
#25 0x0041df01 in funcall_no_event (fun=0x103e9954) at eval.c:381
#26 0x0041f494 in eval (form=0x651a90) at eval.c:1092
#27 0x0041dc47 in funcall (fun=0x1035aff0) at eval.c:327
#28 0x0041ec95 in super_funcall (fun=0x103e9fb4) at eval.c:743
#29 0x00402c67 in main (argc=1, argv=0xca41f0, envp=0xca2ef0) at main.c:296
(gdb)

==============================================================


Late for the train again

Mike Thomas






reply via email to

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