looks like a vm problem after instruction of Thierry instead of wget -O- get.pharo.org/50+vmLatest | bash
I did wget -O- get.pharo.org/50+vm | bash and now it works fine I can see the output with an inspection. Looks like something changed in the vm that broke this. On Fri, Nov 6, 2015 at 10:23 AM Dimitris Chloupis <kilon.al...@gmail.com> wrote: > good to know I am not the only one with this problem :) so how may I help > solving this problem ? > > On Fri, Nov 6, 2015 at 10:11 AM john pfersich <jpfers...@gmail.com> wrote: > >> I tested what I posted on a fresh Pharo 4.0 image on OSX 10.10 (Yosemite) >> so it sounds like something's wrong in the trunk. >> >> On Thu, Nov 5, 2015 at 10:38 PM, Dimitris Chloupis <kilon.al...@gmail.com >> > wrote: >> >>> It says I am using Cog 4.3.3 >>> >>> I also used the code of John pfersich >>> >>> p :=(PipeableOSProcess waitForCommand: 'ls') . >>> p output. >>> >>> and it still returns an empty string while the process is >>> >>> "a PipeableOSProcess on an ExternalUnixOSProcess with pid 769 on /bin/sh >>> (complete, normal termination with status 0)" >>> >>> I tried debugging but it froze the image with a >>> >>> UndefinedObject(Object)>>doesNotUnderstand: #stepToCallee >>> >>> this happened inside BlockClosure >> newProcess at Processor >>> terminateActive >>> >>> When I execute the command it works fine because I can see the output in >>> the terminal. >>> >>> >>> >>> On Fri, Nov 6, 2015 at 5:23 AM David T. Lewis <le...@mail.msen.com> >>> wrote: >>> >>>> On Fri, Nov 06, 2015 at 12:41:58AM +0000, Dimitris Chloupis wrote: >>>> > hello David and thank you for your help and your detailed explanation. >>>> > >>>> > as I said I used >>>> > >>>> > p :=(PipeableOSProcess command: 'ls') . p output. >>>> > >>>> > and it just returns an empty string. >>>> >>>> The way this should work is that p (an instance of PipeableOSProcess) >>>> should >>>> answer its output up to EOF (end of file) on the stdout from the >>>> process. >>>> >>>> Can you please try stepping through this slowly in a debugger, and see >>>> if >>>> it works? Or put "(Delay forSeconds: 1)" right before you do "p output"? >>>> I am guessing that there may be something about the OSProcessPlugin in >>>> your >>>> VM that is causing EOF detection to fail, such that you just get an >>>> empty >>>> string as output. >>>> >>>> I do not have a Mac to test, so I am only guessing. It might also be a >>>> bug in the OSProcess plugin, I'm not sure. >>>> >>>> Just to help me identify what your are running, could you please >>>> evaluate >>>> "OSProcess accessor osppModuleVersionString" and let me know what it >>>> says? >>>> The current version would be '4.6.1' but other versions may be in >>>> circulation, >>>> and that could affect EOF detection. >>>> >>>> Thanks, >>>> Dave >>>> >>>> >>>> > >>>> > Are there other ways to return the output of the terminal ? >>>> > >>>> > On Fri, Nov 6, 2015 at 1:57 AM David T. Lewis <le...@mail.msen.com> >>>> wrote: >>>> > >>>> > > On Thu, Nov 05, 2015 at 09:50:29PM +0000, Dimitris Chloupis wrote: >>>> > > > So I try to understand how OSProcess work exactly to find why >>>> filetree >>>> > > > seems not able to use it and generating the error I already >>>> reported >>>> > > > earlier. >>>> > > > >>>> > > > Using something simple like >>>> > > > >>>> > > > OSProcess command:'pwd' >>>> > > > >>>> > > > works great , I have the terminal open and I can see the correct >>>> return >>>> > > > value of the command in my terminal but for some reason I can >>>> find no >>>> > > such >>>> > > > info when I inspect the above example. So how exactly OSProcess >>>> returns >>>> > > the >>>> > > > output of the terminal ? Is there an instance variable of some >>>> sort ? >>>> > > > Because I tried to inspect it deeply and I found nothing . Can >>>> you help >>>> > > me >>>> > > > understand how OSProcess work ? Because If I do understand it >>>> then I can >>>> > > > find what the problem is . >>>> > > >>>> > > Hi Dimitris, >>>> > > >>>> > > The OSProcess and CommandShell packages provide a variety of ways to >>>> > > create and interact with operating system processes. In the case of >>>> > > "OSProcess command: 'pwd'" it is starting a new unix shell >>>> (/bin/sh, which >>>> > > on most systems is the Bash shell). Once it starts the shell, it >>>> asks >>>> > > the shell to evaluate the 'pwd' command. In this case, you would >>>> see the >>>> > > output of that 'pwd' command appearing in the terminal window for >>>> your >>>> > > Pharo VM process. >>>> > > >>>> > > If you inspect the result of this, you should see an instance of >>>> > > ExternalUnixOSProcess. This is a proxy that represents the operating >>>> > > system process that was used to run /bin/sh. It should look >>>> something like >>>> > > this: >>>> > > >>>> > > an ExternalUnixOSProcess with pid 10703 on /bin/sh (complete, normal >>>> > > termination with status 0) >>>> > > >>>> > > The exitStatus instance variable of the ExternaUnixProcess should >>>> be 0 in >>>> > > this example, which means only that the shell ran successfully (It >>>> does not >>>> > > tell you exit status of the 'pwd' command in this case, although >>>> there are >>>> > > other ways to do that). >>>> > > >>>> > > There are other classes, especially PipeableOSProcess and >>>> CommandShell, >>>> > > that support higher level control of OS processes, with direct >>>> connection >>>> > > of the stdin/stdout/stderr streams to your Smalltalk image. I >>>> expect that >>>> > > filetree would be using these higher level abstractions. >>>> > > >>>> > > I don't know if this helps with your problem but maybe it gives you >>>> some >>>> > > ideas. >>>> > > >>>> > > Dave >>>> > > >>>> > > >>>> > > >>>> >>>> >>