Login  Register

Re: OSProcess command - non responding image when calling often

Posted by Thierry Goubier on Jun 07, 2016; 10:44am
URL: https://forum.world.st/OSProcess-command-non-responding-image-when-calling-often-tp4899540p4899621.html



2016-06-07 11:47 GMT+02:00 Peter Uhnak <[hidden email]>:
It's strange that I was using GitFileTree over OSProcess for a long time without issue and yet every time I tried to use OSProcess directly I had this locking up.


Yes. This is a bit worrying; the low-level OSProcess call was a bit of a stopgap while waiting for either OSProcess or the vm to sort the underlying issue (which is more significant than just my use); that it locks up under normal use is not good and should be reported.

I allways considered GitFileTree to be a heavy hitter on OSProcess, running hundreds of external commands to load a complex project, so that if I would lock up, it wouldn't be a normal pattern of use.
 

> So I am asking polite to the pharo developers team if there are plans to
> provide a stable solution for calling external programs as described.
>
> My production system will be a windows system, so I need this for windows,
> too.
> As far as I understand, the new OSSubprocess is (currently) only for unix.

Yes, there's ProcessWrapper for Windows.

An alternative approach might be to use direct FFI calls, e.g.

MyClass class>>system:
        system: command
        "Perform OS system() call."

        ^ self ffiCall: #(int system #(char * command)) module: LibC

And then you can do MyClass system: 'cp a.pdf b.pdf'.

Although it still locks up my image from time to time… but at least order of magnite less.

Than GitFileTree or OSProcess? Still, you get lockups... which isn't good.

Thierry
 

Also if you are targeting Windows, I suggest to look at Torsten's 'OSWindows' project (available from the catalog browser).

Peter


>
> It is no problem for me to wait some time for this.
> But it would be nice to know what the plans are, to decide what to do (and
> not programming something which will be solved in future).
>
> Regards
> Sabine
>
>
>
>
> 2016-06-07 9:43 GMT+02:00 Thierry Goubier [via Smalltalk] <
> [hidden email]>:
>
> > Hi Sabine,
> >
> > which version of Pharo are you using? I had similar issues, and I managed
> > to reduce those occurrences to a reasonable level by changing the way I
> > called OSProcess (and a lot of help from Dave). I do have sometime lockups
> > with OSSubprocess as well, but those are also rare.
> >
> > (I do think this is a bug somewhere in the VM which makes it loose signals)
> >
> > The code I use is in GitFileTree: a low-level way of calling OSProcess
> > which seems good at minimizing lockups.
> >
> > Thierry
> >
> >
> >
> > 2016-06-07 9:31 GMT+02:00 Sabine Manaa <[hidden email]
> > <http:///user/SendEmail.jtp?type=node&node=4899548&i=0>>:
> >
> >> Hi,
> >>
> >> sorry but I have another issue with OSProcess.
> >>
> >> For my app, I want to show small .png previews from my .pdfs. For this
> >> reason, I use an external software, currently pdfbox. It works fine, but
> >> regularly, I get a hanging image. I tried to reproduce it and found out,
> >> that it is not a problem with pdfbox (http://pdfbox.apache.org), because
> >> from command line, I can call it often without problems. There can be
> >> (hopefully) many users in my app with many previews at one time. So I have
> >> to call it often.
> >>
> >> For reproduction of the OSProcess issue, I used another simple command
> >> (from
> >> my other OSProcess umlaut issue :-)) to test it.
> >>
> >> calling this, results in a non responding image:
> >>
> >> 20 timesRepeat: [OSProcess   command: ('cp
> >> /Library/WebServer/Documents/reports/bar.pdf
> >> /Library/WebServer/Documents/reports/test-c.pdf').].
> >>
> >> also this:
> >> 20 timesRepeat: [OSProcess   command: ('echo "Hi there"').]
> >>
> >> My original code is similar to this but here only for information:
> >> OSProcess
> >>                 command:
> >>                         ('{1} -jar {2} PDFToImage -format PNG -page 1
> >> -dpi 100 {3}'
> >>                                 format:
> >>                                         {'Library/Internet\
> >> Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java'.
> >>
> >> '/Users/sabine/Desktop/pdfbox-app-2.0.1.jar'.
> >>
> >>
> >> '/Library/WebServer/Documents/reports/201411121510-112859865-3378921/20150605_170_IFA_Berlin_Reisekostenabrechnung.pdf'}).
> >>
> >>
> >> So, my question is: is it wrong, calling OSProcess like this? How to do it
> >> instead?
> >>
> >> I am sorry to ask again and hope that there is a simple solution.
> >> Or is it a bug in OSProcess?
> >>
> >> Regards
> >> Sabine
> >>
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >> http://forum.world.st/OSProcess-command-non-responding-image-when-calling-often-tp4899540.html
> >> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > ------------------------------
> > If you reply to this email, your message will be added to the discussion
> > below:
> >
> > http://forum.world.st/OSProcess-command-non-responding-image-when-calling-often-tp4899540p4899548.html
> > To start a new topic under Pharo Smalltalk Users, email
> > [hidden email]
> > To unsubscribe from Pharo Smalltalk Users, click here
> > < > > .
> > NAML
> > <
http://forum.world.st/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
> >
>
>
>
>
> --
> View this message in context: http://forum.world.st/OSProcess-command-non-responding-image-when-calling-often-tp4899540p4899580.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.