[Openmcl-devel] yielding to a thread

Gary Byers gb at clozure.com
Wed Jun 30 10:40:50 PDT 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>
>   2: [ABORT-BREAK] #<RESTART ABORT-BREAK #x21AF9E>
>
> Backtrace:
>   0: (CCL::STREAM-IOBLOCK #<TCP-STREAM :CLOSED #x65D7EE6> 'T)
>   1: (#<CCL::STANDARD-KERNEL-METHOD STREAM-FORCE-OUTPUT (CCL::BUFFERED-OUTPUT-STREAM-MIXIN)> #<TCP-STREAM :CLOSED #x65D7EE6>)
>   2: (CCL::EVENT-POLL)
>   3: (CCL::HOUSEKEEPING)
>   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
does:

(loop
  (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
debugger:

? (ccl::dbg)

and send me the output from its backtrace command ?




More information about the Openmcl-devel mailing list