[Openmcl-devel] Can't get rid of a "crashed" process
andreas at atp-media.de
Thu Jul 18 06:36:06 PDT 2013
Thank you for your comment. I guess it is a bug, but maybe I am the faulty
My application runs as console application and runs several processes. A
processes causes an error and requests control to the terminal. I switch to
the process (:y 7), look at the backtrace (:b) and assumed "return to
toplevel " (:q) is nice to leave the debugger. If I do so, the process goes
into reset state and cannot be killed anymore.
Well, there is a kill restart available. If I use the kill restart, there is
no problem - the process is gone afterwards. So I have a "workaround" and
I'm not sure if this is a bug. Moreover, I will catch the error in future,
so this appears to be an academic question.
Here's my session protocol:
Welcome to Clozure Common Lisp Version 1.9-r15756 (LinuxX8632)!
> Error: Test error. (after a while)
> While executing: FWGZ2::FWGZ-ANALYZER, in process FWGZ Analyzer
;;; #<PROCESS FWGZ Analyzer Service(7) [Active] #x187683C6> requires access
to Shared Terminal Input ;;; Type (:y 7) to yield control to this thread.
;;; Shared Terminal Input is now owned by #<PROCESS FWGZ Analyzer Service(7)
[Active] #x187683C6> ;;;
> Type :POP to abort, :R for a list of available restarts.
> Type :? for other options.
1 > :b
(B5D68F20) : 0 (FWGZ-ANALYZER 30 T) 95
(B5D68F34) : 1 (RUN-PROCESS-INITIAL-FORM #<PROCESS FWGZ Analyzer Service(7)
[Active] #x187683C6> (#<COMPILED-LEXICAL-CLOSURE # #x1876B446>)) 639
(B5D68F78) : 2 (FUNCALL #'#<(:INTERNAL (CCL::%PROCESS-PRESET-INTERNAL
(PROCESS)))> #<PROCESS FWGZ Analyzer Service(7) [Active] #x187683C6>
(#<COMPILED-LEXICAL-CLOSURE # #x1876B446>)) 519
(B5D68FCC) : 3 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>)
1 > :q
;;;control of Shared Terminal Input restored to #<TTY-LISTENER listener(1)
[Active] #x1833D626> ;;; ? :proc
117 : Connection Thread for #<BASIC-TCP-STREAM ISO-8859-1 (SOCKET/38)
7 : FWGZ Analyzer Service [Reset]
6 : Replication Loop [Sleep]
5 : RPC Listener [Active]
4 : watch-dog [Sleep]
3 : FWGZ Read Loop [Active]
2 : Listener Loop [Active]
1 : -> listener [Active]
0 : Initial [Sleep]
> -----Ursprüngliche Nachricht-----
> Von: Gary Byers [mailto:gb at clozure.com]
> Gesendet: Donnerstag, 18. Juli 2013 13:11
> An: Andreas Thiele
> Cc: openmcl-devel at clozure.com
> Betreff: Re: [Openmcl-devel] Can't get rid of a "crashed" process
> That sounds like a bug.
> I'm not sure how the process entered the reset state (choosing the
> "reset this thread" restart from the standard REPL's break loop would
> be one way ...), but (a) PROCESS-KILL should ideally do the right
> thing if the target thread is in the reset state and it doesn't seem
> (b) the right thing may involve presetting and enabling the process so
> that it can run (and it needs to run in order to exit cleanly) and
> PROCESS-ENABLE seems to want to wait for something that (at first
> glance) seems to have already happened; I'd need to take more than a
> first glance at it to have a better idea than I do of what's happening
> If you're exiting the break loop via a restart that offers to reset
> the current thread ... that probably isn't what you want to do (though
> it shouldn't leave you with this zombie thread that refuses to fully
> die ...) (I don't know how you're exiting the break loop or what
> development environment you're using or what restarts are available
> If you report this via Trac, it's less likely to be forgotten about
> than if you don't.
> On Thu, 18 Jul 2013, Andreas Thiele wrote:
> > Hello,
> > ?
> > sometimes I can?t get rid of a process. At the moment the process
> > caused an error which I analyzed at the console. Afterwards the
> > process was in state ?Reset? and I was not able to process-kill or
> > process-
> abort it.
> > ?
> > Are there any hints on this matter available?
> > ?
> > Best Regards
> > Andreas
More information about the Openmcl-devel