[slime-devel] updates to swank-openmcl.lisp / notice of openmcl kernel bug effecting slime OS X

Alan Ruttenberg alanr-l at mumble.net
Mon Sep 13 13:50:36 UTC 2004


I've made a bunch of updates to the openmcl implementation. Details in 
the ChangeLog, but to summarize
  - fixes to backtrace
  - improvements to edit-definition for methods particularly
  - updates to reflect current multiprocessing support
  - support for slime-who-calls and friends via openmcl's recently added 
xref facility
  - support profiling in mcl (via metering.lisp)
  - define openmcl-set-debug-switches as place to put all those 
variables that control recording debug information.

Now the kernel issue, which is present when running under OS X, but not 
linux. The problem manifests as the assertion in swank-backend::receive 
occasionally failing, hosing slime, typically during some long task. 
The cause was that a wait on semaphore that was returning when it 
shouldn't have (no signal). The fix should appear in the cvs soon, Gary 
Byers says (Gary found the fix, of course). If you want to patch it 
yourself the change is in lisp-kernel/thread_manager.c in the function 
wait_on_semaphore.

Change

       if ((seconds <= 0) && (nanos <= 0)) {
	return 0 ;

to

       if ((seconds <= 0) && (nanos <= 0)) {
	return KERN_OPERATION_TIMED_OUT ;

Then cd to lisp-kernel/darwin/ and "make"

Let me know if I've broken anything.

BTW, congrats on slime 1.0, and sorry I couldn't get the changes in 
before the release. Blame it on 4 month old Jarrett Sagan Ruttenberg.

-Alan





More information about the slime-devel mailing list