[Openmcl-devel] unhandled exception in (i think) printer circularity testing

Gary Byers gb at clozure.com
Sun Aug 7 03:56:04 PDT 2005



On Sun, 7 Aug 2005, Marco Baringer wrote:

>
> i'm running into this problem using ucw's backtrace inspector. using
> slime's backtrace function (which is does some low stack walking) i'm
> attempting to print (to a character stream tied to a socket) the
> locals on the stack. the error is always in numberp, the frames on the
> stack are always more or less the same and the address is always
> #f1f. playing with *print-circle* and *print-pretty* doesn't seem to
> change things.
>
> it could very well be that the locals i've colllected from the
> backtrace were dynamic-extent and so don't exist anymore (this is my
> uneducated guess), if so is there a way to test for this condition?

That's sort of what it looks like; in the "L" output you enclosed,
it looks like NUMBERP was called with a catch frame header as an
argument.  Catch frames get allocated on the same stack as objects
with dynamic-extent are allocated on, so if you're holding on to
a dynamic-extent pointer after it's been deallocated (and after
a catch frame has been allocated at a nearby address), that might
explain what you're seeing.

There are cases (fairly common cases) where a value in a stack
frame can be a stale pointer to something whose dynamic-extent
has exited; a non-volatile register (one of the "SAVEn" registers)
may have pointed at a stack-consed thing and still point at the
(invalid) address of that object after it's been deallocated.  If
that NVR is saved on entry to some child function, the child function's
stack frame wll contain that bogus pointer.  This is benign (code
isn't going to reference that bogus value, and the GC doesn't care
about pointers that point outside of the heap areas it's concerned
with), but you do have to be careful when grabbing arbitrary values
out of stack frames: they may be "bogus objects".

A bogus object (in this sense) should be a pointer (either an
apparent CONS or a pointer to a vector-like object with a header
prepended to it.)  The fact that we've got our hands on a header
(that's bad ... very bad) indicates that something has leapt before
looking.

The printer tries to run a few consistency checks on (in theory)
everything that gets printed: the function CCL::BOGUS-THING-P
does a -fairly- good of identifying things that have been deallocated,
but it can be fooled by stack-allocated pointers that have have
been deallocated and have then had something else allocated where they
used to be.

The check (the call to CCL::BOGUS-THING-P) happens in CCL::WRITE-INTERNAL;
after doing that check, WRITE-INTERNAL sets up some error handling and
calls CCL::WRITE-INTERNAL-1.  Most things get printed via WRITE-INTERNAL;
the function CCL::WRITE-A-CONS (used to print CONS cell) is an exception:
it uses WRITE-INTERNAL to print the CAR of the CONS cell, but prints
the CDR via WRITE-INTERNAL-1.  If we happend (hypothetically ...) to
have a dangling/stale pointer that looked like a CONS but was actually
pointing at a catch frame, it just so happens that the header of that
catch frame (which Lisp code should not access) is where the CDR of
the bogus CONS is pointing.

(Coincidence ? I think not ...)

If you change CCL::WRITE-A-CONS to call WRITE-INTERNAL (instead of
WRITE-INTERNAL-1) to print the CDR (tail) of the CONS cell, do you
still crash ?

It's also possible that CCL::BOGUS-THING-P could have caught this case
earlier (a CONS cell with a header in its CDR is certaianly bogus), but
there are tradeoffs involved (the more rigorous the consistency checking,
the more time it takes to print something.)  Maybe a printer control
variable (*PRINT-CAREFULL*) could control some of this behavior.

>
> soma:~/lisp/ucw mb$ openmcl -l bin/start.lisp
> ; loading system definition from /Users/mb/lisp/systems/rfc2388.asd into
> ; #<Package "ASDF9">
> ; registering #<SYSTEM :RFC2388 #x6468D0E> as RFC2388
> ; loading system definition from /Users/mb/lisp/systems/swank.asd into
> ; #<Package "ASDF10">
> ; registering #<SYSTEM :SWANK #x6461DE6> as SWANK
> ;Loading #P"/Users/mb/.slime/fasl/openmcl-0.14-darwin-powerpc/swank-backend.dfsl"...
> ;Loading #P"/Users/mb/.slime/fasl/openmcl-0.14-darwin-powerpc/nregex.dfsl"...
> ;Loading #P"/Users/mb/.slime/fasl/openmcl-0.14-darwin-powerpc/metering.dfsl"...
> ;Loading #P"/Users/mb/.slime/fasl/openmcl-0.14-darwin-powerpc/swank-openmcl.dfsl"...
> ;Loading #P"/Users/mb/.slime/fasl/openmcl-0.14-darwin-powerpc/swank-gray.dfsl"...
> ;Loading #P"/Users/mb/.slime/fasl/openmcl-0.14-darwin-powerpc/swank.dfsl"...
> ; Warning: These Swank interfaces are unimplemented:
> ;           (ACTIVATE-STEPPING ADD-FD-HANDLER ADD-SIGIO-HANDLER CALLS-WHO MACROEXPAND-ALL REMOVE-FD-HANDLERS REMOVE-SIGIO-HANDLERS SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN TOGGLE-TRACE)
> ; While executing: SWANK-BACKEND::WARN-UNIMPLEMENTED-INTERFACES
> ; Warning: PUBLISH-DIRECTORY not yet implemented
> ; While executing: #<STANDARD-METHOD PUBLISH-DIRECTORY (HTTPD-BACKEND T T)>
> ; Warning: PUBLISH-DIRECTORY not yet implemented
> ; While executing: #<STANDARD-METHOD PUBLISH-DIRECTORY (HTTPD-BACKEND T T)>
> ;; Swank started at port: 4005.
> 2005-08-07T10:49.06 +INFO+ IT.BESE.UCW::UCW-LOGGER: Starting up standard server #<STANDARD-SERVER MULTITHREAD-HTTPD-BACKEND 2 #x669203E>.
> Welcome to OpenMCL Version (Beta: Darwin) 0.14.3!
> ? 2005-08-07T10:50.10 IT.BESE.ARNESI:+ERROR+ IT.BESE.UCW::UCW-LOGGER: Error #<SIMPLE-ERROR #x672A296> while serving action.
> 2005-08-07T10:50.10 IT.BESE.ARNESI:+ERROR+ IT.BESE.UCW::UCW-LOGGER: Aborting action.
> Unhandled exception 11 at 0x0203d030, context->regs at #xf039b3f8
> Read operation to unmapped address 0x00000f1f
> While executing: #<Function NUMBERP #x0602237e>
> ? for help
> [9642] OpenMCL kernel debugger: B
>
>
> (#xF039B8E0) #x0224278C : #<Function CIRCULARITY-PROCESS #x062e29f6> + 96
> (#xF039B8F0) #x02242B24 : #<Function WRITE+ #x062e2b56> + 152
> (#xF039B900) #x021012F4 : #<Function WRITE-A-CONS #x06104e66> + 288
> (#xF039B910) #x021033F4 : #<Method-Function PRINT-OBJECT (T T) #x06106f4e> + 152
> (#xF039B920) #x00004D7C : (subprimitive _ret1valn)
> (#xF039B930) #x021038D0 : #<Function WRITE-A-FROB #x0610706e> + 100
> (#xF039B940) #x02242D54 : #<Function DO-XP-PRINTING #x062e2c1e> + 192
> (#xF039B950) #x02242D78 : #<Function DO-XP-PRINTING #x062e2c1e> + 228
> (#xF039B960) #x02242EFC : #<Function DO-IT #x062e2d6e> + 48
> (#xF039B970) #x02243150 : #<Function MAYBE-INITIATE-XP-PRINTING #x062e2e2e> + 348
> (#xF039B980) #x02103EF0 : #<Function WRITE-INTERNAL #x06107546> + 420
> (#xF039B990) #x02103F1C : #<Function WRITE-INTERNAL #x06107546> + 464
> (#xF039B9A0) #x0210998C : #<Function WRITE-1 #x0610e916> + 304
> (#xF039B9B0) #x02109484 : #<Function WRITE-TO-STRING #x0610e3ae> + 976
> (#xF039B9C0) #x0210943C : #<Function WRITE-TO-STRING #x0610e3ae> + 904
> (#xF039B9D0) #x0660EC94 : #<Function INSPECT-ANCHOR #x0660eef6> + 168
> (#xF039B9E0) #x06616C60 : #<Method-Function RENDER-ON (RESPONSE ERROR-COMPONENT) #x06616da6> + 1492
> (#xF039B9F0) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BA00) #x0678CE6C : #<Function #<3-element vector subtag = 72 @#x0678cdfe> #x0678ce7e> + 40
> (#xF039BA10) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BA20) #x020BA55C : #<Function %CALL-NEXT-METHOD #x0608bb7e> + 464
> (#xF039BA30) #x020BA430 : #<Function %CALL-NEXT-METHOD #x0608bb7e> + 164
> (#xF039BA40) #x06610AE4 : #<Method-Function RENDER-ON :WRAPPING (RESPONSE SIMPLE-WINDOW-COMPONENT) #x06610b16> + 1064
> (#xF039BA50) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BA60) #x020BA55C : #<Function %CALL-NEXT-METHOD #x0608bb7e> + 464
> (#xF039BA70) #x020BA430 : #<Function %CALL-NEXT-METHOD #x0608bb7e> + 164
> (#xF039BA80) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BA90) #x065C823C : #<Method-Function RENDER-ON :WRAPPING (RESPONSE STANDARD-COMPONENT) #x065c8316> + 1248
> (#xF039BAA0) #x065C8288 : #<Method-Function RENDER-ON :WRAPPING (RESPONSE STANDARD-COMPONENT) #x065c8316> + 1324
> (#xF039BAB0) #x065C82F0 : #<Method-Function RENDER-ON :WRAPPING (RESPONSE STANDARD-COMPONENT) #x065c8316> + 1428
> (#xF039BAC0) #x065C8304 : #<Method-Function RENDER-ON :WRAPPING (RESPONSE STANDARD-COMPONENT) #x065c8316> + 1448
> (#xF039BAD0) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BAE0) #x020B9B30 : #<Function %%CALL-METHOD* #x0608b4be> + 388
> (#xF039BAF0) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BB00) #x0678C474 : #<Anonymous Function #x0678c486> + 40
> (#xF039BB10) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BB20) #x065FFE44 : #<Function RENDER #x065ffeb6> + 344
> (#xF039BB30) #x065FFE60 : #<Function RENDER #x065ffeb6> + 372
> (#xF039BB40) #x065FFE84 : #<Function RENDER #x065ffeb6> + 408
> (#xF039BB50) #x06600798 : #<Method-Function SERVICE (STANDARD-SESSION-FRAME REQUEST-CONTEXT) #x0660080e> + 468
> (#xF039BB60) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BB70) #x020BA84C : #<Function %%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE #x0608bdee> + 616
> (#xF039BB80) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BB90) #x020BAFF0 : #<Function %%STANDARD-COMBINED-METHOD-DCODE #x0608c45e> + 148
> (#xF039BBA0) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BBB0) #x00004CE0 : (subprimitive _nvalret)
> (#xF039BBC0) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BBD0) #x020BAFF0 : #<Function %%STANDARD-COMBINED-METHOD-DCODE #x0608c45e> + 148
> (#xF039BBE0) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BBF0) #x00004CE0 : (subprimitive _nvalret)
> (#xF039BC00) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BC10) #x020BA84C : #<Function %%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE #x0608bdee> + 616
> (#xF039BC20) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BC30) #x020BAFF0 : #<Function %%STANDARD-COMBINED-METHOD-DCODE #x0608c45e> + 148
> (#xF039BC40) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BC50) #x00004CE0 : (subprimitive _nvalret)
> (#xF039BC60) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BC70) #x065F124C : #<Method-Function HANDLE-REQUEST (STANDARD-SERVER REQUEST RESPONSE) #x065f130e> + 944
> (#xF039BC80) #x065F1278 : #<Method-Function HANDLE-REQUEST (STANDARD-SERVER REQUEST RESPONSE) #x065f130e> + 988
> (#xF039BC90) #x065F12E4 : #<Method-Function HANDLE-REQUEST (STANDARD-SERVER REQUEST RESPONSE) #x065f130e> + 1096
> (#xF039BCA0) #x065F0FB0 : #<Method-Function HANDLE-REQUEST (STANDARD-SERVER REQUEST RESPONSE) #x065f130e> + 276
> (#xF039BCB0) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BCC0) #x066BE36C : #<Function HTTPD-WORKER-LOOP/HANDLE #x066be3a6> + 528
> (#xF039BCD0) #x066BE254 : #<Function HTTPD-WORKER-LOOP/HANDLE #x066be3a6> + 248
> (#xF039BCE0) #x066BE398 : #<Function HTTPD-WORKER-LOOP/HANDLE #x066be3a6> + 572
> (#xF039BCF0) #x066BD978 : #<Function HTTPD-WORKER-LOOP #x066bda0e> + 364
> (#xF039BD00) #x020FE13C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 400
> (#xF039BD10) #x020FE178 : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 460
> (#xF039BD20) #x020FE28C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 736
> (#xF039BD30) #x00004D7C : (subprimitive _ret1valn)
> (#xF039BD40) #x020FE40C : #<Anonymous Function #x060fed1e> + 152
> (#xF039BD50) #x020FE3F4 : #<Anonymous Function #x060fed1e> + 128
> (#xF039BD60) #x020F3968 : #<Anonymous Function #x060f2aee> + 172
> (#xF039BD70) #x0000883C : (subprimitive toplevel_loop)
> (#xF039BD80) #x00008848 : (subprimitive toplevel_loop)
> (#xf039bd90) #x00008914 : _start_lisp + 180
> (#xf039be50) #x00012E20 : _lisp_thread_entry + 152
> (#xf039beb0) #x90024910 : __pthread_body + 40
> (#xf039bf00) #x00000000 : (null) + 0
>
>
> cstack area #x001065c0
>
>
> (#xF0601CC0) #x020E70A4 : #<Function %WAIT-ON-SEMAPHORE-PTR #x060e2aa6> + 120
> (#xF0601CD0) #x0210573C : #<Function PROCESS-WAIT #x0610abd6> + 56
> (#xF0601CE0) #x06523644 : #<Method-Function RECEIVE () #x06523766> + 136
> (#xF0601CF0) #x066BEC3C : #<Function HTTPD-CONTROLLER-LOOP #x066bf2be> + 240
> (#xF0601D00) #x020FE13C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 400
> (#xF0601D10) #x020FE178 : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 460
> (#xF0601D20) #x020FE28C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 736
> (#xF0601D30) #x00004D7C : (subprimitive _ret1valn)
> (#xF0601D40) #x020FE40C : #<Anonymous Function #x060fed1e> + 152
> (#xF0601D50) #x020FE3F4 : #<Anonymous Function #x060fed1e> + 128
> (#xF0601D60) #x020F3968 : #<Anonymous Function #x060f2aee> + 172
> (#xF0601D70) #x0000883C : (subprimitive toplevel_loop)
> (#xF0601D80) #x00008848 : (subprimitive toplevel_loop)
> (#xf0601d90) #x00008914 : _start_lisp + 180
> (#xf0601e50) #x00012E20 : _lisp_thread_entry + 152
> (#xf0601eb0) #x90024910 : __pthread_body + 40
> (#xf0601f00) #x00000000 : (null) + 0
>
>
> cstack area #x001062b0
>
>
> (#xF04CEC30) #x020E3424 : #<Function FD-INPUT-AVAILABLE-P #x060df696> + 344
> (#xF04CEC40) #x020E38DC : #<Function PROCESS-INPUT-WAIT #x060dfbc6> + 240
> (#xF04CEC50) #x02147F88 : #<Function SOCKET-ACCEPT #x0617459e> + 108
> (#xF04CEC60) #x02147D70 : #<Function ACCEPT-SOCKET-CONNECTION #x061743a6> + 164
> (#xF04CEC70) #x02147D10 : #<Function ACCEPT-SOCKET-CONNECTION #x061743a6> + 68
> (#xF04CEC80) #x00004D7C : (subprimitive _ret1valn)
> (#xF04CEC90) #x020BE0B8 : #<Function %%CHECK-KEYWORDS #x0608ecde> + 172
> (#xF04CECA0) #x00004D7C : (subprimitive _ret1valn)
> (#xF04CECB0) #x00004CE0 : (subprimitive _nvalret)
> (#xF04CECC0) #x00004D7C : (subprimitive _ret1valn)
> (#xF04CECD0) #x020BE0B8 : #<Function %%CHECK-KEYWORDS #x0608ecde> + 172
> (#xF04CECE0) #x00006FC0 : (subprimitive _popj)
> (#xF04CECF0) #x066BD49C : #<Function HTTPD-ACCEPT-LOOP #x066bd576> + 384
> (#xF04CED00) #x020FE13C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 400
> (#xF04CED10) #x020FE178 : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 460
> (#xF04CED20) #x020FE28C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 736
> (#xF04CED30) #x00004D7C : (subprimitive _ret1valn)
> (#xF04CED40) #x020FE40C : #<Anonymous Function #x060fed1e> + 152
> (#xF04CED50) #x020FE3F4 : #<Anonymous Function #x060fed1e> + 128
> (#xF04CED60) #x020F3968 : #<Anonymous Function #x060f2aee> + 172
> (#xF04CED70) #x0000883C : (subprimitive toplevel_loop)
> (#xF04CED80) #x00008848 : (subprimitive toplevel_loop)
> (#xf04ced90) #x00008914 : _start_lisp + 180
> (#xf04cee50) #x00012E20 : _lisp_thread_entry + 152
> (#xf04ceeb0) #x90024910 : __pthread_body + 40
> (#xf04cef00) #x00000000 : (null) + 0
>
>
> cstack area #x00105c90
>
>
> (#xF0268C10) #x020E3424 : #<Function FD-INPUT-AVAILABLE-P #x060df696> + 344
> (#xF0268C20) #x020E38DC : #<Function PROCESS-INPUT-WAIT #x060dfbc6> + 240
> (#xF0268C30) #x02147F88 : #<Function SOCKET-ACCEPT #x0617459e> + 108
> (#xF0268C40) #x02147D70 : #<Function ACCEPT-SOCKET-CONNECTION #x061743a6> + 164
> (#xF0268C50) #x02147D10 : #<Function ACCEPT-SOCKET-CONNECTION #x061743a6> + 68
> (#xF0268C60) #x00004D7C : (subprimitive _ret1valn)
> (#xF0268C70) #x020BE0B8 : #<Function %%CHECK-KEYWORDS #x0608ecde> + 172
> (#xF0268C80) #x00004D7C : (subprimitive _ret1valn)
> (#xF0268C90) #x00004CE0 : (subprimitive _nvalret)
> (#xF0268CA0) #x00004D7C : (subprimitive _ret1valn)
> (#xF0268CB0) #x020BE0B8 : #<Function %%CHECK-KEYWORDS #x0608ecde> + 172
> (#xF0268CC0) #x00006FC0 : (subprimitive _popj)
> (#xF0268CD0) #x065313EC : #<Function ACCEPT-AUTHENTICATED-CONNECTION #x06531476> + 40
> (#xF0268CE0) #x065315FC : #<Function SERVE-CONNECTION #x065316a6> + 56
> (#xF0268CF0) #x06531AA0 : #<Anonymous Function #x06531abe> + 68
> (#xF0268D00) #x020FE13C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 400
> (#xF0268D10) #x020FE178 : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 460
> (#xF0268D20) #x020FE28C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 736
> (#xF0268D30) #x00004D7C : (subprimitive _ret1valn)
> (#xF0268D40) #x020FE40C : #<Anonymous Function #x060fed1e> + 152
> (#xF0268D50) #x020FE3F4 : #<Anonymous Function #x060fed1e> + 128
> (#xF0268D60) #x020F3968 : #<Anonymous Function #x060f2aee> + 172
> (#xF0268D70) #x0000883C : (subprimitive toplevel_loop)
> (#xF0268D80) #x00008848 : (subprimitive toplevel_loop)
> (#xf0268d90) #x00008914 : _start_lisp + 180
> (#xf0268e50) #x00012E20 : _lisp_thread_entry + 152
> (#xf0268eb0) #x90024910 : __pthread_body + 40
> (#xf0268f00) #x00000000 : (null) + 0
>
>
> cstack area #x00102000
>
>
> (#xF0135B10) #x020E3424 : #<Function FD-INPUT-AVAILABLE-P #x060df696> + 344
> (#xF0135B20) #x020E38DC : #<Function PROCESS-INPUT-WAIT #x060dfbc6> + 240
> (#xF0135B30) #x020E2C48 : #<Function FD-STREAM-ADVANCE #x060dcaf6> + 460
> (#xF0135B40) #x020DD424 : #<Function %IOBLOCK-TYI #x060cc8d6> + 384
> (#xF0135B50) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135B60) #x020E1B68 : #<Method-Function STREAM-READ-CHAR (BUFFERED-CHARACTER-INPUT-STREAM-MIXIN) #x060d82ce> + 204
> (#xF0135B70) #x020E1AFC : #<Method-Function STREAM-READ-CHAR (BUFFERED-CHARACTER-INPUT-STREAM-MIXIN) #x060d82ce> + 96
> (#xF0135B80) #x02107274 : #<Function %NEXT-CHAR-AND-ATTR #x0610c18e> + 88
> (#xF0135B90) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135BA0) #x021071B8 : #<Function %NEXT-NON-WHITESPACE-CHAR-AND-ATTR #x0610c0ee> + 52
> (#xF0135BB0) #x02111F1C : #<Function %READ-FORM #x0611ade6> + 200
> (#xF0135BC0) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135BD0) #x021125F0 : #<Function READ #x0611b2f6> + 212
> (#xF0135BE0) #x020E7474 : #<Method-Function READ-TOPLEVEL-FORM (INPUT-STREAM T) #x060e2fbe> + 64
> (#xF0135BF0) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135C00) #x020BA84C : #<Function %%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE #x0608bdee> + 616
> (#xF0135C10) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135C20) #x020BAFF0 : #<Function %%STANDARD-COMBINED-METHOD-DCODE #x0608c45e> + 148
> (#xF0135C30) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135C40) #x00004CE0 : (subprimitive _nvalret)
> (#xF0135C50) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135C60) #x0210E2F0 : #<Function READ-LOOP #x0611642e> + 684
> (#xF0135C70) #x0210E3C8 : #<Function READ-LOOP #x0611642e> + 900
> (#xF0135C80) #x0210E3F4 : #<Function READ-LOOP #x0611642e> + 944
> (#xF0135C90) #x0210E420 : #<Function READ-LOOP #x0611642e> + 988
> (#xF0135CA0) #x0210F150 : #<Function TOPLEVEL-LOOP #x061177c6> + 44
> (#xF0135CB0) #x0210F158 : #<Function TOPLEVEL-LOOP #x061177c6> + 52
> (#xF0135CC0) #x020FFCF8 : #<Anonymous Function #x061031d6> + 68
> (#xF0135CD0) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135CE0) #x0212662C : #<Anonymous Function #x06142c2e> + 592
> (#xF0135CF0) #x0212642C : #<Anonymous Function #x06142c2e> + 80
> (#xF0135D00) #x020FE13C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 400
> (#xF0135D10) #x020FE178 : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 460
> (#xF0135D20) #x020FE28C : #<Function RUN-PROCESS-INITIAL-FORM #x060febe6> + 736
> (#xF0135D30) #x00004D7C : (subprimitive _ret1valn)
> (#xF0135D40) #x020FE40C : #<Anonymous Function #x060fed1e> + 152
> (#xF0135D50) #x020FE3F4 : #<Anonymous Function #x060fed1e> + 128
> (#xF0135D60) #x020F3968 : #<Anonymous Function #x060f2aee> + 172
> (#xF0135D70) #x0000883C : (subprimitive toplevel_loop)
> (#xF0135D80) #x00008848 : (subprimitive toplevel_loop)
> (#xf0135d90) #x00008914 : _start_lisp + 180
> (#xf0135e50) #x00012E20 : _lisp_thread_entry + 152
> (#xf0135eb0) #x90024910 : __pthread_body + 40
> (#xf0135f00) #x00000000 : (null) + 0
>
>
> cstack area #x001005b0
>
>
> (#xBFFFF9B0) #x020F4760 : #<Function %NANOSLEEP #x060f3afe> + 268
> (#xBFFFF9C0) #x020FFB60 : #<Anonymous Function #x061030fe> + 300
> (#xBFFFF9D0) #x020FFB84 : #<Anonymous Function #x061030fe> + 336
> (#xBFFFF9E0) #x020FFB8C : #<Anonymous Function #x061030fe> + 344
> (#xBFFFF9F0) #x020FFBC0 : #<Anonymous Function #x061030fe> + 396
> (#xBFFFFA00) #x0000883C : (subprimitive toplevel_loop)
> (#xBFFFFA10) #x00008848 : (subprimitive toplevel_loop)
> (#xbffffa20) #x00008914 : _start_lisp + 180
> [9642] OpenMCL kernel debugger: L
> 15 (fn) = #<Function NUMBERP #x0602237e>
> r23 (arg_z) = #<header ? #x00000f22>
> r22 (arg_y) = *PRINT-PRETTY*
> r21 (arg_x) = #<XP-STRUCTURE @#x06728e86>
> r20 (temp0) = #<33-element vector subtag = 2F @#x0203d00e>
> r19 (temp1/next_method_context) = #<135-element vector subtag = C7 @#x06107f2e>
> r18 (temp2/nfn) = #<Function NUMBERP #x0602237e>
> r17 (temp3/fname) = NUMBERP
> r16 (temp4) = #<XP-STRUCTURE @#x06728e86>
> r31 (save0) = 2
> r30 (save1) = #<XP-STRUCTURE @#x06728e86>
> r29 (save2) = #<XP-STRUCTURE @#x06728e86>
> r28 (save3) = #<2-element vector subtag = 9A @#x0610827e>
> r27 (save4) = WRITE-CHAR++
> r26 (save5) = #<2-element vector subtag = 9A @#x062dbb9e>
> r25 (save6) = PUTHASH
> r24 (save7) = 4
> [9664] OpenMCL kernel debugger: R
> r00 = 0x00000000  r08 = 0x00000010  r16 = 0x067616C6  r24 = 0x00000010
> r01 = 0xF039B8E0  r09 = 0x067CBEB0  r17 = 0x06017C8E  r25 = 0x0600ED06
> r02 = 0x00105DF0  r10 = 0x067C0000  r18 = 0x0602237E  r26 = 0x062DBB9E
> r03 = 0xF029C000  r11 = 0x00000004  r19 = 0x06107F2E  r27 = 0x062E4656
> r04 = 0x0000000A  r12 = 0x007FE698  r20 = 0x0203D00E  r28 = 0x0610827E
> r05 = 0x0080EE00  r13 = 0x0076D950  r21 = 0x067616C6  r29 = 0x067616C6
> r06 = 0x000004EC  r14 = 0x0224278C  r22 = 0x060184BE  r30 = 0x067616C6
> r07 = 0xFFFFFFFC  r15 = 0x0602237E  r23 = 0x00000F22  r31 = 0x00000008
>
> PC = 0x0203D030   LR = 0x0203D018  CTR = 0x0203D00E  CCR = 0x28428484
> XER = 0x00000000  MSR = 0x0000F930  DAR = 0x00000F1F  DSISR = 0x40000000
>
> -- 
> -Marco
> Ring the bells that still can ring.
> Forget the perfect offering.
> There is a crack in everything.
> That's how the light gets in.
> 	-Leonard Cohen
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list