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; 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 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 :) 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 |
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 > |
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 >> > |
On Mon, Jan 03, 2011 at 09:06:37PM -0800, Stef T wrote:
> > 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 ;) > AioPlugin is on SqueakSource in http://www.squeaksource.com/AioPlugin. It's written in Smalltalk, translated to C. I don't have any experience with Mac or Xcode but there are others on the Pharo/Squeak/vm-dev lists who can probably help. > > > >> 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. I was referring to the OSProcessPlugin, which separate from the OSProcess package. The plugin is on SqueakSource at: http://www.squeaksource.com/OSProcessPlugin This is written in Smalltalk, translated to C and compiled as a VM plugin. It was originally part of of OSProcess, but I split it out to a separate package years ago. You have an up to date OSProcess package, but your OSProcessPlugin is many years old, from back before we got it working on Mac. The old plugin will crash your VM. Dave |
Stef, welcome!
it will help if you say wich VM are you using. cheers mariano On Tue, Jan 4, 2011 at 6:43 AM, David T. Lewis <[hidden email]> wrote:
|
Hello Mariano, David, Everyone, I am currently using; Pharo-1.1-11406-rc3 Latest update: #11406 But I have tried with; Pharo1.1.1 Latest update: #11414 I installed the VMMaker (as well as the configuration step), then I also reinstalled OSProcessPlugin/CommandShell via Monticello. No dice, same NonBooleanReceiver. Name: VMConstruction-Plugins-OSProcessPlugin-dtl.27 Author: dtl Time: 3 January 2011, 9:23:04.998 pm Regards S. On Jan 4, 2011, at 1:26 AM, Mariano Martinez Peck wrote: Stef, welcome! |
In reply to this post by David T. Lewis
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 >> > |
In reply to this post by Stef Telford
>
> >> 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 ;) good there is a gitorious account for the vm and we would enjoy that people can contribute via there. http://gitorious.org/cogvm http://gitorious.org/squeak-vm > >> >>> 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 >>> >> > > |
In reply to this post by Stéphane Ducasse
On 4 January 2011 17:34, Stéphane Ducasse <[hidden email]> wrote:
> > 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. > was this plugin included into standard vms once before? because currently its not and i don't remember if i built VMs it . -- Best regards, Igor Stasenko AKA sig. |
On Tue, Jan 04, 2011 at 07:15:14PM +0100, Igor Stasenko wrote:
> On 4 January 2011 17:34, St??phane Ducasse <[hidden email]> wrote: > > > > 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. > > > > was this plugin included into standard vms once before? because > currently its not > and i don't remember if i built VMs it . > It has never been included in any Mac VMs, and I do not know if it works on Mac. But I expect that it will work because the Mac VM uses a copy of Ian's aio support code for the unix VM. Dave |
In reply to this post by Stef Telford
On Tue, Jan 4, 2011 at 12:26 PM, Stef T <[hidden email]> wrote:
Hi Stef. That's the version of the Image, but not the VM. Are you using a PharoOneClick? (Pharo.app) I mean..do you have all together where you do a double click ? or you have the VM first, you double clcik and then you choose the image? if this one, then you can have the name of such vm, like Squeak 4.2.5beta1U for example cheers mariano
|
In reply to this post by Stéphane Ducasse
On Jan 4, 2011, at 8:36 AM, Stéphane Ducasse 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 ;) > > good there is a gitorious account for the vm and we would enjoy that people can contribute via there. > > http://gitorious.org/cogvm > http://gitorious.org/squeak-vm > Hello Stéphane, Everyone, Under OSX (10.6.5) and pulling the vm source from squeak (either the trunk or the blessed branch) I get this when building (without making any changes to the installed plugins -- yet ;) Stef-T-MacBook-Pro:build stef$ ../unix/cmake/configure --without-RomePlugin --without-vm-display-Quartz .... [ 70%] Building C object CMakeFiles/squeakvm.dir/version.c.o [ 71%] Building C object CMakeFiles/squeakvm.dir/disabledPlugins.c.o Linking C executable squeakvm Undefined symbols: "_sendInvokeCallbackStackRegistersJmpbuf", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o "_classUnsafeAlien", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o "_primitiveFailFor", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o "_internalIsImmutable", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o "_getStackPointer", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o "_reestablishContextPriorToCallback", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o "_classAlien", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o "_internalIsMutable", referenced from: _sqGetInterpreterProxy in sqVirtualMachine.c.o ld: symbol(s) not found collect2: ld returned 1 exit status make[2]: *** [squeakvm] Error 1 make[1]: *** [CMakeFiles/squeakvm.dir/all] Error 2 make: *** [all] Error 2 that's .. not looking too healthy. Is OSX 'knowingly busted' ? Regards S. > >> >>> >>>> 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 >>>> >>> >> >> > > |
In reply to this post by Igor Stasenko
Hi,
Yes, 4.2.5 and exuperi both has UnixOSProcessPlugin as default (and I understand that, they are very needed :) ) Cheers, Esteban El 04/01/2011, a las 3:15p.m., Igor Stasenko escribió: > On 4 January 2011 17:34, Stéphane Ducasse <[hidden email]> wrote: >> >> 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. >> > > was this plugin included into standard vms once before? because > currently its not > and i don't remember if i built VMs it . > > > -- > Best regards, > Igor Stasenko AKA sig. > |
In reply to this post by Stef Telford
On 4 January 2011 22:25, Stef T <[hidden email]> wrote:
> > On Jan 4, 2011, at 8:36 AM, Stéphane Ducasse 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 ;) >> >> good there is a gitorious account for the vm and we would enjoy that people can contribute via there. >> >> http://gitorious.org/cogvm >> http://gitorious.org/squeak-vm >> > > Hello Stéphane, Everyone, > > Under OSX (10.6.5) and pulling the vm source from squeak (either the trunk or the blessed branch) I get this when building (without making any changes to the installed plugins -- yet ;) > > Stef-T-MacBook-Pro:build stef$ ../unix/cmake/configure --without-RomePlugin --without-vm-display-Quartz > .... > [ 70%] Building C object CMakeFiles/squeakvm.dir/version.c.o > [ 71%] Building C object CMakeFiles/squeakvm.dir/disabledPlugins.c.o > Linking C executable squeakvm > Undefined symbols: > "_sendInvokeCallbackStackRegistersJmpbuf", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_classUnsafeAlien", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_primitiveFailFor", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_internalIsImmutable", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_getStackPointer", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_reestablishContextPriorToCallback", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_classAlien", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_internalIsMutable", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > ld: symbol(s) not found > collect2: ld returned 1 exit status > make[2]: *** [squeakvm] Error 1 > make[1]: *** [CMakeFiles/squeakvm.dir/all] Error 2 > make: *** [all] Error 2 > > that's .. not looking too healthy. Is OSX 'knowingly busted' ? > i'm not sure that this was ever worked before. For OSX, as a 'special' kind of unix there is a separate xcode project, using which you should build VM. And besides of that, we're working on creating a cmake configuration(s) building VM on macos. > Regards > S. > -- Best regards, Igor Stasenko AKA sig. |
In reply to this post by Stef Telford
the plugin does not runs out of the box on current vm's, I'm afraid :(
Tomorrow I will try to fix the remaining problems for running this plugin... wish me luck :) Cheers, Esteban El 04/01/2011, a las 6:25p.m., Stef T escribió: > > On Jan 4, 2011, at 8:36 AM, Stéphane Ducasse 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 ;) >> >> good there is a gitorious account for the vm and we would enjoy that people can contribute via there. >> >> http://gitorious.org/cogvm >> http://gitorious.org/squeak-vm >> > > Hello Stéphane, Everyone, > > Under OSX (10.6.5) and pulling the vm source from squeak (either the trunk or the blessed branch) I get this when building (without making any changes to the installed plugins -- yet ;) > > Stef-T-MacBook-Pro:build stef$ ../unix/cmake/configure --without-RomePlugin --without-vm-display-Quartz > .... > [ 70%] Building C object CMakeFiles/squeakvm.dir/version.c.o > [ 71%] Building C object CMakeFiles/squeakvm.dir/disabledPlugins.c.o > Linking C executable squeakvm > Undefined symbols: > "_sendInvokeCallbackStackRegistersJmpbuf", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_classUnsafeAlien", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_primitiveFailFor", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_internalIsImmutable", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_getStackPointer", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_reestablishContextPriorToCallback", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_classAlien", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > "_internalIsMutable", referenced from: > _sqGetInterpreterProxy in sqVirtualMachine.c.o > ld: symbol(s) not found > collect2: ld returned 1 exit status > make[2]: *** [squeakvm] Error 1 > make[1]: *** [CMakeFiles/squeakvm.dir/all] Error 2 > make: *** [all] Error 2 > > that's .. not looking too healthy. Is OSX 'knowingly busted' ? > > Regards > S. > > > >> >>> >>>> >>>>> 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 >>>>> >>>> >>> >>> >> >> > > |
In reply to this post by EstebanLM
On 4 January 2011 23:03, Esteban Lorenzano <[hidden email]> wrote:
> Hi, > Yes, 4.2.5 and exuperi both has UnixOSProcessPlugin as default (and I understand that, they are very needed :) ) > Err.. i asked about AioPlugin. Yes, OSProcessPlugin is quite useful , since with it we can perform some OS-specific tasks directly from smalltalk code. Someday it will rock, especially when we will have something better than FileDirectory & friends :) > Cheers, > Esteban > > El 04/01/2011, a las 3:15p.m., Igor Stasenko escribió: > >> On 4 January 2011 17:34, Stéphane Ducasse <[hidden email]> wrote: >>> >>> 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. >>> >> >> was this plugin included into standard vms once before? because >> currently its not >> and i don't remember if i built VMs it . >> >> >> -- >> Best regards, >> Igor Stasenko AKA sig. >> > > > -- Best regards, Igor Stasenko AKA sig. |
he, we already have something A LOT better: Filesystem. I would like it to become the default Pharo file manager :(
El 04/01/2011, a las 7:10p.m., Igor Stasenko escribió: > On 4 January 2011 23:03, Esteban Lorenzano <[hidden email]> wrote: >> Hi, >> Yes, 4.2.5 and exuperi both has UnixOSProcessPlugin as default (and I understand that, they are very needed :) ) >> > Err.. i asked about AioPlugin. > > Yes, OSProcessPlugin is quite useful , since with it we can perform > some OS-specific tasks directly from smalltalk code. > > Someday it will rock, especially when we will have something better > than FileDirectory & friends :) > >> Cheers, >> Esteban >> >> El 04/01/2011, a las 3:15p.m., Igor Stasenko escribió: >> >>> On 4 January 2011 17:34, Stéphane Ducasse <[hidden email]> wrote: >>>> >>>> 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. >>>> >>> >>> was this plugin included into standard vms once before? because >>> currently its not >>> and i don't remember if i built VMs it . >>> >>> >>> -- >>> Best regards, >>> Igor Stasenko AKA sig. >>> >> >> >> > > > > -- > Best regards, > Igor Stasenko AKA sig. > |
In reply to this post by Igor Stasenko
ah... I think (if I understood well) the real problem is that OSProcess were implementing it's own aio things and now it is relying (correctly) in AioPlugin... so, before that, it wasn't important if AioPlugin was present, and now it is (btw... UnixOSProcessPlugin don't really need AioPlugin, it switches to an ugly but necessary polling when absent)
Cheers, Esteban El 04/01/2011, a las 7:10p.m., Igor Stasenko escribió: > On 4 January 2011 23:03, Esteban Lorenzano <[hidden email]> wrote: >> Hi, >> Yes, 4.2.5 and exuperi both has UnixOSProcessPlugin as default (and I understand that, they are very needed :) ) >> > Err.. i asked about AioPlugin. > > Yes, OSProcessPlugin is quite useful , since with it we can perform > some OS-specific tasks directly from smalltalk code. > > Someday it will rock, especially when we will have something better > than FileDirectory & friends :) > >> Cheers, >> Esteban >> >> El 04/01/2011, a las 3:15p.m., Igor Stasenko escribió: >> >>> On 4 January 2011 17:34, Stéphane Ducasse <[hidden email]> wrote: >>>> >>>> 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. >>>> >>> >>> was this plugin included into standard vms once before? because >>> currently its not >>> and i don't remember if i built VMs it . >>> >>> >>> -- >>> Best regards, >>> Igor Stasenko AKA sig. >>> >> >> >> > > > > -- > Best regards, > Igor Stasenko AKA sig. > |
On Tue, Jan 04, 2011 at 08:03:42PM -0300, Esteban Lorenzano wrote:
> ah... I think (if I understood well) the real problem is that OSProcess > were implementing it's own aio things and now it is relying (correctly) > in AioPlugin... so, before that, it wasn't important if AioPlugin was > present, and now it is (btw... UnixOSProcessPlugin don't really need > AioPlugin, it switches to an ugly but necessary polling when absent) > > Cheers, > Esteban Yes, that's right. The first version of OSProcess (from 1999) had OSProcess and the OSProcessPlugin. Over time, it grew and I split it into packages. Now CommandShell and OSProcess are the image side packages, and OSProcessPlugin, AioPlugin, and XDisplayControlPlugin provide the VM plugin support. All of it is written in Smalltalk, including the plugins. Originally, CommandShell was part of OSProcess. And originally, AioPlugin and XDisplayPlugin were part of OSProcessPlugin. CommandShell uses OSProcess (but loads and runs without it). OSProcess uses mainly OSProcessPlugin, but also AioPlugin if available. OSProcess also uses XDisplayControlPlugin when running on X11, expecially to support #forkSqueak. The X window system is separate from the operating system, therefore the XDisplayControlPlugin is separate from the OSProcessPlugin. The aio functions are separate from the operating system (they are part of Ian's Unix support code, but not OS functions per se), so the AioPlugin is also separate from the OSProcessPlugin. At the higher level, things that relate directly to operating system functions and to the representation of OS processes are part of OSProcess. Things that relate to the pipes, unix shell syntax, file name globbing, command line parsing, and shell window display are part of CommandShell. Dave > El 04/01/2011, a las 7:10p.m., Igor Stasenko escribi?: > > > On 4 January 2011 23:03, Esteban Lorenzano <[hidden email]> wrote: > >> Hi, > >> Yes, 4.2.5 and exuperi both has UnixOSProcessPlugin as default (and I understand that, they are very needed :) ) > >> > > Err.. i asked about AioPlugin. > > > > Yes, OSProcessPlugin is quite useful , since with it we can perform > > some OS-specific tasks directly from smalltalk code. > > > > Someday it will rock, especially when we will have something better > > than FileDirectory & friends :) > > > >> Cheers, > >> Esteban > >> > >> El 04/01/2011, a las 3:15p.m., Igor Stasenko escribi?: > >> > >>> On 4 January 2011 17:34, St?phane Ducasse <[hidden email]> wrote: > >>>> > >>>> 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. > >>>> > >>> > >>> was this plugin included into standard vms once before? because > >>> currently its not > >>> and i don't remember if i built VMs it . > >>> > >>> > >>> -- > >>> Best regards, > >>> Igor Stasenko AKA sig. > >>> > >> > >> > >> > > > > > > > > -- > > Best regards, > > Igor Stasenko AKA sig. > > > |
On 5 January 2011 04:12, David T. Lewis <[hidden email]> wrote:
> On Tue, Jan 04, 2011 at 08:03:42PM -0300, Esteban Lorenzano wrote: >> ah... I think (if I understood well) the real problem is that OSProcess >> were implementing it's own aio things and now it is relying (correctly) >> in AioPlugin... so, before that, it wasn't important if AioPlugin was >> present, and now it is (btw... UnixOSProcessPlugin don't really need >> AioPlugin, it switches to an ugly but necessary polling when absent) >> >> Cheers, >> Esteban > > Yes, that's right. The first version of OSProcess (from 1999) had > OSProcess and the OSProcessPlugin. Over time, it grew and I split > it into packages. Now CommandShell and OSProcess are the image side > packages, and OSProcessPlugin, AioPlugin, and XDisplayControlPlugin > provide the VM plugin support. All of it is written in Smalltalk, > including the plugins. > > Originally, CommandShell was part of OSProcess. And originally, > AioPlugin and XDisplayPlugin were part of OSProcessPlugin. > > CommandShell uses OSProcess (but loads and runs without it). > OSProcess uses mainly OSProcessPlugin, but also AioPlugin if > available. OSProcess also uses XDisplayControlPlugin when running > on X11, expecially to support #forkSqueak. > > The X window system is separate from the operating system, > therefore the XDisplayControlPlugin is separate from the > OSProcessPlugin. The aio functions are separate from the > operating system (they are part of Ian's Unix support code, > but not OS functions per se), so the AioPlugin is also separate > from the OSProcessPlugin. > osprocess plugin will use more elegant way of working :) > At the higher level, things that relate directly to operating > system functions and to the representation of OS processes > are part of OSProcess. Things that relate to the pipes, unix > shell syntax, file name globbing, command line parsing, and > shell window display are part of CommandShell. > yes, but it is much nicer to use asynchronous IO for speaking with those pipes etc, than synchronous, because VM don't needs to be (b)locked each time. > Dave > > -- Best regards, Igor Stasenko AKA sig. |
Free forum by Nabble | Edit this page |