[Openmcl-devel] Error in kernel

Gary Byers gb at clozure.com
Thu Mar 8 10:42:50 UTC 2007


FWIW, that works fine on x86-64 Linux and FreeBSD; unfortunately, the
trap instruction used to encode the SLOT-UNBOUND condition seems to
confuse Mach. (Imagine that.)

If anyone's interested, the trap winds up as an (int #x81) instruction,
which may be similar to a mechanism used to do system calls on ia32;
by the time Mach realizes that it's not running ia32 code, it's already
made it pretty hard to recognize that an int #x81 had occurred; the
lisp kernel has no idea what exception occurred or why.

It's probably possible to encode the SLOT-UNBOUND in some way that
doesn't confuse Mach, and I probably should have seen this coming.

This seems to be fixed in CVS now; thanks.


On Wed, 7 Mar 2007, Sunil Mishra wrote:

> I found an actual error in my program. I was trying to access an unbound
> inherited slot in a condition. But getting a kernel error for such a
> problem is unexpected.
>
> Sunil
>
> Sunil Mishra wrote:
>> Hi,
>>
>> I am writing a web based application, threaded naturally, on top of
>> hunchentoot (http://weitz.de/hunchentoot/). I'm writing on an intel mac
>> with the 021407 snapshot updated to the latest CVS. Below is all the
>> information I could gather. Let me know if you need any additional
>> information, I'll be glad to get it to you.
>>
>> Sunil
>>
>>
>>
>> ? Unhandled exception 4 at 0x3000401ccccb, context->regs at #xb0f679c0
>> ? for help
>> [3741] OpenMCL kernel debugger: b
>> current thread: tcr = 0x6048e0, native thread ID = 0x7f03, interrupts
>> enabled
>>
>>
>> (#x00000000044299D8) #x0000300042B47A14 : #<Anonymous Function
>> #x0000300042B4796F> + 165
>> (#x0000000004429A08) #x00003000404B947C : #<Function SIGNAL
>> #x00003000404B8FEF> + 1165
>> (#x0000000004429A60) #x00003000405700D4 : #<Function %ERROR
>> #x000030004057005F> + 117
>> (#x0000000004429A88) #x0000300042B3D6BC : #<Function CLASS-NOT-FOUND
>> #x0000300042B3D65F> + 93
>> (#x0000000004429AB0) #x0000300042B3D7B4 : #<Function PRESENT-CLASS
>> #x0000300042B3D72F> + 133
>> (#x0000000004429AE8) #x0000300042B47554 : #<Function body1830
>> #x0000300042B4717F> + 981
>> (#x0000000004429B30) #x0000300042B47E5C : #<Function PRESENT-OBJECT
>> #x0000300042B47AAF> + 941
>> (#x0000000004429BC0) #x0000300041F7C2CC : #<Function PROCESS-REQUEST
>> #x0000300041F7B68F> + 3133
>> (#x0000000004429D28) #x0000300041F7F47C : #<Function PROCESS-CONNECTION
>> #x0000300041F7DCFF> + 6013
>> (#x0000000004429EC8) #x000030004043D37C : #<Function
>> RUN-PROCESS-INITIAL-FORM #x000030004043D0BF> + 701
>> (#x0000000004429F48) #x000030004043DCFC : #<Anonymous Function
>> #x000030004043DB6F> + 397
>> (#x0000000004429F98) #x00003000403F5D4C : #<Anonymous Function
>> #x00003000403F5BDF> + 365
>> [3741] OpenMCL kernel debugger: l
>> %rsi (arg_z) = 9
>> %rdi (arg_y) = #<5-element vector subtag = 75 @#x0000300042C2871D
>> (SLOT-VECTOR)>
>> %r8  (arg_x) = #<3-element vector subtag = 86 @#x0000300042B3F13D
>> (INSTANCE)>
>> ------
>> %r13 (fn) = #<Function %MAYBE-STD-SLOT-VALUE-USING-CLASS #x00003000401CC98F>
>> %r10 (ra0) = tagged return address: #<Anonymous Function
>> #x0000300042B4796F> + 165
>> ------
>> %r15 (save0) = #<3-element vector subtag = 86 @#x0000300042B3EDFD
>> (INSTANCE)>
>> %r14 (save1) = 2
>> %r12 (save2) = #<3-element vector subtag = 86 @#x0000300042C286FD
>> (INSTANCE)>
>> %r11 (save3) = ERROR
>> ------
>> %rbx (temp0) = #(() #<3-element vector subtag = 86 @#x0000300042B3EE9D
>> (INSTANCE)> #<3-element vector subtag = 86 @#x0000300042B3EDFD
>> (INSTANCE)> #<3-element vector subtag = 86 @#x0000300042B3ED5D
>> (INSTANCE)> #<3-element vector subtag = 86 @#x0000300042B3ECBD (INSTAN...
>> %r9  (temp1) = #<Anonymous Function #x0000300042B3E5EF>
>> %rcx (temp2) = #<imm #x0000000000000022>
>> ------
>> [3741] OpenMCL kernel debugger: r
>> rax = 0x0000000000000028      r8  = 0x0000300042B3F13D
>> rcx = 0x0000000000000022      r9  = 0x0000300042B3E5EF
>> rdx = 0x0000000000000002      r10 = 0x0000300042B47A14
>> rbx = 0x0000300042B3E70D      r11 = 0x00000000000031AE
>> rsp = 0x00000000044299A8      r12 = 0x0000300042C286FD
>> rbp = 0x00000000044299D8      r13 = 0x00003000401CC98F
>> rsi = 0x0000000000000048      r14 = 0x0000000000000010
>> rdi = 0x0000300042C2871D      r15 = 0x0000300042B3EDFD
>> rip = 0x00003000401CCCCB   rflags = 0x0000000000000246
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list