Sawyer wrote:
Hi.
I've been using PoCo::Generic for some time now. I've written my own
(small) Moose-wrapped POE component for Net::OpenSSH using
PoCo::Generic (POE::Component::OpenSSH).
Oddly enough, only recently I found a very weird behavior.
If I try to run "scp_put" on a PoCo::Generic wrapper of Net::OpenSSH,
the session stalls and hangs till infinity. Basically the DESTROY
method of the Net::OpenSSH object isn't being called, thus not exiting
the SSH session. If I run the "system" method (which is basically raw
commands like "echo hello"), it will exit just fine.
I've been debugging this for two days now and I don't think the
problem is in Net::OpenSSH.
I've also noticed that if I run a "system" method and then an
"scp_put" method, it will exit fine, as if it needs some input from
the program back (whatever the result of the "system" method was) in
order to close and with just "scp_put" it doesn't.
I've no more idea where to continue debugging this, I would appreciate
any help on this.
Run the script with $Net::OpenSSH::debug = -1 and let me see the output.
A capture at the kernel level with strace, truss or similar may also
help (note that passwords and SSH keys will be visible). Also, ensure
that child processes are also traced.
- Salva.