[Openmcl-devel] traceback help

Gail Zacharias gz at clozure.com
Mon Jun 16 11:51:01 PDT 2008


This particular problem (the bogus "too many arguments" error) is now
fixed in subversion (trunk and 1.2).  Your actual question - how to
know which anonymous function is signalling an error  - is not.  One
small issue is that I think there is a SLIME bug that's hiding the top
frame in the backtrace (the one that actually has the anonymous
function that's signalling the error).  The larger issue is that the
trunk/1.2 don't currently support slime's 'v' command for anonymous
functions.  (There is an experimental version in the working-0711
branch that does, but it more than doubles the image size and we want
to address that before moving it to the trunk.)

On Fri, Jun 6, 2008 at 1:35 AM, Marko Tapio Manninen <mmstud at gmail.com> wrote:
> Hi,
>
> every now and then i get the mysterious traceback with emacs and slime
> and i cant always figure out, how to detect the problem. In this case
> anonymous function is called with invalid arguments, but how do i
> know, what is the specific function, where it is and so on? This error
> comes, when using iolib tutorial socket server and while it talk about
> ccl threads, i thought if you could help with it:
>
> Invalid program: Too many arguments in call to #<Anonymous Function
> #x30004108C64F>:
> 1 arguments provided, at most 0 accepted.
>    [Condition of type CCL::SIMPLE-PROGRAM-ERROR]
>
> Backtrace:
>   0: (IO.MULTIPLEX::MIN-TIMEOUT 6397.371749698D0 6402.371506881D0 1)
>       Locals:
>         IO.MULTIPLEX::TIMEOUTS = (6397.371749698D0 6402.371506881D0 1)
>   1: (#<STANDARD-METHOD IO.MULTIPLEX:EVENT-DISPATCH
> (IO.MULTIPLEX:EVENT-BASE)> #<event base, 1 FDs monitored, using:
> #<kqueue(2) multiplexer> #x3000415EC40D> ':ONE-SHOT 'NIL ':TIMEOUT 10
> ':MAX-TIMEOUT 1)
>       Locals:
>         IO.MULTIPLEX::ONE-SHOT = NIL
>         IO.MULTIPLEX::TIMEOUT = 10
>         IO.MULTIPLEX::MAX-TIMEOUT = 1
>         IO.MULTIPLEX::GOT-FD-EVENTS-P = NIL
>         IO.MULTIPLEX::GOT-FD-TIMEOUTS-P = NIL
>         IO.MULTIPLEX::GOT-TIMERS-P = NIL
>   2: (CCL::%CALL-NEXT-METHOD '(NIL
>        #<STANDARD-METHOD IO.MULTIPLEX:EVENT-DISPATCH
> (IO.MULTIPLEX:EVENT-BASE)>
>        . 2638791))
>       Locals:
>         CCL::ARGS = NIL
>         CCL::*INTERRUPT-LEVEL* = 0
>         CCL::*INTERRUPT-LEVEL* = -1
>         CDR = NIL
>         METHOD-FUNCTION = #<METHOD-FUNCTION IO.MULTIPLEX:EVENT-
> DISPATCH (IO.MULTIPLEX:EVENT-BASE)>
>       Catch-tags:
>         NIL
>   3: (CCL::%%STANDARD-COMBINED-METHOD-DCODE '(#<STANDARD-METHOD
> IO.MULTIPLEX:EVENT-DISPATCH :AROUND (IO.MULTIPLEX:EVENT-BASE)>
>        #<STANDARD-METHOD IO.MULTIPLEX:EVENT-DISPATCH
> (IO.MULTIPLEX:EVENT-BASE)>) 2638791)
>       Locals:
>         CCL::CELL-2 = (#<STANDARD-METHOD IO.MULTIPLEX:EVENT-DISPATCH
> (IO.MULTIPLEX:EVENT-BASE)> . 2638791)
>         #:G47718 = #<METHOD-FUNCTION IO.MULTIPLEX:EVENT-
> DISPATCH :AROUND (IO.MULTIPLEX:EVENT-BASE)>
>   4: ((:INTERNAL ECHO-SERVER::%RUN-SERVER ECHO-SERVER:RUN-SERVER))
>       Locals:
>         ECHO-SERVER::TIMEOUT = 10
>         ECHO-SERVER::PORT = 7000
>         ECHO-SERVER::HOST = @0.0.0.0
>         CCL::*INTERRUPT-LEVEL* = 0
>         CCL::*INTERRUPT-LEVEL* = -1
>       Catch-tags:
>         NIL
>   5: (CCL::RUN-PROCESS-INITIAL-FORM #<PROCESS Anonymous(7) [Active]
> #x3000417C327D> '(#<COMPILED-LEXICAL-CLOSURE (:INTERNAL
>                                    CCL::%PROCESS-RUN-FUNCTION)
> #x3000417C310F>))
>       Locals:
>         CCL::INITIAL-FORM = (#<COMPILED-LEXICAL-CLOSURE (:INTERNAL
> CCL::%PROCESS-RUN-FUNCTION) #x30004163AA0F>)
>         CCL::EXITED = NIL
>         #:G59697 = (PROCESS-RESET)
>         CCL::%HANDLERS% = NIL
>         #:ABORT = #<RESTART ABORT #x1632B5D>
>         #:ABORT-BREAK = #<RESTART ABORT-BREAK #x1632B0D>
>         CCL::%RESTARTS% = NIL
>       Catch-tags:
>         (:RESTART ABORT-BREAK)
>         NIL
>   6: ((:INTERNAL CCL::%PROCESS-PRESET-INTERNAL) #<PROCESS
> Anonymous(7) [Active] #x3000417C327D> '(#<COMPILED-LEXICAL-CLOSURE
> (:INTERNAL
>                                    CCL::%PROCESS-RUN-FUNCTION)
> #x3000417C310F>))
>       Locals:
>         CCL::INITIAL-FORM = (#<COMPILED-LEXICAL-CLOSURE (:INTERNAL
> CCL::%PROCESS-RUN-FUNCTION) #x30004163AA0F>)
>         *CURRENT-PROCESS* = #<PROCESS Initial(0) [Active]
> #x300040432DAD>
>         CCL::SYMS = (CCL::*FREE-XPS* CCL::*FREE-CIRCULARITY-HASH-
> TABLES* CCL::*VINSN-VARPARTS* CCL::*VINSN-LABEL-FREELIST* CCL::*VINSN-
> FREELIST* CCL::*LCELL-FREELIST* ...)
>         VALUES = (NIL NIL #<POOL  #x300041640DFD> #<POOL
> #x300041640DCD> #<POOL  #x300041640D9D> #<POOL  #x300041640D6D> ...)
>       Catch-tags:
>         NIL
>   7: ((:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION))
>       Locals:
>         CCL::TCR = 144432
>         CCL::THREAD = #<LISP-THREAD Anonymous [tcr @ #x11A180]
> #x30004163ADBD>
>         CCL::*CURRENT-LISP-THREAD* = #<LISP-THREAD Initial [tcr @
> #x1007A0] #x3000404020ED>
>         CCL::INITIAL-FUNCTION = (#<Compiled-function (:INTERNAL CCL::
> %PROCESS-PRESET-INTERNAL) (Non-Global)  #x30004043065F> #<PROCESS
> Anonymous(7) [Active] #x30004163AA9D> (#<COMPILED-LEXICAL-CLOSURE
> (:INTERNAL CCL::%PROCESS-RUN-FUNCTION) #x30004163AA0F>))
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>



More information about the Openmcl-devel mailing list