Closed wiedi closed 4 years ago
Dumb question: native or LX zone?
native
I ask because, AFAICT, the only differences between those two releases don't touch anything there unless you're in LX.
The only major change in TCP/IP that MIGHT affect you is the addition of flexible congestion-control algorithms, which shouldn't touch SO_REUSEADDR at all.
Is it possible for you to try this perl binary on a very-latest OmniOS bloody, or OI Hipster (and for comparison, on OmniOS r151030? I'll be VERY curious if you get the same results. I tried the one-line Perl on my own OmniOS bloody VM, but I got some weird Perl library errors. ("Base class package "Net::Server" is empty.")
Was’t there some perl 64-bit vs 32-but changes recently? (Atleast upstream)
Only perl change that comes to my mind in recent history
Installing the missing package with pkgin install p5-Net-Server
should fix the is empty
error.
I think there is also the gcc7 change between those releases.
Things are a bit busy currently, which is why I wanted to file this before I forgot about it. I'll try to find some time to look more closely at it and also test on a non-SmartOS distro.
Just tested with 20190829T000927Z and it's also broken. So it must have come in with that release.
I can reproduce this on current-ish OI. I've moved this issue over to https://www.illumos.org/issues/11849
After updating to release
joyent_20191009T235451Z
our perl services won't listen on IPv6 anymore. It works fine onjoyent_20190815T002608Z
. I have not yet tested releases inbetween.A small reproducer is:
perl -e 'use base qw(Net::Server); main->run(host => "*")'
Good output on
joyent_20190815T002608Z
:Bad output on
joyent_20191009T235451Z
:Using truss the relevant difference looks like that:
ok:
broken:
In both cases the same perl from pkgsrc is used:
As a workaround it is possible to specify a fixed address instead of "*".