[squeak-dev] Trouble running OSProcess on smalltalkCI for Windows/mingw

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Mon Jun 28 15:49:12 UTC 2021


Ah, I got it! Right after restarting the VM (I stepped over #snapshotAndQuit in a debugger), OSProcess in mingw suddenly stopped working (i.e., timeouts only). After evaluating OSProcessAccesssor initialize again, it works again! I have no idea why ...


Maybe we want to make this default behavior, at least for Windows, by registering this in a #startUp: method? But I don't have a good overview of OSProcess, maybe there is some other state which must not be reset.


Best,

Christoph

________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von David T. Lewis <lewis at mail.msen.com>
Gesendet: Montag, 28. Juni 2021 16:45:26
An: The general-purpose Squeak developers list
Betreff: Re: [squeak-dev] Trouble running OSProcess on smalltalkCI for Windows/mingw

Hi Christoph,

OSProcess for Windows is incomplete and most of the OSProcess/CommandShell
functionality that you see on unix (Linux, OS X) is not going to
work.

Levente's ProcessWrapper package may be more suitable:
  http://www.squeaksource.com/ProcessWrapper

I'm assuming you are running a Windows VM. If you are using a VM
for Linux, I don't know what will happen, but Windows does not
support the unix fork() semantics so I expect that there would
be limitations.

Dave


On Mon, Jun 28, 2021 at 01:28:13PM +0000, Thiede, Christoph wrote:
> Hi all,
>
>
> while setting up smalltalkCI for a project, I am having troubles getting OSProcess to run on a GitHub Actions runner for Windows.
>
>
> My test is as simple as:
>
>
> OSProcess waitForCommand: 'whoami'
>
>
> Which, normally, should print a small string to stdout and return after no longer than a few decisonds.
>
>
> However, in my smalltalkCI test for Windows, I just keep getting timeouts, even though the username is output correctly to the CI log.
>
> I am installing OSProcess using:
> MCMcmUpdater updateFromRepository: 'http://www.squeaksource.com/OSProcess' baseName: MCMcmUpdater defaultBaseName interactive: false.
> <http://www.hpi.de/>
> I have ensured (via good old Transcript debugging) that the grimReaperProcess is running and not suspended.
> Also, there is not any other error message visible in the Transcript.
>
> How could that be? As far as I know, the GitHub runner for Windows uses the git bash (mingw), so Windows executables and APIs are still available, but the shell is a different one.
> I could also reproduce the issue when running smalltalkCI from my local git bash (mingw). Interestingly, when using the "--headful" option to inspect the image manually, I can run all tests successfully, but when the tests are run automatically in the squeak::run_tests stage, they fail again.
> What is going on here?? At the moment, I feel somehow like at my wit's end ...
>
> Did anyone of you already encountered a similar problem, or do you have any idea how to debug/solve the problem? Thanks in advance! :-)
>
> Best,
> Christoph

>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210628/3c328c94/attachment.html>


More information about the Squeak-dev mailing list