Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dsdp-tcf-dev] RE: Processes.start can NOT run "/bin/ls" on remote machine

I just find out this might a bug in Processes.start command, not correctly passing correct argv[0] to execve().
https://bugs.eclipse.org/bugs/show_bug.cgi?id=313719 

Best Regards,
Lianhao Lu

Lu, Lianhao wrote onĀ 2010-05-20:

> Hi guys,
> 
> I'm a newbie to TCF and playing with the TCF reference agent and
> reference client on Ubuntu Linux 10.04 x86_64. I just found that when
> I use Processes.start to run "/bin/ls" on the remote machine, I can
> NOT get the "ls" output through the output stream.
> 
> Here is what I did: 1. run the reference agent and client on the same
> machine. 2. in the client, input the following command: connect
> TCP:127.0.0.1:1534 tcf Streams subscribe "Processes" tcf Processes start
> "/home/xxx" "/bin/ls" [] [] false tcf Streams read "VS##" 1000
> 
> The Streams.read command did succeed, but read back nothing at all. If
> I Processes.start other applications, like helloworld or gcc, then I
> could get the standard output back through the Streams.read command.
> 
> I traced the agent and found my agent used pseudo-terminal interface
> to redirect the standard output of "ls" process. It turned out that in
> the "ls" case, the "AsyncReqRead" request failed in read() system call to read back the "ls"
> output, the errno was 5(EIO). But in other cases, it succeeded.
> 
> I'm wondering if there is something special with "/bin/ls" compared to
> the helloworld or gcc. Has anyone met the same problem with me? Thanks!
> 
> Best Regards,
> -Lianhao Lu




Back to the top