[Openmcl-devel] yielding to a thread

Gary Byers gb at clozure.com
Wed Jun 30 17:40:50 UTC 2004

On Wed, 30 Jun 2004, Marco Baringer wrote:

> Gary Byers <gb at clozure.com> writes:
> > One thing that you might try is
> >
> > ? (:y) 	; with no argument
> >
> > If that quickly/quietly returns to a "? ", then that might tell us
> > something.
> it quickly returns to the terminal.
> one thing i tried was to startup a new slime server and attach a
> debugger to the thread labeled as "Initial", here's the backtrace from
> that thread:
> Interrupt from Emacs
>    [Condition of type SIMPLE-ERROR]
> Restarts:
>   0: [CONTINUE] Continue from interrupt.
>   1: [ABORT] #<RESTART ABORT #x21AF76>
> Backtrace:
>   2: (CCL::EVENT-POLL)
>   4: (#<Anonymous Function #x60F8A5E>)
> Any attempts to get locals or other stack frames from this debugger
> fail silently, so i can't get any more info than this. however, the
> only open tcp streams are connections to swank servers, and those
> shouldn't happening in the initial thread. this makes me think that
> either slime is not threading when it should or the thread names are
> getting confused.
> --
> -Marco

Well, it does look like that's the "real" initial thread, which basically

  (sleep *so-that-this-happens-a-few-times-per-second*)
  (dolist (stream list-of-streams-to-automatically-force-output-on)
    (try-to-force-output-on stream)))

and it (not too robustly) got an error trying to do a FORCE-OUTPUT
on a closed TCP stream.  (Checking for a closed stream and removing
it from the list seems like it'd be a better idea.)

If you still have that lisp running, could you drop into the kernel

? (ccl::dbg)

and send me the output from its backtrace command ?

More information about the Openmcl-devel mailing list