[Bese-devel] Re: Is dynamic-forms-demo working in the latest box set? I get a `NIL' is not of the expected type `ARRAY'

Lou Vanek vanek at acd.net
Fri Jun 16 15:47:38 UTC 2006


Popovich, Thomas wrote:

> Hi Marco & Lou,
> 
> Thanks again for your assistance.  I’ve tried the demos and I think most 
> work except
> 
> Dynamic Form demo which gives exception : `NIL' is not of the expected 
> type `ARRAY'  when running the DynamicFormsDemo in allegro version 8 (on 
> windows).
> 
> I get this when I click on the link to launch the demo;
> 
> I made a flash movie so as to show and can send it to you, it is about 1 
> Meg is size.  Let me know if you want me to send it.
> 
> Attached find the slime events showing the backtrace w/ a few frames 
> opened up:
> 
> <<dynamic-forms-demo-Nil-exception.txt>>
> 
> Have you guys seen this before?
> 
> 
> 
> ------------------------------------------------------------------------
> 
> `NIL' is not of the expected type `ARRAY'
>    [Condition of type TYPE-ERROR]
> 
> Restarts:
>   0: [RETRY] Retry rendering the component #<IT.BESE.UCW-USER::DYNAMIC-FORM @ #x21e6208a>.
>   1: [RETRY] Retry rendering the component #<IT.BESE.UCW:SWITCHING-CONTAINER @ #x21e66362>.
>   2: [RETRY] Retry rendering the component #<IT.BESE.UCW-USER::EXAMPLE-WINDOW @ #x21e6644a>.
>   3: [RETRY] Retry calling RENDER.
>   4: [SERVER-ERROR] Send the client an internal server error page.
>   5: [GENERATE-BACKTRACE-FOR-EMACS] Generate a bug report in Emacs.
>   6: [FAIL-MISERABLY] Pretend this request never happend and fail.
>   7: [TRY-AGAIN] Play this request over from the top.
>   8: [ABORT] Abort entirely from this (lisp) process.
> 
> Backtrace:
>   0: (SWANK::DEBUG-IN-EMACS #<TYPE-ERROR @ #x21e613da>)
>   1: ((:INTERNAL SWANK:SWANK-DEBUGGER-HOOK 0))
>   2: ((METHOD SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK (T T)) #<Function SWANK-DEBUGGER-HOOK> #<Closure (:INTERNAL SWANK:SWANK-DEBUGGER-HOOK 0) @ #x21eed27a>)
>   3: ((:INTERNAL SWANK::CALL-WITH-CONNECTION 0))
>   4: (SWANK::CALL-WITH-REDIRECTED-IO #<SWANK::CONNECTION @ #x2030ad8a> #<Closure (:INTERNAL SWANK::CALL-WITH-CONNECTION 0) @ #x21eed2aa>)
>   5: (SWANK::MAYBE-CALL-WITH-IO-REDIRECTION #<SWANK::CONNECTION @ #x2030ad8a> #<Closure (:INTERNAL SWANK::CALL-WITH-CONNECTION 0) @ #x21eed2aa>)
>   6: (SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION @ #x2030ad8a> #<Closure (:INTERNAL SWANK:SWANK-DEBUGGER-HOOK 0) @ #x21eed27a>)
>   7: (SWANK:SWANK-DEBUGGER-HOOK #<TYPE-ERROR @ #x21e613da> NIL)
>   8: ((:INTERNAL (METHOD IT.BESE.UCW::HANDLE-REQUEST (IT.BESE.UCW:STANDARD-SERVER IT.BESE.UCW:REQUEST IT.BESE.UCW:RESPONSE)) 4) #<TYPE-ERROR @ #x21e613da>)
>   9: (SIGNAL #<TYPE-ERROR @ #x21e613da>)
>  10: (ERROR TYPE-ERROR :DATUM NIL :EXPECTED-TYPE ARRAY :FORMAT-CONTROL "~@<`~s' is not of the expected type `~s'~:@>" :FORMAT-ARGUMENTS (NIL ARRAY))
>  11: (ADJUST-ARRAY NIL 1)
>       Locals:
>         ARRAY = NIL


Program is dying on line 565 of form.lisp:
(adjust-array +string-index-cache+ (1+ i))

+string-index-cache+ is null, for some reason. Works in Clisp.

Allegro 8 is probably unable to process the following sexp and create the array:

(defvar +string-index-cache+
   (map-into (make-array 50
                         :element-type 'string
                         :adjustable t)
             (let ((i -1))
               (lambda ()
                 (princ-to-string (incf i))))))

You may want to try eval'ing this manually just to see
if you get an error message or warning from allegro.

Lou Vanek
--
Google's corporate motto is "Don't Be Evil".
Microsoft's is only slightly different: "Be Evil".



More information about the bese-devel mailing list