Re: chainlint test failing on Linux sparc64
Hi Eric,
On Mon, 2024-05-20 at 12:02 +0200, John Paul Adrian Glaubitz wrote:
Show 27 quoted lines
> > which probably explains the behavior you're experiencing. To fix it,
> > we'll need to see the output you get from:
> >
> > cat /proc/cpuinfo
>
> Here you go:
>
> glaubitz@stadler:~$ cat /proc/cpuinfo
> cpu : UltraSparc T4 (Niagara4)
> fpu : UltraSparc T4 integrated FPU
> pmu : niagara4
> prom : OBP 4.38.16 2018/11/28 07:24
> type : sun4v
> ncpus probed : 48
> ncpus active : 48
> D$ parity tl1 : 0
> I$ parity tl1 : 0
> cpucaps :
> flush,stbar,swap,muldiv,v9,blkinit,n2,mul32,div32,v8plus,popc,vis,vis2,ASIBlkInit,fmaf,vis3,hpc,ima,pause,cbcond,aes,des,kasumi,camellia,md5,sha1,sha256,sha512,mpmul,montmul,montsqr,crc32c
> Cpu0ClkTck : 00000000a9beeee4
> Cpu1ClkTck : 00000000a9beeee4
> (...)
> State:
> CPU0: online
> CPU1: online
> CPU2: online
> CPU3: online
In order to verify this theory, I made the following temporary change:
diff --git a/t/chainlint.pl b/t/chainlint.pl
index 556ee91a15..63cac942ac 100755
--- a/t/chainlint.pl
+++ b/t/chainlint.pl
@@ -718,7 +718,7 @@ sub ncores {
# Windows
return $ENV{NUMBER_OF_PROCESSORS} if exists($ENV{NUMBER_OF_PROCESSORS});
# Linux / MSYS2 / Cygwin / WSL
- do { local @ARGV='/proc/cpuinfo'; return scalar(grep(/^processor[\s\d]*:/, <>)); } if -r '/proc/cpuinfo';
+ do { local @ARGV='/proc/cpuinfo'; return scalar(grep(/^processor[\s\d]*:||^CPU[\d]*:/, <>)); } if -r '/proc/cpuinfo';
# macOS & BSD
return qx/sysctl -n hw.ncpu/ if $^O =~ /(?:^darwin$|bsd)/;
return 1;
and I confirm that this fixes the problem.
Let me whip up a patch and post it here.
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913