On Mon, Jan 03, 2011 at 06:55:45PM -0800, Stef T wrote:
> Hello Everyone,
>    So, long time squeaker, first time pharo(er ?). Please don't hold this 
> against me ;)
> 
>    I am trying to get CommandShell loaded into Pharo (using the Seaside 
> Image) via Monticello. I have tried this on Pharo 1.1/1.1.1/1.2 for the 
> record (same thing). I skip past the MVC/Morphic errors about PluggableList 
> etc, and I can get the command shell to pop-up, however, two things happen;
> 

The CommandShell package on SqueakSource is also now broken down
into sub-packages, so you can load the individual parts if you want.
But just proceding through the MVC warnings as you did is harmless.

>    1) CommandShell complains about AioPlugin not being present and that it 
> will use the 'old slow' way. That's fine, it's merely a warning

AFAIK, noone has tried building the AioPlugin for Mac, so you will get this
warning when running on a Mac. But as you say, it's just a warning.

>    but
>    2) None of the commands get executed. If I try the stuff which will eval 
> inside squeak/pharo, then that's fine (Eg; stdout nextPutAll: 'hello world'; 
> cr.). However, if I try a command such as 'ls' or 'who', all hell breaks 
> lose.  stack trace follows :)
> 
>    If I am doing anything obviously wrong, please feel free to hit me over 
> the head :)

Nope, it's not you, it's the plugin included with your VM. Some
of the Mac VMs in circulation were accidentally built with a very
out of date version of the OSProcessPlugin. Apparently you have
one of them, and it will definitely not work. But I think there
is a newer version (4.2.5 IIRC) that has the up to date plugin
that works properly on Mac.

Dave


> 
>    Regards
>    S.
> 
> 
> 
> 
> 3 January 2011 6:49:43 pm
> 
> VM: Mac OS - intel - 1065 - Squeak3.8.1 of '28 Aug 2006' [latest update: 
> #6747] Squeak VM 4.2.4b1
> Image: Pharo-1.1-11406-rc3 [Latest update: #11406]
> 
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /Users/stef/squeak/SeaSide-3.0
> Trusted Dir /foobar/tooBar/forSqueak/bogus
> Untrusted Dir /Users/stef/Library/Preferences/Squeak/Internet/My Squeak
> 
> UndefinedObject(Object)>>mustBeBooleanIn:
>       Receiver: nil
>       Arguments and temporary variables: 
>               context:        
> BufferedAsyncFileReadStream>>moveAvailableDataFrom:
>               proceedValue:   nil
>       Receiver's instance variables: 
> nil
> 
> UndefinedObject(Object)>>mustBeBoolean
>       Receiver: nil
>       Arguments and temporary variables: 
> 
>       Receiver's instance variables: 
> nil
> 
> BufferedAsyncFileReadStream>>moveAvailableDataFrom:
>       Receiver: BufferedAsyncFileReadStream: 'pipeReader'
>       Arguments and temporary variables: 
>               sqFile:         #[48 205 236 155 72 91 120 160 0 0 0 0 0 0 0 0 
> 0 0 0 0 1 0 0 0]
>               bufferSize:     1000
>               buffer:         
> '...etc...
>               count:  #(0)
>       Receiver's instance variables: 
> 
> 
> BufferedAsyncFileReadStream>>moveAvailableDataToBuffer
>       Receiver: BufferedAsyncFileReadStream: 'pipeReader'
>       Arguments and temporary variables: 
> 
>       Receiver's instance variables: 
> 
> 
> BufferedAsyncFileReadStream>>update:
>       Receiver: BufferedAsyncFileReadStream: 'pipeReader'
>       Arguments and temporary variables: 
>               aParameter:     a PseudoAioEventHandler
>       Receiver's instance variables: 
> 
> 
> [] in PseudoAioEventHandler(Object)>>changed:
>       Receiver: a PseudoAioEventHandler
>       Arguments and temporary variables: 
>               aParameter:     BufferedAsyncFileReadStream: 'pipeReader'
>               aDependent:     a PseudoAioEventHandler
>       Receiver's instance variables: 
>               dependents:     a DependentsArray(BufferedAsyncFileReadStream: 
> 'pipeReader')
>               eventGenerator:         a Process in Debugger 
> class>>openOn:context:label:contents:full...etc...
> 
> DependentsArray>>do:
>       Receiver: a DependentsArray(BufferedAsyncFileReadStream: 'pipeReader')
>       Arguments and temporary variables: 
>               aBlock:         [:aDependent | aDependent update: aParameter]
>               dep:    BufferedAsyncFileReadStream: 'pipeReader'
>               i:      1
>               iLimiT:         1
>       Receiver's instance variables: 
> a DependentsArray(BufferedAsyncFileReadStream: 'pipeReader')
> 
> PseudoAioEventHandler(Object)>>changed:
>       Receiver: a PseudoAioEventHandler
>       Arguments and temporary variables: 
>               aParameter:     a PseudoAioEventHandler
>       Receiver's instance variables: 
>               dependents:     a DependentsArray(BufferedAsyncFileReadStream: 
> 'pipeReader')
>               eventGenerator:         a Process in Debugger 
> class>>openOn:context:label:contents:full...etc...
> 
> PseudoAioEventHandler(Object)>>changed
>       Receiver: a PseudoAioEventHandler
>       Arguments and temporary variables: 
> 
>       Receiver's instance variables: 
>               dependents:     a DependentsArray(BufferedAsyncFileReadStream: 
> 'pipeReader')
>               eventGenerator:         a Process in Debugger 
> class>>openOn:context:label:contents:full...etc...
> 
> [] in [] in PseudoAioEventHandler>>eventGeneratorProcess
>       Receiver: a PseudoAioEventHandler
>       Arguments and temporary variables: 
>               d:      a Delay(125 msecs)
>       Receiver's instance variables: 
>               dependents:     a DependentsArray(BufferedAsyncFileReadStream: 
> 'pipeReader')
>               eventGenerator:         a Process in Debugger 
> class>>openOn:context:label:contents:full...etc...
> 
> BlockClosure>>repeat
>       Receiver: [self changed.
>       d wait]
>       Arguments and temporary variables: 
> 
>       Receiver's instance variables: 
>               outerContext:   [] in 
> PseudoAioEventHandler>>eventGeneratorProcess
>               startpc:        59
>               numArgs:        0
> 
> [] in PseudoAioEventHandler>>eventGeneratorProcess
>       Receiver: a PseudoAioEventHandler
>       Arguments and temporary variables: 
>               d:      a Delay(125 msecs)
>       Receiver's instance variables: 
>               dependents:     a DependentsArray(BufferedAsyncFileReadStream: 
> 'pipeReader')
>               eventGenerator:         a Process in Debugger 
> class>>openOn:context:label:contents:full...etc...
> 
> [] in BlockClosure>>newProcess
>       Receiver: [[self changed.
>       d wait] repeat]
>       Arguments and temporary variables: 
> 
>       Receiver's instance variables: 
>               outerContext:   PseudoAioEventHandler>>eventGeneratorProcess
>               startpc:        54
>               numArgs:        0
> 
> 
> --- The full stack ---
> UndefinedObject(Object)>>mustBeBooleanIn:
> UndefinedObject(Object)>>mustBeBoolean
> BufferedAsyncFileReadStream>>moveAvailableDataFrom:
> BufferedAsyncFileReadStream>>moveAvailableDataToBuffer
> BufferedAsyncFileReadStream>>update:
> [] in PseudoAioEventHandler(Object)>>changed:
> DependentsArray>>do:
> PseudoAioEventHandler(Object)>>changed:
> PseudoAioEventHandler(Object)>>changed
> [] in [] in PseudoAioEventHandler>>eventGeneratorProcess
> BlockClosure>>repeat
> [] in PseudoAioEventHandler>>eventGeneratorProcess
> [] in BlockClosure>>newProcess
> 

Reply via email to