Bug 2241361

Summary: octave sparse/eigs.m tests fails with arpack-3.9.0
Product: [Fedora] Fedora Reporter: Dmitri A. Sergatskov <dasergatskov>
Component: arpackAssignee: Dominik 'Rathann' Mierzejewski <dominik>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 39CC: besser82, dominik, scitech-bugs, susi.lehtola
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: arpack-3.9.1-1.fc39 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-11-03 18:41:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2244208    
Bug Blocks:    

Description Dmitri A. Sergatskov 2023-09-29 14:07:32 UTC
Description of problem:

arpack-3.9.0-1.fc39 appears to be bad. "test eigs" fails in octave, it passes with
previous (3.8) version and with a locally-build library using upstream sources.
I also noticed that headers in arpack-devel are inconsistent - some of them in arpack/  and some of them in arpack-ng/ .

Dmitri.
--

Comment 1 Dmitri A. Sergatskov 2023-09-29 14:17:46 UTC
rpm -ql arpack-devel
/usr/include/arpack
/usr/include/arpack-ng
/usr/include/arpack-ng/arpack.h
/usr/include/arpack-ng/arpack.hpp
/usr/include/arpack-ng/arpackSolver.hpp
/usr/include/arpack-ng/debug_c.h
/usr/include/arpack-ng/debug_c.hpp
/usr/include/arpack-ng/stat_c.h
/usr/include/arpack-ng/stat_c.hpp
/usr/include/arpack/arpackdef.h
/usr/include/arpack/arpackicb.h
/usr/include/arpack/debug.h
/usr/include/arpack/debugF90.h
/usr/include/arpack/stat.h
/usr/include/arpack/statF90.h
/usr/lib64/libarpack.so
/usr/lib64/libarpack64.so
/usr/lib64/pkgconfig/arpack.pc
/usr/lib64/pkgconfig/arpack64.pc
/usr/lib64/pkgconfig/arpackSolver.pc
/usr/lib64/pkgconfig/arpackSolver64.pc
/usr/lib64/pkgconfig/parpack.pc
/usr/lib64/pkgconfig/parpack64.pc

Comment 2 Dominik 'Rathann' Mierzejewski 2023-10-04 10:00:36 UTC
(In reply to Dmitri A. Sergatskov from comment #0)
> Description of problem:
> 
> arpack-3.9.0-1.fc39 appears to be bad. "test eigs" fails in octave,

I am not familiar with octave and Fedora octave builds did pass with 3.9.0:
https://koji.fedoraproject.org/koji/taskinfo?taskID=106901934

I need more details.

> it passes with previous (3.8) version and with a locally-build
> library using upstream sources.

How did you build 3.9.0 locally?

> I also noticed that headers in arpack-devel are inconsistent - some of them
> in arpack/  and some of them in arpack-ng/ .

That is how upstream installs them.

Comment 3 Dominik 'Rathann' Mierzejewski 2023-10-04 10:50:21 UTC
(In reply to Dominik 'Rathann' Mierzejewski from comment #2)
> (In reply to Dmitri A. Sergatskov from comment #0)
> > Description of problem:
> > 
> > arpack-3.9.0-1.fc39 appears to be bad. "test eigs" fails in octave,
> 
> I am not familiar with octave and Fedora octave builds did pass with 3.9.0:
> https://koji.fedoraproject.org/koji/taskinfo?taskID=106901934

In particular:
...
  libinterp/corefcn/__eigs__.cc-tst .............................. pass    1/1   
...
  sparse/eigs.m .................................................. pass  206/207 
                                                              REGRESSION   1

OK, this is different from the build with 3.8.0:
  sparse/eigs.m .................................................. pass  207/207 

Is this what you are referring to? Why does octave build not fail if tests fail?
What's the point of running the tests, then?

Comment 4 Dmitri A. Sergatskov 2023-10-04 11:39:56 UTC
> Is this what you are referring to? 

Yes. 

> Why does octave build not fail if tests fail?
> What's the point of running the tests, then?

You have to ask people who build octave for Fedora.

Dmitri.
--

Comment 5 Dominik 'Rathann' Mierzejewski 2023-10-04 14:19:40 UTC
(In reply to Dmitri A. Sergatskov from comment #4)
> > Is this what you are referring to? 
> 
> Yes. 

Ok.

> > Why does octave build not fail if tests fail?
> > What's the point of running the tests, then?
> 
> You have to ask people who build octave for Fedora.

I just did, in bug 2242128.

Thanks for the report.

Comment 6 Dominik 'Rathann' Mierzejewski 2023-10-04 14:20:59 UTC
(In reply to Dominik 'Rathann' Mierzejewski from comment #2)
> (In reply to Dmitri A. Sergatskov from comment #0)
[...]
> > it passes with previous (3.8) version and with a locally-build
> > library using upstream sources.
> 
> How did you build 3.9.0 locally?

You still haven't answered that one.

Comment 7 Dmitri A. Sergatskov 2023-10-04 14:37:34 UTC
I was wrong in the original report. I do not see the difference between upstream and the rpm. 
I do see difference between different CPUs. The bug looks 100% reproducible on amd-k6 / Fedora 39. 
I definitely saw it some time ago on i9-9880H / fedora 39 , but cannot reproduce it there any more.
I has not been able to reproduce the problem on Ryzen 9 3950X  / Centos Stream 9. 

The bug appears to be due to some numerical precision issue in identifying the type of the input matrix. 
So it may be affected by compiler chain. Perhaps the  last compiler update "fixed" the problem on i9
computer. 

Dmitri.
--

Comment 8 Dominik 'Rathann' Mierzejewski 2023-10-11 15:47:01 UTC
(In reply to Dmitri A. Sergatskov from comment #7)
> I was wrong in the original report. I do not see the difference between
> upstream and the rpm. 
> I do see difference between different CPUs. The bug looks 100% reproducible
> on amd-k6 / Fedora 39. 

Do you mean https://en.wikipedia.org/wiki/AMD_K6 ? That's 32-bit and not
supported by Fedora for years. How did you manage to run Fedora 39 on that CPU?

Comment 9 Dmitri A. Sergatskov 2023-10-11 15:50:18 UTC
Sorry:

AMD FX(tm)-8350 Eight-Core Processor

Dmitri.
--

Comment 10 Dmitri A. Sergatskov 2023-10-15 16:51:16 UTC
arpack 3.9.1 has been released:
https://github.com/opencollab/arpack-ng/releases/tag/3.9.1

It seems to fix the problem for me.
This is on affected machine:

$ LD_PRELOAD=~/src/arpack-ng-3.9.0/SRC/.libs/libarpack.so.2.1.0 octave -qf
octave:1> test eigs
***** testif HAVE_ARPACK <*57196>
 x = ones (10, 10);
 z = complex (x, x);
 A = [sparse(10,10), z; z', sparse(10,10)];
 d = eigs (A);
 assert (isreal (d));
 [~, d] = eigs (A);
 assert (isreal (d));
!!!!! regression: https://octave.org/testfailure/?57196
eigs: error -9999 in znaupd: 
PASSES 206 out of 207 tests
octave:2> 

$ LD_PRELOAD=~/src/arpack-ng-3.9.1/SRC/.libs/libarpack.so.2.1.0 octave -qf
octave:1> test eigs
PASSES 207 out of 207 tests
octave:2> 

Dmitri.
--

Comment 11 Dominik 'Rathann' Mierzejewski 2023-10-16 20:28:08 UTC
Thanks for the tip, I'll prepare an update soon.

Comment 12 Fedora Update System 2023-10-19 09:48:57 UTC
FEDORA-2023-0b45b217ca has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-0b45b217ca

Comment 13 Fedora Update System 2023-10-20 02:13:03 UTC
FEDORA-2023-0b45b217ca has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-0b45b217ca`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-0b45b217ca

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2023-11-03 18:41:48 UTC
FEDORA-2023-0b45b217ca has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.