← Back to team overview

maria-developers team mailing list archive

Re: MTR fails on undefined {cpus} array in My/SysInfo.pm on armhf and armel

 

Hi Sergei and Vadim!

On Fri, 26 May 2023 at 03:21, Sergei Golubchik <serg@xxxxxxxxxxx> wrote:
>
> Hi, Otto,
>
> On May 25, Otto Kekäläinen wrote:
> > Hi!
> >
> > I noticed that the autopkgtests on Debian on armhf and armel that run
> > the mariadb-test-run fail on error:
> >
> > starting mysql-test-tun.pl...
> > Logging: ./mysql-test-run.pl  --force --testcase-timeout=120
> > --suite-timeout=540 --retry=3 --
> > ...
> > Collecting tests...
> > Installing system database...
> > Can't use an undefined value as an ARRAY reference at
> > lib/My/SysInfo.pm line 166.
> >
> > Logs for full context:
> > https://ci.debian.net/data/autopkgtest/unstable/armel/m/mariadb/33870767/log.gz
> > https://ci.debian.net/data/autopkgtest/unstable/armhf/m/mariadb/33870768/log.gz
..
> > 2) Why might it have now regressed in MariaDB 10.11.3 and why is this
> > erroring only on armel/armhf but not other architectures?
>
> It doesn't, this file wasn't touched for ages. Could it be an incredibly
> ancient perl there? Just a shot in the dark, I don't think it'll explain
> much.
>
> Some distro patches, perhaps?

Indeed, seems this was already failing on MariaDB 10.11.2:
2023-05-20: https://ci.debian.net/data/autopkgtest/unstable/armhf/m/mariadb/33731218/log.gz
2023-05-20 https://ci.debian.net/data/autopkgtest/unstable/armel/m/mariadb/33730848/log.gz

(I just had not gotten any messages of it regressing in May)

kernel: Linux 6.1.0-9-arm64 #1 SMP Debian 6.1.27-1 (2023-05-08)
perl 5.36.0-7
libdbi-perl armhf 1.643-4
libconfig-inifiles-perl all 3.000003-2

Last passing one:
2023-04-28 https://ci.debian.net/data/autopkgtest/unstable/armel/m/mariadb/33218554/log.gz

kernel: Linux 5.10.0-21-arm64 #1 SMP Debian 5.10.162-1 (2023-01-21)
perl 5.36.0-7
libdbi-perl armel 1.643-4
libconfig-inifiles-perl all 3.000003-2

Seems the Perl and Perl library versions are the same, but the Linux
kernel was upgraded on the Debian autopkgtest workers.

Kernel upgrade seems plausible root cause to Perl not getting the cpu
data in the same way as before.

Even if the root cause is in the kernel/Perl library, as immediate
mitigation I will try to test some way to wrap the cpus array check in
code that gracefully degrades if cpus is not found.


Follow ups

References