#796042 libnet-tclink-perl: send() crashes without network interfaces

Package:
libnet-tclink-perl
Source:
libnet-tclink-perl
Description:
Perl interface to the TrustCommerce payment gateway
Submitter:
Niko Tyni
Date:
2015-08-18 19:42:04 UTC
Severity:
normal
#796042#5
Date:
2015-08-18 19:22:11 UTC
From:
To:
When there are no non-lo network interfaces (or possibly
just no default route?), Net::TCLink::send() crashes.
This is easy test in a separate namespace with 'unshare -n'.

This is probably the same issue as the segfault seen on
reproducible.debian.net, which will presumably go away with -7 that
patches away the send() call in test.pl. The underlying bug remains,
though.

  (gdb) run -Iblib/lib -Iblib/arch test.pl
  Starting program: /usr/bin/perl -Iblib/lib -Iblib/arch test.pl
  [Thread debugging using libthread_db enabled]
  Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  1..2
  ok 1

  Program received signal SIGPIPE, Broken pipe.
  0x00007ffff76c8a60 in __write_nocancel () at ../sysdeps/unix/syscall-template.S:81
  81  ../sysdeps/unix/syscall-template.S: No such file or directory.
  (gdb) bt
  #0  0x00007ffff76c8a60 in __write_nocancel () at ../sysdeps/unix/syscall-template.S:81
  #1  0x00007ffff692f855 in ?? () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
  #2  0x00007ffff692d8ec in BIO_write () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
  #3  0x00007ffff6c8fa72 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
  #4  0x00007ffff6c90175 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
  #5  0x00007ffff6c91d65 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
  #6  0x00007ffff6c85ebd in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
  #7  0x00007ffff6c8b4ff in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
  #8  0x00007ffff6ed5430 in FinishConnection (c=0x7d1920, sd=3) at tclink.c:331
  #9  0x00007ffff6ed59cf in CheckConnection (c=0x7d1920, sd=0x7fffffffa120, num_sd=1) at tclink.c:423
  #10 0x00007ffff6ed60d4 in Connect (c=0x7d1920, host_hash=0) at tclink.c:600
  #11 0x00007ffff6ed6a2b in TCLinkSend (handle=0x7d1920) at tclink.c:796
  #12 0x00007ffff6ed7622 in XS_Net__TCLink_TCLinkSend (my_perl=0x7a9010, cv=0x7e02c8) at TCLink.c:207
  #13 0x00000000004b2f6b in Perl_pp_entersub (my_perl=0x7a9010) at pp_hot.c:2794
  #14 0x00000000004ab8a6 in Perl_runops_standard (my_perl=0x7a9010) at run.c:42
  #15 0x000000000043e10e in S_run_body (oldscope=1, my_perl=0x7a9010) at perl.c:2456
  #16 perl_run (my_perl=0x7a9010) at perl.c:2372
  #17 0x000000000041bebb in main (argc=4, argv=0x7fffffffeaf8, env=0x7fffffffeb20) at perlmain.c:114