bugGNU Octave - Bugs: bug #58905, "Non-real pivot...

 
 

bug #58905: "Non-real pivot encountered" during make check for ichol

Submitter:  None
Submitted:  Wed 05 Aug 2020 07:08:22 PM UTC
   
 
Category:  Octave Function Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Unexpected Error or Warning
Status:  None Assigned to:  None
Originator Name:  Originator Email:  -email is unavailable-
Open/Closed:  * Closed Release:  * dev
Operating System:  * GNU/Linux Fixed Release:  None
Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Mon 07 Sep 2020 12:10:44 AM UTC, comment #5: 

I'm going to close this report for the time being.  The issue seems to be one with gcc compiling towards the Zen 2 architecture which is relatively new.  As indicated by the original reporter, a safe architecture target such as x86_64 works.  My feeling is that eventually this will be resolved by gcc.  If it isn't, then building a debug version and stepping through the code in _ichol_.cc and comparing intermediate values with a version compiled with x86_64 might discover the source of the difference.

Rik <rik5>
Group administrator
Thu 06 Aug 2020 04:11:53 PM UTC, comment #4: 

With gcc 11.0.0 20200806 (experimental) (the git source), the error still exists.

I managed to reproduce the error with Clang. I moved the tests in ichol.m to a standalone file (tst_ichol.m attached). If I use the run_octave script from the build directory for Clang, I don't get an error but if I install it system-wide and then run it, I get assertion failures in tst_ichol.m like this:


error: ASSERT errors for:  assert (norm (A2 - L * L', "fro") / norm (A2, "fro"),0.0893,1e-4)

  Location  |  Observed  |  Expected  |  Reason
     ()        0.088946      0.0893      Abs err 0.00035448 exceeds tol 0.0001 by 0.0003


With both clang and gcc, the error goes away when using "-march=x86-64" and comes back for "-march=native" or "-march=znver2". Those build flags only apply to Octave not to SuiteSparse, which is pre-built from the distro repository.

In addition to Octave, the system-wide SuiteSparse library is also used by Julia. (My Julia install is a pre-built binary, not built from source). I tried the routines here [1] but since I don't have Matlab, and Julia seems to outsource ichol to Matlab, the test of whether Julia gets the same error is inconclusive.

I'm OK with calling this bug Works For Me if I'm the only one with the error (Zen 2, SuiteSparse versions 5.7.0 to 5.8.1, OpenBLAS 0.3.7 to 0.3.10, gcc 9.0 to gcc 10.1, clang 9.0 to 10.0).

[1] http://danspielman.github.io/Laplacians.jl/v0.1/usingSolvers/index.html

(file #49640)

Anonymous
Thu 06 Aug 2020 01:26:13 PM UTC, comment #3: 

@Kai: No, my SuiteSparse and OpenBLAS installations come from the distro packages. (I'm on Manjaro Stable, and everything comes from the upstream Arch Linux repositories). The Octave make check errors for ichol were there for previous versions of SuiteSparse as well, since January 2020. Oddly, only ichol is affected. The backslash operator isn't affected, which is much more important.

I'm building the latest version of gcc today to see if using that causes the error to go away under -O3, after Dmitri, since his gcc 10.2 doesn't get the error. If that's the case, this bug can be marked Works For Me. If changing the gcc version doesn't eliminate the error, we can look further if needed.

Anonymous
Thu 06 Aug 2020 02:22:21 AM UTC, comment #2: 

@OP: Wow, your system is very up to date 😉

As those things happen with sparse matrices, did you experience those errors with SuiteSparse 5.7.2 as well?  Do you build SuiteSparse and OpenBLAS with custom settings yourself?

Kai Torben Ohlhus <siko1056>
Group Member
Wed 05 Aug 2020 09:21:56 PM UTC, comment #1: 

If anything that looks like a gcc bug. "-O3" is always a suspect.

In any case I do not see this problem on Fedora 32 with

gcc version 10.2.1 20200723 (Red Hat 10.2.1-1) (GCC)
openblas 0.3.9-3
octave hg id 652a675c0916 tip @

compiled with "-O3 -march=native -flto=4 -fno-fat-lto-objects"
flags on i7-2600K

Dmitri.
--

Dmitri A. Sergatskov <dasergatskov>
Wed 05 Aug 2020 07:08:22 PM UTC, original submission:  

Using Octave dev version (hg id 652a675c0916) on Linux, the attached errors (excerpt from fntests.log attached) are seen during "make check". From the documentation, the matrix shouldn't become complex-valued but it does.

This is with g++ 10.1.0 using these configure options:

export CC="gcc"
export CXX="g++"
export F77="gfortran"
export CFLAGS="-march=znver2 -O3 -pipe"
export CXXFLAGS="$CFLAGS"
export FFLAGS="$CFLAGS"

../configure --enable-largefile --enable-threads=posix --enable-64 --enable-openmp --enable-readline --disable-jit --disable-java --enable-docs --enable-hg-id


There are NO errors (other than known bugs) when using the g++ debug configure options:

export CC="gcc"
export CXX="g++"
export F77="gfortran"
export CFLAGS="-march=znver2 -pipe -g"
export CXXFLAGS="$CFLAGS"
export FFLAGS="$CFLAGS"

../configure --enable-largefile --enable-threads=posix --enable-64 --enable-openmp --enable-readline --disable-jit --disable-java --enable-docs --enable-hg-id


There are NO errors (other than known bugs) when using clang 10.0.0 using the following options:

export CC="clang"
export CXX="clang++"
export F77="gfortran"
export CFLAGS="-march=znver2 -O3 -pipe"
export CXXFLAGS="$CFLAGS"
export FFLAGS="$CFLAGS"

../configure --enable-largefile --enable-threads=posix --enable-64 --enable-openmp --enable-readline --disable-jit --disable-java --enable-docs --enable-hg-id


All three build version use the same library versions: SuiteSparse 5.8.1-1 and OpenBLAS 0.3.10.

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #49640:  tst_ichol.m added by None (3KiB - text/x-objcsrc)
file #49636:  fntests.log added by None (8KiB - text/x-log)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by siko1056 (Posted a comment)
  • -email is unavailable- added by dasergatskov (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-09-07 rik5 StatusNeed Info None
        Open/ClosedOpen Closed
    2020-08-06 None Attached File- Added tst_ichol.m, #49640
    2020-08-06 siko1056 StatusNone Need Info
    2020-08-05 None Attached File- Added fntests.log, #49636

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code