On Jan 3, 2011, at 7:25 PM, David T. Lewis wrote:
On Mon, Jan 03, 2011 at 06:55:45PM -0800, Stef T wrote:
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.
Is there a pointer for the source code ? I am pretty handy with Xcode and don't mind giving it a whirl ;)
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.
Hrm, I am using the OSProcess from squeaksource .59. The version history says Name: OSProcess-dtl.59 Author: dtl Time: 28 November 2010, 8:43:48.839 pm UUID: bd5d2b4e-efbd-4091-ac0a-d0bd7af64b2c surely this is 'new enough' ? Is there a known 'stable' version you would suggest ? regards S.
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