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


Reply via email to