Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

using Net::OpenSSH in a MCE worker thread

by Andy16 (Acolyte)
on Jun 28, 2013 at 09:04 UTC ( #1041192=perlquestion: print w/ replies, xml ) Need Help??
Andy16 has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I'd like to use a OpenSSH connection in a MCE worker thread.

Doing so - the worker thread just exists after the "new".

First debugging:
not giving user/pwd it stops showing the password prompt.
giving user and pwd to the new - it crashes.

Is there any hassle with signals?
Any way out of that or how to do more debugging?

thanks for help, monks! :->


$self->sendto('stdout', "child($wid): doing ssh\n"); $ssh = Net::OpenSSH->new( $device, user => $sshuser, passwd => $sshpwd, master_opts => [-o => "StrictHostKeyChecking=no"], master_stderr_discard => 1 ); $self->sendto('stdout', "child($wid): did ssh - not shown!!! \n"); +



and after some more digging: if I
use IO::Pty;
in the main prog already - everything is fine!
So there is not a signal but a coding issue in loading that lib during runtime..

Comment on using Net::OpenSSH in a MCE worker thread
Download Code
Re: using Net::OpenSSH in a MCE worker thread
by kcott (Abbot) on Jun 28, 2013 at 09:20 UTC
Re: using Net::OpenSSH in a MCE worker thread
by salva (Monsignor) on Jun 28, 2013 at 10:01 UTC
    Activate the module debugging mode...
    $Net::OpenSSH::debug = -1;
    and post here what you get.
      Hi - sorry, but
      => debug did not do any lines
      => no furhter message than "just gone" ....

      meanwhile (see above) I'm sure it is realted to an eval loading a missing pm...

      thanks!

        taken from OpenSSH.pm


        sub _load_module { my ($module, $version) = @_; $loaded_module{$module} ||= do { do { local ($@, $SIG{__DIE__}); eval "require $module; 1" } or croak "unable to load Perl module $module"; 1 }; if (defined $version) { local ($@, $SIG{__DIE__}); my $mv = eval "\$${module}::VERSION" || 0; (my $mv1 = $mv) =~ s/_\d*$//; croak "$module version $version required, $mv is available" if $mv1 < $version; } 1 }


        somewhere in here it breaks... if pm not preloaded and in MCE context.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1041192]
Approved by hdb
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (7)
As of 2014-08-30 17:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (293 votes), past polls