[Openmcl-devel] What is the state of the phemlock included with OpenMCL?

mikel evins mikel at evins.net
Tue Aug 10 10:02:02 PDT 2004

On Aug 10, 2004, at 9:29 AM, David Steuber wrote:

> On Aug 9, 2004, at 10:42 AM, mikel evins wrote:
>> I'm using HIView in Clotho. It's higher-level than previous Carbon 
>> approaches, but overall the process of building an application on 
>> Carbon still involves considerably more low-level coding and more 
>> time in the OpenMCL kernel debugger than doing it with Cocoa.
> I haven't learned how to grok the debugger messages yet.  The debugger 
> scares me.  Mainly I just abort and try to see what I did wrong.  Just 
> yesterday I was getting kicked into the debugger trying some simple 
> CLOS stuff not related to non-ANSI coding.  Who knew character was 
> already a defined symbol?  Heh.

Don't be frightened. Just enter '?' to see what commands are available, 
and then try them out. The results will be incomprehensible at first, 
but after you've debugged a few problems and looked at a few traces, 
meaning will start to emerge. It's often useful to look at the 
backtrace and see where the last identifiable Lisp code was before you 
ventured off into the weeds. Of course, Gary is smart about the 
contents of the registers and about low-level routines you will no 
recognize in the backtrace, so in the worst cases you can ask what the 
heck is going in. Most of the time, though, it's sufficient to poke 
around a little before doing the same kind of debugging you would have 
done anyway. Over time, looking at the kernel debugger will begin to 
provide more useful information.

> How well are things handled by OpenMCL when an FFI call is not done 
> quite right?

Usually that's an invitation to the kernel debugger. It's C code, so 
doing something wrong could have any results whatsoever.

>   Or if that is the wrong question, what are you doing to get kicked 
> into the kernel debugger?  Is that different from a regular backtrace 
> because compile-file didn't like something?

Very different. The typical case is that I failed to correctly reason 
out the right number of pointer-dereferences on some foreign data 
structure, and tried to read something nonexistent or write someplace 


More information about the Openmcl-devel mailing list