<div dir="ltr"><div dir="ltr">I was hoping someone could shed some light on this.  I originally posted my issue back on Aug 30, 2018.  I am still unable to identify why I see the value 'interrupted'.  I've googled the value "interrupted" w/  Perl at nauseum with no results.<div><br></div><div>If there is anything I can provide that would assist one in helping me identify the cause I would be glad to do so.  I've tried a fresh install of smokeping and re-written my probe in an effort to eliminate any errant code I may have introduced.  My probe does indeed get, parse, and return to the basefork caller the values of the ping responses.  You can see this in the from the first set of @times output.  Then you can see that the basefork caller receives the values from my probe in the secound set of output.  I've referenced the line numbers in the <a href="http://basefork.pm">basefork.pm</a> module.  I'm using v2.6.11.  And finally, the @times value resulting from the code at line 221 and splitting $response into an array - "interrupted".  So I don't believe, on the surface, the issue is my probe not returning a result set.  But I can't put my finger on why the "interrupted" response value.  Anyone... Anyone at all with some suggestions please....  Thank you!</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">Daemonizing /usr/sbin/smokeping ...
</span><br>Mon Oct  8 13:17:22 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: Sleeping 8 seconds.
</span><br>Mon Oct  8 13:17:30 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: forks 5, timeout for each target 401
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: MIKROTIK PROBE @times ===========================>
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 9.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 1.0000000000e-02
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: BASEFORK @times value line 207 =========>
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: my @times = $self->pingone($t);
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 7.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 8.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 9.0000000000e-03
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: 1.0000000000e-02
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: BASEFORK @times value line 221 =========>
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: my @times = split(/ /, $response);
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: interrupted
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: <a href="http://8.8.8.8">8.8.8.8</a>: got interrupted
</span><br>Mon Oct  8 13:17:50 2018 - <span style="font-weight:bold;color:rgb(255,84,84)">Mikro</span><span style="color:rgb(0,0,0)">tikRouterOSPing: Sleeping 280 seconds.</span><br>
<br></span></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Aug 30, 2018 at 11:04 AM Tony DeMatteis <<a href="mailto:tonydema@gmail.com" target="_blank">tonydema@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Greetings,<div><br></div><div>I have been attempting to debug an issue with a custom probe I've written based off the TelnetIOSPing probe.  The probe returns an array of ping results to the caller, Smokeping::probes::basefork::ping, but the "$result" variable read in the caller equals "interrupted".  I have been unable to get any further with identifying why this is the case.  I'm not an active perl programmer but drawing on some older experience.  I've included what I believe to be the pertinent code and some debug output; the values of the ping @output and  the @times array both before and after the processor which formats the times to values for RRD.  Perhaps it's something obvious and I apologize for that.  Any help pointing me in the right direction would be great.  Thank you<br></div><div><br></div><div>The probe connects to a Mikrotik Router via SSH and retrieves ping stats.  Then it parses the result with the exact same code as from the TelnetIOSPing probe.</div><div><br></div><div><b># /usr/share/perl5/Smokeping/probes/<a href="http://base.pm" target="_blank">base.pm</a></b><br></div><div><b># The only modification to the <a href="http://base.pm" target="_blank">base.pm</a> code is the do_debug statements</b></div><div><br></div><div><div><div>    while ($s->handles and $timeleft > 0) {</div><div>      for my $ready ($s->can_read($timeleft)) {</div><div>        $s->remove($ready);</div><div>        my $response = <$ready>;</div><div>        close $ready;</div><div><br></div><div><b>$self->do_debug("Returned from probe");</b></div><div><b><font color="#ff0000">$self->do_debug(Dumper \$response);  <--- Result = 'interrupted'</font></b></div><div><br></div><div>        chomp $response;</div><div>        my @times = split(/ /, $response);</div><div>        my $target = $targetlookup{$ready};</div><div>        my $tree = $target->{tree};</div><div>        $self->{rtts}{$tree} = \@times;</div><div><br></div><div>        $self->do_debug("$target->{addr}: got $response");</div><div>      }</div><div>      $timeleft = $timeout - (time() - $starttime);</div><div>    }</div></div></div><div><br></div><div><b># /usr/share/perl5/Smokeping/probes/MikrotikRouterOSPing.pm</b></div><div>...</div><div>  #</div><div>  # Get ping stats</div><div>  #</div><div><div>  if ( $psource ) {</div><div>    @output = $ssh->capture("ping $dest count=$pings size=$bytes src-address=$psource");</div><div>  } else {</div><div>    @output = $ssh->capture("ping $dest count=$pings size=$bytes");</div><div>  }</div><div>  $ssh->system("quit");</div><div><br></div><div><div># DEBUG - Log raw result</div><div>logit("MikrotikRouterOSPing Raw result from host:");</div><div>logit(@output);</div></div><div><br></div><div>  my @times = ();<br></div><div><div>  while (@output) {</div><div>    my $outputline = shift @output;</div><div>    chomp($outputline);</div><div>    $outputline =~ /(\d)ms/ && push(@times,$1);</div><div>  }<br></div><div><br></div><div><div><font color="#0000ff">logit("MikrotikRouterOSPing \@times[] Pre Preprocessing.");</font></div><div><font color="#0000ff">logit(@times);</font></div></div><div><br></div><div>  @times = map {sprintf "%.10e", $_ / $self->{pingfactor}} sort {$a <=> $b} @times;<br></div><div><br></div><div><font color="#0000ff"># DEBUG - Pings Post processing</font></div><div><font color="#0000ff">logit("MikrotikRouterOSPing Pings Post Preprocessing.  Returning this to caller:");</font></div><div><font color="#0000ff">logit(@times);</font></div><div><font color="#0000ff"><br></font></div><div><font color="#0000ff">my $parent = getcaller();</font></div><div><font color="#0000ff">logit("MikrotikRouterOSPing Returning ping times to $parent");</font></div></div></div><div><br></div><div><div>  return @times;<br></div><div>}</div></div><div><br></div><div><b># Debug Logging results</b><br></div><div><br></div><div><div>MikrotikRouterOSPing Raw result from host:</div><div>-------------------[ DEBUG ]---------------------</div><div><div>$VAR1 = [</div><div>',        '  SEQ HOST                                     SIZE TTL TIME  STATUS           </div><div>',        '    0 8.8.8.8                                56 255 7ms  </div><div>',        '    1 8.8.8.8                                56 255 9ms  </div><div>',        '    2 8.8.8.8                                56 255 5ms  </div><div>',        '    3 8.8.8.8                                56 255 8ms  </div><div>',        '    4 8.8.8.8                                56 255 9ms  </div><div>',        '    5 8.8.8.8                                56 255 9ms  </div><div>',        '    6 8.8.8.8                                56 255 8ms  </div><div>',        '    7 8.8.8.8                                56 255 10ms </div><div>',        '    8 8.8.8.8                                56 255 7ms  </div><div>',        '    9 8.8.8.8                                56 255 9ms  </div><div>',        '   10 8.8.8.8                                56 255 7ms  </div><div>',        '   11 8.8.8.8                                56 255 10ms </div><div>',        '   12 8.8.8.8                                56 255 7ms  </div><div>',        '   13 8.8.8.8                                56 255 9ms  </div><div>',        '   14 8.8.8.8                                56 255 7ms  </div><div>',        '   15 8.8.8.8                                56 255 8ms  </div><div>',        '   16 8.8.8.8                                56 255 8ms  </div><div>',        '   17 8.8.8.8                                56 255 8ms  </div><div>',        '   18 8.8.8.8                                56 255 8ms  </div><div>',        '   19 8.8.8.8                                56 255 9ms  </div><div>',        '    sent=20 received=20 packet-loss=0% min-rtt=5ms avg-rtt=8ms max-rtt=10ms </div><div>'         '</div><div>        ];</div></div><div>MikrotikRouterOSPing @times[] Pre Preprocessing.</div><div>-------------------[ DEBUG ]---------------------</div><div>$VAR1 = [</div><div>          '7',</div><div>          '9',</div><div>          '5',</div><div>          '8',</div><div>          '9',</div><div>          '9',</div><div>          '8',</div><div>          '0',</div><div>          '7',</div><div>          '9',</div><div>          '7',</div><div>          '0',</div><div>          '7',</div><div>          '9',</div><div>          '7',</div><div>          '8',</div><div>          '8',</div><div>          '8',</div><div>          '8',</div><div>          '9',</div><div>          '5'</div><div>        ];</div><div>MikrotikRouterOSPing Pings Post Preprocessing.  Returning this to caller:</div><div>-------------------[ DEBUG ]---------------------</div><div>$VAR1 = [</div><div>          '0.0000000000e+00',</div><div>          '0.0000000000e+00',</div><div>          '5.0000000000e-03',</div><div>          '5.0000000000e-03',</div><div>          '7.0000000000e-03',</div><div>          '7.0000000000e-03',</div><div>          '7.0000000000e-03',</div><div>          '7.0000000000e-03',</div><div>          '7.0000000000e-03',</div><div>          '8.0000000000e-03',</div><div>          '8.0000000000e-03',</div><div>          '8.0000000000e-03',</div><div>          '8.0000000000e-03',</div><div>          '8.0000000000e-03',</div><div>          '8.0000000000e-03',</div><div>          '9.0000000000e-03',</div><div>          '9.0000000000e-03',</div><div>          '9.0000000000e-03',</div><div>          '9.0000000000e-03',</div><div>          '9.0000000000e-03',</div><div>          '9.0000000000e-03'</div><div>        ];</div><div>MikrotikRouterOSPing Returning ping times to Smokeping::probes::basefork::ping</div><div>Thu Aug 30 15:22:50 2018 - MikrotikRouterOSPing: Returned from probe<br></div><div><font color="#ff0000"><b>Thu Aug 30 15:22:50 2018 - MikrotikRouterOSPing: $VAR1 = \'interrupted</b><b>';</b></font></div><div><b><font color="#ff0000">Thu Aug 30 15:22:50 2018 - MikrotikRouterOSPing: <a href="http://8.8.8.8" target="_blank">8.8.8.8</a>: got interrupted</font></b></div><div style="font-weight:bold"><br></div></div><div><br></div></div>
</blockquote></div>