On Jan 4, 2011, at 4:25 AM, David T. Lewis wrote: > 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.
I imagine that we will see that with igor and the automatic build too. > >> 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 >> >
