Hi Levente, Nop, I catch also stderr, but there is nothing here.
Jannik 2015-02-25 17:40 GMT+01:00 Levente Uzonyi <[email protected]>: > Another possibility is that the program is writing to stderr instead of > stdout. > > Levente > > > On Wed, 25 Feb 2015, David T. Lewis wrote: > > Hi Jannik, >> >> One other thing I just thought of: Check and see if your rostopic program >> is actually writing to standard output, as opposed to writing directly to >> /dev/tty. From a terminal window, I think you could do this: >> >> $ rostopic > out.txt >> >> If you run this get output written to the out.txt file, that is good. If >> you run it and see output to your terminal window, it would mean that the >> rostopic program was writing directly to /dev/tty (so there would never be >> any output to read with a PipeableOSProcess). >> >> I would not worry about the missing AioPlugin. Your code should still work >> without the plugin. >> >> Dave >> >> >> Hi Dave, >>> >>> 2015-02-25 1:13 GMT+01:00 David T. Lewis <[email protected]>: >>> >>> On Tue, Feb 24, 2015 at 08:33:41PM +0100, jannik laval wrote: >>>> >>>>> Hi pharoers, >>>>> >>>>> I am playing with OSProcess. >>>>> I am using an example, and I am annoyed with a strange bug: >>>>> >>>>> Here is the code I want to execute, and does not work: >>>>> ==== >>>>> |thread process output| >>>>> myCmd := 'rostopic bw /turtle1/pose'. >>>>> thread := [process := (PipeableOSProcess command: myCmd) ] fork. >>>>> 3 second wait. >>>>> output := process upToEnd. >>>>> output inspect. >>>>> thread terminate. >>>>> === >>>>> >>>> >>>> Hi Jannik, >>>> >>>> I am not familiar with the rostopic command, but it is common for some >>>> Unix programs to flush their output when the stdout is connected to >>>> /dev/tty (a terminal), but not necessarily if connected to a pipe or >>>> to a file. So it may be that the running rostopic program is producing >>>> output, but that the output has not yet been flushed to the pipe >>>> connected >>>> to your PipeableOSProcess. >>>> >>>> >>> Thank you for your explanation. >>> So, what I can do is to send a sigint to terminate the process and >>> receive >>> the info. >>> But sending "process processProxy sigint." does nothing. >>> >>> By the way I have a warning on the AIOPlugin... Probably I should >>> reinstall >>> my VM. >>> >>> I also try "process flush", but it does not do anything. >>> >>> >>> >>> >>>> Your #upToEnd call will read the available data from the OS pipe, but it >>>> will not read data that was "written" by the rotopic program, but not >>>> yet flushed out to the OSPipe. So I am guessing that this may be why the >>>> data seems to be missing. >>>> >>>> I notice also that you are putting your PipeableOSProcess into a >>>> separate >>>> Smalltalk process using #fork. This is probably not necessary, so try >>>> getting rid of the #fork and the later thread terminate. It will not fix >>>> the problem for you, but it will simplify the code. >>>> >>>> >>> >>> Ok, it is simpler like that. You are right, it does not help :) >>> >>> Thank you for your help. >>> >>> >>> >>>> Dave >>>> >>>> >>>> >>>>> 'rostopic bw /turtle1/pose' is a command that is a loop displaying the >>>>> current bandwidth of a ROS process. In a terminal, it works fine. With >>>>> OSProcess the output value is empty. >>>>> >>>>> My source code is correct: if I replace myCmd by : >>>>> myCmd := 'ping localhost'. >>>>> >>>>> It is a loop too, and it returns a correct string. >>>>> >>>>> I have clearly no idea of where I have to search... Any help or >>>>> >>>> discussion >>>> >>>>> about that would be great :) >>>>> >>>>> Thank you, >>>>> >>>>> Oups, some infos: >>>>> I am using Ubuntu 14.04 >>>>> Pharo3.0 with Moose 5.0, latest update: #30863 >>>>> The script I use (rostopic) is a python script (does it impact ?) >>>>> >>>>> >>>>> -- >>>>> >>>>> ~~Jannik Laval~~ >>>>> ??cole des Mines de Douai >>>>> Enseignant-chercheur >>>>> http://www.jannik-laval.eu >>>>> http://www.phratch.com >>>>> http://www.approchealpes.info >>>>> http://car.mines-douai.fr/ >>>>> >>>> >>>> >>>> >>> >>> -- >>> >>> ~~Jannik Laval~~ >>> Ã?cole des Mines de Douai >>> Enseignant-chercheur >>> http://www.jannik-laval.eu >>> http://www.phratch.com >>> http://www.approchealpes.info >>> http://car.mines-douai.fr/ >>> >>> >> >> >> -- ~~Jannik Laval~~ École des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu http://www.phratch.com http://www.approchealpes.info http://car.mines-douai.fr/
