[Openmcl-devel] Thread problem/question

Phil pbpublist at comcast.net
Thu Sep 7 19:53:29 PDT 2006


My latest (SLIME-related) problem is that I'm experiencing  
inconsistent behavior that I believe is related to threads and could  
use some advice on how to troubleshoot / what additional information  
I need to collect.

In a nutshell, I've noticed on a number of occasions (in 1.0 as well  
as the latest 1.1 snapshot) where I would (re)define a function or  
variable on a separate thread (SLIME creates a new thread when a form  
is evaluated via c-x c-e in a non-REPL buffer such as editing a Lisp  
source file) but the REPL claims it is unbound and vice-versa when I  
define a variable in the REPL.  At other times, things work as  
expected... although the behavior is always consistent for the  
duration of the session (i.e. if I quit the session and start over, I  
may experience different behavior)

For example,  I've got a session going right now where I have defined  
a variable via a source buffer but in the REPL, I'm told that foo is  
undefined.  From the source buffer I execute:
(setf foo "testing") => "testing"
foo => "testing"
(ccl::all-processes) => (#<PROCESS worker(74) [Active] #x920C896>  
#<PROCESS new-repl-thread(58) [semaphore wait] #x91E79A6> #<PROCESS  
reader-thread(7) [Active] #x91BD47E> #<PROCESS control-thread(6)  
[Active] #x91BD696> #<COCOA-LISTENER-PROCESS Listener(4) [Active]  
#x898E716> #<PROCESS Hemlock window thread(3) [semaphore wait]  
#x8990256> #<PROCESS housekeeping(2) [Active] #x8975BB6> #<PROCESS  
listener(1) [Active] #x83D3EF6> #<APPKIT-PROCESS Initial(0) [Active]  
#x810B9FE>)

Then from the repl, I execute:
foo => Unbound variable: FOO
(ccl::all-processes) => (#<PROCESS new-repl-thread(75) [Active]  
#x92014E6> #<PROCESS reader-thread(7) [Active] #x91BD47E> #<PROCESS  
control-thread(6) [Active] #x91BD696> #<COCOA-LISTENER-PROCESS  
Listener(4) [Active] #x898E716> #<PROCESS Hemlock window thread(3)  
[semaphore wait] #x8990256> #<PROCESS housekeeping(2) [Active]  
#x8975BB6> #<PROCESS listener(1) [Active] #x83D3EF6> #<APPKIT-PROCESS  
Initial(0) [Active] #x810B9FE>)

Thinking that I might somehow be running multiple OpenMCL instances I  
checked via Activity Monitor and ps but they only show the single  
instance running.



More information about the Openmcl-devel mailing list