OSProcess on 1.2

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

OSProcess on 1.2

Sean P. DeNigris
Administrator
Miguel Cobá wrote
OSProcess is supported and all tests are green in Pharo 1.1 and Pharo
1.2.
On 1.2.2-12353 dev with the Mac 4.2.5 VM, I have a hanging TestRunner with multiple failures.
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Miguel Cobá
El jue, 02-06-2011 a las 14:34 -0700, Sean P. DeNigris escribió:
> Miguel Cobá wrote:
> >
> > OSProcess is supported and all tests are green in Pharo 1.1 and Pharo
> > 1.2.
> >
>
> On 1.2.2-12353 dev with the Mac 4.2.5 VM, I have a hanging TestRunner with
> multiple failures.

He, I forgot to say that only I only test on Linux. :) Can you elaborate
on the failures?

>
> --
> View this message in context: http://forum.world.st/OSProcess-on-1-2-tp3569458p3569458.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>

--
Miguel Cobá
http://twitter.com/MiguelCobaMtz
http://miguel.leugim.com.mx




Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
Miguel Cobá wrote
Can you elaborate
on the failures?
All Pass except...

UnixProcessAccessorTestCase
  Failures:
    testChDir
    testPrimForkAndExec
    testPrimGetChildExitStatus
  Hangs:
    on line: (OSProcess waitForCommand: 'touch /tmp/delete.me'.)
      testIsExecutableForUserInGroup
      testIsReadableForUserInGroup
      testIsReadable
      testIsWritable
      testIsWritableForUserInGroup

OSPipeTestCase
  Errors:
    '#(''OSPipeTestCase>>#testBufferedUpToEnd'' <-- See http://forum.world.st/CommandShell-on-1-2-td3569478.html
    ''OSPipeTestCase>>#testIsAtEndOfFile''
    ''OSPipeTestCase>>#testIsAtEndOfFile2'
    ''OSPipeTestCase>>#testNonBlocking'
    ''OSPipeTestCase>>#testNonBlockingBufferedPipe'')'

AioEventHandlerTestCase:
  Errors:
    '#(''AioEventHandlerTestCase>>#testPrimAioModuleName''

  Failures:
    ''AioEventHandlerTestCase>>#testFileReadableEvent''
    ''AioEventHandlerTestCase>>#testFileWritableEvent''
    ''AioEventHandlerTestCase>>#testSuspendAioForSocketReadableEvent''
    ''AioEventHandlerTestCase>>#testHandleForFile''
    ''AioEventHandlerTestCase>>#testEnableHandleAndDisable''
    ''AioEventHandlerTestCase>>#testSocketReadableEvent''
    ''AioEventHandlerTestCase>>#testHandleForSocket''
    ''AioEventHandlerTestCase>>#testPrimAioModuleVersionString''
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
More info on hanging tests...

  UnixProcessAccessorTestCase
      testIsExecutableForUserInGroup
      testIsReadableForUserInGroup
      testIsReadable
      testIsWritable
      testIsWritableForUserInGroup

All hang on line: OSProcess waitForCommand: 'touch /tmp/delete.me'.

UnixProcess>>waitForCommand:
        <snip>
        [proc runState == #complete] whileFalse: [d wait]. <-- infinite loop

This may be related to another problem I was having with CommandShell:
  p := PipeableOSProcess command: '/bin/echo this is a test'.
  result := p output. "hangs"

ExternalUnixOSProcess>>isComplete
  ^ self runState == #complete
from PipeableOSProcess(PipeJunction)>>isComplete
from PipeableOSProcess(PipeJunction)>>outputOn:
from PipeableOSProcess(PipeJunction)>>output
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Igor Stasenko
On 3 June 2011 01:47, Sean P. DeNigris <[hidden email]> wrote:

> More info on hanging tests...
>
>  UnixProcessAccessorTestCase
>      testIsExecutableForUserInGroup
>      testIsReadableForUserInGroup
>      testIsReadable
>      testIsWritable
>      testIsWritableForUserInGroup
>
> All hang on line: OSProcess waitForCommand: 'touch /tmp/delete.me'.
>
> UnixProcess>>waitForCommand:
>        <snip>
>        [proc runState == #complete] whileFalse: [d wait]. <-- infinite loop
>
> This may be related to another problem I was having with CommandShell:
>  p := PipeableOSProcess command: '/bin/echo this is a test'.
>  result := p output. "hangs"
>
> ExternalUnixOSProcess>>isComplete
>  ^ self runState == #complete
> from PipeableOSProcess(PipeJunction)>>isComplete
> from PipeableOSProcess(PipeJunction)>>outputOn:
> from PipeableOSProcess(PipeJunction)>>output
>
>

sounds like VM cannot detect that child process are finished (complete).

> --
> View this message in context: http://forum.world.st/OSProcess-on-1-2-tp3569458p3569593.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
In reply to this post by Sean P. DeNigris
Okay, many of the problems were being caused by another squeak vm on my machine highjacking the image. With a fresh 4.2.5,

***********************OSProcess test results are...

UnixProcessTestCase - it seems like tests that fork (e.g. UnixProcessTestCase>>testClassForkHeadlessSqueakAndDo) hang forever and then things that were working don't work anymore (there is often a warning "forkSqueak requires XDisplayControlPlugin" before something bad happens, but it seems like it gets screwed up whether you hit proceed or abandon). This seems to be the major issue.

All pass in OSPipeTestCase, UnixProcessFileLockTestCase, UnixProcessUnixFileLockingTestCase, UnixProcessWin32FileLockingTestCase

UnixProcessAccessorTestCase
  Failures:
    testChDir
    testIsExecutableForUserInGroup
    testIsReadableForUserInGroup
    testIsWritableForUserInGroup

AioEventHandlerTestCase:
  Errors:
    '#(''AioEventHandlerTestCase>>#testPrimAioModuleName''

  Failures:
    ''AioEventHandlerTestCase>>#testFileReadableEvent''
    ''AioEventHandlerTestCase>>#testFileWritableEvent''
    ''AioEventHandlerTestCase>>#testSuspendAioForSocketReadableEvent''
    ''AioEventHandlerTestCase>>#testHandleForFile''
    ''AioEventHandlerTestCase>>#testEnableHandleAndDisable''
    ''AioEventHandlerTestCase>>#testSocketReadableEvent''
    ''AioEventHandlerTestCase>>#testHandleForSocket''
    ''AioEventHandlerTestCase>>#testPrimAioModuleVersionString''

*********************** CommandShell tests...

All pass in ExpressionEvaluatorTestCase, InternalPipeTestCase, PipelineEventsTestCase, ShellSyntaxTestCase

PipeableOSProcessTestCase
    testForkHeadlessSqueakReadAndWriteReferenceStream, testForkSqueak, testForkSqueakReadAndWriteReferenceStream, testForkSqueakReferenceStream give warning "forkSqueak requires XDisplayControlPlugin"
    testForkHeadlessSqueak, testForkHeadlessSqueak2, testForkHeadlessSqueakReferenceStream give same warning, and then hang

CommandShellTestCase - all pass, except testPipeline65 fails.
Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

David T. Lewis
Hi Sean,

If you have a chance, could you please run the following and post
your results from the transcript? Thanks a lot.

  Transcript clear.
  { 'CommandShell versionString ==> ', CommandShell versionString.
     'OSProcess versionString ==> ', OSProcess versionString.
     OSProcess accessor osppModuleName asString.
     'OSPP versionString ==> ', OSProcess accessor osppModuleVersionString asString.
     OSProcess accessor aioModuleName asString.
     'AIO plugin versionString ==> ', OSProcess accessor aioVersionString asString.
     OSProcess accessor xdcpModuleName asString.
     'XDCP versionString ==> ', OSProcess accessor xdcpVersionString asString
  } do: [:e | Transcript cr; show: e]

For reference, on a Linux platform with interpreter VM you might
get results like this:

  CommandShell versionString ==> 4.4.15
  OSProcess versionString ==> 4.4.2
  UnixOSProcessPlugin 24 May 2011 (e)
  OSPP versionString ==> 4.4.3
  AioPlugin 24 May 2011 (e)
  AIO plugin versionString ==> 2.2.4
  XDisplayControlPlugin 24 May 2011 (e)
  XDCP versionString ==> 2.1.6

Thank you,
Dave


On Fri, Jun 03, 2011 at 04:04:35AM -0700, Sean P. DeNigris wrote:

> Okay, many of the problems were being caused by another squeak vm on my
> machine highjacking the image. With a fresh 4.2.5,
>
> ***********************OSProcess test results are...
>
> UnixProcessTestCase - it seems like tests that fork (e.g.
> UnixProcessTestCase>>testClassForkHeadlessSqueakAndDo) hang forever and then
> things that were working don't work anymore (there is often a warning
> "forkSqueak requires XDisplayControlPlugin" before something bad happens,
> but it seems like it gets screwed up whether you hit proceed or abandon).
> This seems to be the major issue.
>
> All pass in OSPipeTestCase, UnixProcessFileLockTestCase,
> UnixProcessUnixFileLockingTestCase, UnixProcessWin32FileLockingTestCase
>
> UnixProcessAccessorTestCase
>   Failures:
>     testChDir
>     testIsExecutableForUserInGroup
>     testIsReadableForUserInGroup
>     testIsWritableForUserInGroup
>
> AioEventHandlerTestCase:
>   Errors:
>     '#(''AioEventHandlerTestCase>>#testPrimAioModuleName''
>
>   Failures:
>     ''AioEventHandlerTestCase>>#testFileReadableEvent''
>     ''AioEventHandlerTestCase>>#testFileWritableEvent''
>     ''AioEventHandlerTestCase>>#testSuspendAioForSocketReadableEvent''
>     ''AioEventHandlerTestCase>>#testHandleForFile''
>     ''AioEventHandlerTestCase>>#testEnableHandleAndDisable''
>     ''AioEventHandlerTestCase>>#testSocketReadableEvent''
>     ''AioEventHandlerTestCase>>#testHandleForSocket''
>     ''AioEventHandlerTestCase>>#testPrimAioModuleVersionString''
>
> *********************** CommandShell tests...
>
> All pass in ExpressionEvaluatorTestCase, InternalPipeTestCase,
> PipelineEventsTestCase, ShellSyntaxTestCase
>
> PipeableOSProcessTestCase
>     testForkHeadlessSqueakReadAndWriteReferenceStream, testForkSqueak,
> testForkSqueakReadAndWriteReferenceStream, testForkSqueakReferenceStream
> give warning "forkSqueak requires XDisplayControlPlugin"
>     testForkHeadlessSqueak, testForkHeadlessSqueak2,
> testForkHeadlessSqueakReferenceStream give same warning, and then hang
>
> CommandShellTestCase - all pass, except testPipeline65 fails.
> Sean
>
> --
> View this message in context: http://forum.world.st/OSProcess-on-1-2-tp3569458p3570538.html
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
David T. Lewis wrote
If you have a chance, could you please run the following and post
your results from the transcript?
Sure...

 #('CommandShell versionString ==> 4.4.15'
'OSProcess versionString ==> 4.4.2'
'UnixOSProcessPlugin 23 December 2007 (e)'
'OSPP versionString ==> 4.2.4'
 'nil'
'AIO plugin versionString ==> nil'
'nil'
'XDCP versionString ==> nil')
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

David T. Lewis
On Fri, Jun 03, 2011 at 08:42:49PM -0700, Sean P. DeNigris wrote:

>
> David T. Lewis wrote:
> >
> > If you have a chance, could you please run the following and post
> > your results from the transcript?
> >
>
> Sure...
>
>  #('CommandShell versionString ==> 4.4.15'
> 'OSProcess versionString ==> 4.4.2'
> 'UnixOSProcessPlugin 23 December 2007 (e)'
> 'OSPP versionString ==> 4.2.4'
>  'nil'
> 'AIO plugin versionString ==> nil'
> 'nil'
> 'XDCP versionString ==> nil')

Thanks Sean,

Some of the VMs for OS X were accidentally built with an out of
date OSProcessPlugin (OSPP). It looks like you have one of them.
You have version 4.2.4 of OSPP which was from April 2007, and
does not contain many necessary updates and fixes.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
David T. Lewis wrote
Some of the VMs for OS X were accidentally built with an out of
date OSProcessPlugin (OSPP). It looks like you have one of them.
You have version 4.2.4 of OSPP which was from April 2007, and
does not contain many necessary updates and fixes.
Aha! That VM came directly from http://www.squeakvm.org/mac/. Where do I get the right one?

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

David T. Lewis
On Sat, Jun 04, 2011 at 08:00:32AM -0700, Sean P. DeNigris wrote:

>
> David T. Lewis wrote:
> >
> > Some of the VMs for OS X were accidentally built with an out of
> > date OSProcessPlugin (OSPP). It looks like you have one of them.
> > You have version 4.2.4 of OSPP which was from April 2007, and
> > does not contain many necessary updates and fixes.
> >
>
> Aha! That VM came directly from http://www.squeakvm.org/mac/. Where do I get
> the right one?
>

I am not a Mac user, so I don't know if I am giving you the right
information here. But I think you said you are using a 4.2.5 VM,
which according to http://squeakvm.org/mac/ would be for older
Mac systems "mostly for EToys which has to run on really old
macintosh computers that you find the USA school system".

If I remember correctly, there are no plans for further updates
to that VM (Esteban could say better than me of course). If it
is important for you to have OSProcess on the older Mac systems,
I can raise the question on the vm-dev list.

Dave


Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
David T. Lewis wrote
But I think you said you are using a 4.2.5 VM,
For the Cocoa VM (5.7.4.1), TestRunner hangs again. One hanging test was UnixProcessTestCase>>testClassForkHeadlessSqueakAndDo on "[p isRunning] whileTrue: [(Delay forMilliseconds: 100) wait]."

These were the values for that VM:
 #('CommandShell versionString ==> 4.4.15' 'OSProcess versionString ==> 4.4.2' 'UnixOSProcessPlugin 6 February 2011 (e)' 'OSPP versionString ==> 4.4.3' 'nil' 'AIO plugin versionString ==> nil' 'nil' 'XDCP versionString ==> nil')
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
In reply to this post by David T. Lewis
David T. Lewis wrote
If I remember correctly, there are no plans for further updates
to that VM (Esteban could say better than me of course).
From http://forum.world.st/looking-for-feedback-on-Cocoa-Cog-MT-VM-td3534230.html :
Esteban Lorenzano wrote
What is definitively true, is the fact that there are a lot of machines who needs to use a 4.x series (in mac versions), and a lot of legacy code who will be using this "old" vm too... and because of this, 4.x series will be around a long time.
With Cog 5.8b12, I got warnings like "process accessor module not available".

And I mentioned the hanging tests with the Cocoa 5.7.4.1 in my last post.

So there seems to be issues with all the Mac VMs.

David T. Lewis wrote
 If it I can raise the question on the vm-dev list.
Done.
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: OSProcess on 1.2

Sean P. DeNigris
Administrator
Sean P. DeNigris wrote
So there seems to be issues with all the Mac VMs.
I filed bugs for OSProcess on all three Mac VMs:
* Squeak 4.2.5beta1U http://bugs.squeak.org/view.php?id=7644
* Squeak 5.7.4.1 http://bugs.squeak.org/view.php?id=7645
* Cog 5.8b12 http://bugs.squeak.org/view.php?id=7646
Cheers,
Sean