[Openmcl-devel] Clozure CL 1.3-RC1 available

Gary Byers gb at clozure.com
Fri Feb 13 15:40:12 PST 2009


Hmm; that makes no sense.  (In the backtrace,

> (659C94) : 7 (FUNCALL #'#<CCL::%XERR-DISP> -335125122) 431
> (659CB0) : 8 (%PASCAL-FUNCTIONS% 2 -335125122) 343
> *(659CF8) : 10 (%%TCR-INTERRUPT ???) NIL

%%TCR-INTERRUPT should execute a particular flavor of illegal instruction;
the handler for the resulting exception should send a signal to another
thread and return.  It looks like the exception is being misinterpreted
and half-heartedly treated as some sort of error, but the code that'd
try to interpret the error (not surprisingly) can't make any sense of
things.

If you just start the lisp and type ^C in the listener, does it behave
itself, or do you get the same sort of "error reporting error" behavior
or other nonsense ?

Is the machine a "Core Duo" (as opposed to a "Core 2 Duo" ?)  E.g., a 32-bit
machine ?  At some very low level, I can imagine that hardware differences
could cause Mach to report the exception differently if it's raised on
a 32-bit machine than on a 64-bit machine.  I certainly don't know that to
be true, but I don't have a better theory, either: things seem to run
fine for me on 10.4.11, but I'm running the 32-bit lisp on a 64-bit 
machine.  So far, that's the only difference that I can think of.




On Fri, 13 Feb 2009, John Stoneham wrote:

>
> ----- Original Message ----
>
>> From: Gary Byers <gb at clozure.com>
>> To: John Stoneham <captnjameskirk at yahoo.com>
>> Cc: openmcl-devel at clozure.com
>> Sent: Friday, February 13, 2009 2:20:42 PM
>> Subject: Re: [Openmcl-devel] Clozure CL 1.3-RC1 available
>>
>> I wasn't able to reproduce the QUIT problem on 10.4.11, but problems
>> there (threads interrupting each other to try to shut things down)
>> tend to be timing-sensitive.
>>
>> I did see the linker complaining about how sigreturn was referenced,
>> and in trying to make the Tiger linker happy noticed that an
>> argument to sigreturn() wasn't being passed correctly.  That
>> hasn't mattered on Leopard, but it's certainly possible that
>> this had something to do with the QUIT problem you reported.
>> (Since there was no backtrace in your report and since I
>> couldn't reproduce the problem, I don't really know what
>> the problem is or was.)
>>
>> With that change in place, I was able to build the lisp
>> and the IDE and didn't notice any obvious problem.  I checked
>> that change into svn a little while ago.
>>
>> If you get a chance, please do an "svn update", rebuild the
>> kernel, and see if the QUIT problem persists.  If not, great:
>> we can probably conclude that the linker issue/wrong arg
>> to sigreturn/QUIT problem were related.  If the problem
>> persists, please let me see a backtrace, or let me know if
>> the stack is too fouled up to print a backtrace, or something ...
>>
>
>
> I did an "svn update" and then tried to rebuild the kernel. First
> I went into the lisp-kernel/darwinx8632 directory and tried "make"
> there. That worked (whereas before it didn't). So the linker problem
> seems to be fixed. Then I started ccl and tried "(ccl:rebuild-ccl :full
> t)", which failed. However, this time it did compile and load a whole
> bunch of files before breaking at the point of reloading the boot
> image. Here is the output right at that point, and the backtrace:
>
> ;Wrote bootstrapping image: #P"/Users/obijohn/projects/lisp/ccl/x86-boot32.image"
>> Error: Errors (:SIGNALED 9) reloading boot image:
>>        Unhandled exception 11 at 0xffff4d9b, context->regs at #xbffff61c
>>        ? for help
>>        [806] Clozure CL kernel debugger: [806] Clozure CL kernel debugger:
>>         symbol name :Unhandled exception 10 at 0x900027fa, context->regs at #xbfffef7c
>>        Exception occurred while executing foreign code
>>         at strchr + 10
>>        ? for help
>>        [806] Clozure CL kernel debugger:
>> While executing: REBUILD-CCL, in process listener(1).
>> Type :POP to abort, :R for a list of available restarts.
>> Type :? for other options.
> 1 > (:B)
> (659CC4) : 0 (FUNCALL #'#<REBUILD-CCL> :UPDATE NIL :FULL T
> :CLEAN T :KERNEL T :FORCE NIL :RELOAD T :EXIT NIL :RELOAD-ARGUMENTS NIL
> :VERBOSE NIL :OPTIONAL-FEATURES NIL) 2783
> (659D90) : 1 (CALL-CHECK-REGS REBUILD-CCL :FULL T) 247
> (659DAC) : 2 (TOPLEVEL-EVAL (REBUILD-CCL :FULL T) NIL) 751
> (659DEC) : 3 (READ-LOOP :INPUT-STREAM #<SYNONYM-STREAM to
> *TERMINAL-IO* #x8608A0E> :OUTPUT-STREAM #<SYNONYM-STREAM to
> *TERMINAL-IO* #x8608936> :BREAK-LEVEL 0 :PROMPT-FUNCTION
> #<Compiled-function (:INTERNAL CCL::READ-LOOP) (Non-Global)
> #x83669BE>) 1831
> (659F00) : 4 (TOPLEVEL-LOOP) 71
> (659F08) : 5 (FUNCALL #'#<(:INTERNAL (TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT-SYSTEM T)))>) 87
> (659F14) : 6 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 583
> (659F60) : 7 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1)
> [Active] #x8607E7E> (#<COMPILED-LEXICAL-CLOSURE # #x8607CAE>))
> 671
> (659FA4) : 8 (FUNCALL #'#<(:INTERNAL
> CCL::%PROCESS-PRESET-INTERNAL)> #<TTY-LISTENER listener(1)
> [Active] #x8607E7E> (#<COMPILED-LEXICAL-CLOSURE # #x8607CAE>))
> 335
> (659FCC) : 9 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 279
> 1 >
>
>
> Also, here's the backtrace for QUIT:
>
> ? (quit)
>> Error: Error reporting error
>> While executing: CCL::FUNCALL-WITH-ERROR-REENTRY-DETECTION, in process listener(1).
>> Type :POP to abort, :R for a list of available restarts.
>> Type :? for other options.
> 1 > (:B)
> (659BA8) : 0 (FUNCALL-WITH-ERROR-REENTRY-DETECTION #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::%XERR-DISP) #x2E5A26>) 239
> (659BC4) : 1 (FUNCALL #'#<CCL::%XERR-DISP> -335125710) 431
> (659BE0) : 2 (%PASCAL-FUNCTIONS% 2 -335125710) 343
> *(659C28) : 4 (%GET-XCF-BYTE NIL NIL) 366
> (659C5C) : 5 (FUNCALL #'#<(:INTERNAL CCL::%XERR-DISP)>) 103
> (659C74) : 6 (FUNCALL-WITH-ERROR-REENTRY-DETECTION #<COMPILED-LEXICAL-CLOSURE (:INTERNAL CCL::%XERR-DISP) #x2E5A5E>) 183
> (659C94) : 7 (FUNCALL #'#<CCL::%XERR-DISP> -335125122) 431
> (659CB0) : 8 (%PASCAL-FUNCTIONS% 2 -335125122) 343
> *(659CF8) : 10 (%%TCR-INTERRUPT ???) NIL
> (659D78) : 11 (QUIT 0) 447
> (659D90) : 12 (CALL-CHECK-REGS QUIT) 247
> (659DAC) : 13 (TOPLEVEL-EVAL (QUIT) NIL) 751
> (659DEC) : 14 (READ-LOOP :INPUT-STREAM #<SYNONYM-STREAM to
> *TERMINAL-IO* #x89CBFBE> :OUTPUT-STREAM #<SYNONYM-STREAM to
> *TERMINAL-IO* #x89CBDBE> :BREAK-LEVEL 0 :PROMPT-FUNCTION
> #<Compiled-function (:INTERNAL CCL::READ-LOOP) (Non-Global)
> #x83845E6>) 1831
> (659F00) : 15 (TOPLEVEL-LOOP) 71
> (659F08) : 16 (FUNCALL #'#<(:INTERNAL (TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT-SYSTEM T)))>) 87
> (659F14) : 17 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 583
> (659F60) : 18 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1)
> [Active] #x89CA07E> (#<COMPILED-LEXICAL-CLOSURE # #x89C9CAE>))
> 671
> (659FA4) : 19 (FUNCALL #'#<(:INTERNAL
> CCL::%PROCESS-PRESET-INTERNAL)> #<TTY-LISTENER listener(1)
> [Active] #x89CA07E> (#<COMPILED-LEXICAL-CLOSURE # #x89C9CAE>))
> 335
> (659FCC) : 20 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 279
> 1 >
>
> The last one in both is THREAD-MAKE-STARTUP-FUNCTION, so you're
> probably right that it has something to do with threads. However, it's
> not limited to Tiger. I dual-boot this machine with Leopard and Tiger
> (though I usually boot into Tiger because of some legacy programs I
> have to use), and I get the same result under both. So, I think it may
> have to do with the 32-bit darwin platform, maybe?
>
> Anyway, thanks for your quick response. And anything I can to do help track down the problem, let me know.
>
>
>
>
>



More information about the Openmcl-devel mailing list