Activity log for bug #1595993

Date Who What changed Old value New value Message
2016-06-24 15:19:17 Zygmunt Krynicki bug added bug
2016-06-24 15:19:17 Zygmunt Krynicki attachment added straec of "spread -list" built from upstream github.com/snapcore/spread (same as the store version) https://bugs.launchpad.net/bugs/1595993/+attachment/4689825/+files/spread.trace
2016-06-24 15:24:46 Zygmunt Krynicki description This bug is here to investigate why spread, our test suite runner and a go binary uses bind() on startup, failing as it does not use the network-bind interface. The strace log of "spread -lits" is atteched to the bug. The key parts seem to be: socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3 close(3) = 0 Hmm? ^^ Perhaps just a test if "Can I haz socket?" socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 3 setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0 bind(3, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0 futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::1 as the fd 3 socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 4 setsockopt(4, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0 bind(4, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id= futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::ffff:127.0.0.1 (aka IPv4 in IPv4 version of the ::1 above) as fd 4 close(4) = 0 close(3) = 0 Both sockets are closed here. This bug is here to investigate why spread, our test suite runner and a go binary uses bind() on startup, failing as it does not use the network-bind interface. The strace log of "spread -list" is atteched to the bug. The key parts seem to be: socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3 close(3) = 0 Hmm? ^^ Perhaps just a test if "Can I haz socket?" socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 3 setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0 bind(3, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0 futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::1 as the fd 3 socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 4 setsockopt(4, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0 bind(4, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id= futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::ffff:127.0.0.1 (aka IPv4 in IPv4 version of the ::1 above) as fd 4 close(4) = 0 close(3) = 0 Both sockets are closed here.
2016-06-24 15:24:54 Zygmunt Krynicki description This bug is here to investigate why spread, our test suite runner and a go binary uses bind() on startup, failing as it does not use the network-bind interface. The strace log of "spread -list" is atteched to the bug. The key parts seem to be: socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3 close(3) = 0 Hmm? ^^ Perhaps just a test if "Can I haz socket?" socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 3 setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0 bind(3, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0 futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::1 as the fd 3 socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 4 setsockopt(4, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0 bind(4, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id= futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::ffff:127.0.0.1 (aka IPv4 in IPv4 version of the ::1 above) as fd 4 close(4) = 0 close(3) = 0 Both sockets are closed here. This bug is here to investigate why spread, our test suite runner and a go binary uses bind() on startup, failing as it does not use the network-bind interface. The strace log of "spread -list" is attached to the bug. The key parts seem to be: socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3 close(3) = 0 Hmm? ^^ Perhaps just a test if "Can I haz socket?" socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 3 setsockopt(3, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0 bind(3, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0 futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::1 as the fd 3 socket(PF_INET6, SOCK_STREAM, IPPROTO_TCP) = 4 setsockopt(4, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0 bind(4, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id= futex(0xb58cd0, FUTEX_WAKE, 1) = 1 futex(0xb58c10, FUTEX_WAKE, 1) = 1 We have a IPv6 TCP socket bound to ::ffff:127.0.0.1 (aka IPv4 in IPv4 version of the ::1 above) as fd 4 close(4) = 0 close(3) = 0 Both sockets are closed here.
2016-06-24 15:25:29 Jamie Strandboge tags snapd-interfaces snapd-interface
2016-06-24 15:46:29 Zygmunt Krynicki summary go binary (spread) uses bind on startup, requiring network-bind go binaries use bind on startup, requiring network-bind
2016-06-24 15:48:51 Zygmunt Krynicki snappy: importance High Medium
2016-06-24 15:48:56 Zygmunt Krynicki snappy: status New Triaged
2016-08-22 13:14:16 Jamie Strandboge snappy: status Triaged Fix Released