Le 24/02/2026 15:59, Xavier Humbert a écrit :
Hi,
Didn't follow the advice "If ain't broken, don't fix it" and regret
it. I upgraded Perl from 5.40 to 5.42, following the path recommended
in UPDATING:
[root@numenor ports]# portupgrade -vf -o lang/perl5.42 lang/perl5.40
[root@numenor ports]# portupgrade -vf $(pkg shlib -qR libperl.so.5.40)
Since then amavisd wont start, crashing in p5-Net-Patricia :
[root@numenor ~]# su - vscan
$ amavisd -c /usr/local/etc/amavisd.conf foreground
Caught a SIGBUS at
/usr/local/lib/perl5/site_perl/mach/5.42/Net/Patricia.pm line 255
$ = eval {...} called from file
'/usr/local/lib/perl5/site_perl/mach/5.42/Net/Patricia.pm' line 255
$ =
Net::Patricia::AF_INET6::add('Net::Patricia::AF_INET6=SCALAR(0x3e1ff3b38df8)',
'::ffff:127.0.0.0', 104, '::ffff:127.0.0.0/104') called from file
'/usr/local/lib/perl5/site_perl/mach/5.42/Net/Patricia.pm' line 85
$ =
Net::Patricia::add_string('Net::Patricia::AF_INET6=SCALAR(0x3e1ff3b38df8)',
'::ffff:127.0.0.0/104', '::ffff:127.0.0.0/104') called from file
'/usr/local/lib/perl5/site_perl/Mail/SpamAssassin/NetSet.pm' line 183
$ = eval {...} called from file
'/usr/local/lib/perl5/site_perl/Mail/SpamAssassin/NetSet.pm' line 182
$ =
Mail::SpamAssassin::NetSet::add_cidr('Mail::SpamAssassin::NetSet=HASH(0x3e1ff3b38ac8)',
'127.0.0.0/8') called from file
'/usr/local/lib/perl5/site_perl/Mail/SpamAssassin/Conf.pm' line 5551
$ =
Mail::SpamAssassin::Conf::new_netset('Mail::SpamAssassin::Conf=HASH(0x3e1ff3b10ac8)',
'trusted_networks', 1) called from file
'/usr/local/lib/perl5/site_perl/Mail/SpamAssassin/Conf.pm' line 5072
$ = Mail::SpamAssassin::Conf::new('Mail::SpamAssassin::Conf',
'Mail::SpamAssassin=HASH(0x3e1ff3b10210)') called from file
'/usr/local/lib/perl5/site_perl/Mail/SpamAssassin.pm' line 428
$ = Mail::SpamAssassin::new('Mail::SpamAssassin',
'Mail::SpamAssassin=HASH(0x3e1ff3b10210)') called from file
'/usr/local/lib/perl5/site_perl/Amavis/SpamControl/SpamAssassin.pm'
line 252
$ =
Amavis::SpamControl::SpamAssassin::new_SpamAssassin_instance('Amavis::SpamControl::SpamAssassin=HASH(0x3e1ff1ad2e40)',
1) called from file
'/usr/local/lib/perl5/site_perl/Amavis/SpamControl/SpamAssassin.pm'
line 331
$ =
Amavis::SpamControl::SpamAssassin::init_pre_fork('Amavis::SpamControl::SpamAssassin=HASH(0x3e1ff1ad2e40)')
called from file
'/usr/local/lib/perl5/site_perl/Amavis/SpamControl.pm' line 74
$ =
Amavis::SpamControl::init_pre_fork('Amavis::SpamControl=HASH(0x3e1ff19d6a68)')
called from file '/usr/local/lib/perl5/site_perl/Amavis.pm' line 1134
$ = eval {...} called from file
'/usr/local/lib/perl5/site_perl/Amavis.pm' line 1151
$ = Amavis::pre_loop_hook('Amavis=HASH(0x3e1fed099fa8)') called from
file '/usr/local/lib/perl5/site_perl/Net/Server.pm' line 57
$ = Net::Server::run('Amavis=HASH(0x3e1fed099fa8)') called from file
'/usr/local/lib/perl5/site_perl/Amavis.pm' line 7752
$ = Amavis::main() called from file '/usr/local/sbin/amavisd' line 75
Abort trap (core dumped)
The function where it crashes is :
sub add {
croak "add: wrong number of args" if (@_ < 2 || @_ > 4);
my ($self, $ip, $bits, $data) = @_;
$data = (defined $bits ? "$ip/$bits" : $ip) if (@_ < 3);
my $packed = inet_pton(AF_INET6, $ip);
croak("invalid key") unless (defined $packed);
$bits = 128 if (@_ < 4);
$self->SUPER::_add(AF_INET6, $packed, $bits, $data); <====== HERE
}
I already reinstalled Perl5.42 ans shlib dependencies, with no success.
My interfaces are properly configured for ipv6 :
lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0
mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
igb0:
flags=1008943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST,LOWER_UP>
metric 0 mtu 1500
options=4a520b9<RXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,HWSTATS,MEXTPG>
ether d0:50:99:c1:12:79
inet 192.168.100.144 netmask 0xffffff00 broadcast 192.168.100.255
inet6 fe80::d250:99ff:fec1:1279%igb0 prefixlen 64 scopeid 0x1
inet6 2a01:xxxx:xxxx:xxxx::144 prefixlen 64
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Regards,
Xavier
Hi,
I finally downgraded Perl from 5.42 to 5.40, then rebuild dependencies
portupgrade -vf $(pkg shlib -qR libperl.so.5.42)
Then amavisd starts up again normally.
# su - vscan
$ amavisd -c /usr/local/etc/amavisd.conf debug
All is OK
Still remains a mystery
Xavier
--
Xavier HUMBERT - Unix/Win/MacOSX Sysadmin/Network Engineer
https://www.amdh.fr