bugGNU Octave - Bugs: bug #44285, "test eigs" never...

 
 

bug #44285: "test eigs" never returns when built with SuiteSparse 4.4.3

Submitter:  Mike Miller <mtmiller>
Submitted:  Tue 17 Feb 2015 04:23:08 PM UTC
   
 
Category:  Libraries Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Thu 19 Feb 2015 03:37:48 AM UTC, comment #6: 

Found and fixed, this is a version compatibility thing:

http://hg.savannah.gnu.org/hgweb/octave/rev/cdcdb255c46d

In SuiteSparse 4.3 and newer, the functions cholmod_divcomplex and cholmod_hypot were changed to dispatch to SuiteSparse_divcomplex and SuiteSparse_hypot. The patch that was applied to fix bug #43063 updated how the function pointers are assigned, but the wrong (old) function pointers were still being assigned. This resulted in an infinite loop of cholmod_divcomplex calling itself.

Mike Miller <mtmiller>
Group Member
Thu 19 Feb 2015 02:15:36 AM UTC, comment #5: 

The impact seems to be that certain sparse complex matrix functions will not return when using SuiteSparse 4.4, maybe also version 4.3. Debian and Ubuntu are still on SuiteSparse 4.2.1. Fedora 21 is still on SuiteSparse 4.2.1, but Fedora 22 will have 4.3 or 4.4. Not sure about other distros or Mac packaging systems.

I would say that it's not a blocker since 4.2 is still pretty widespread, but maybe a serious regression with 4.3 and 4.4 coming along.

Mike Miller <mtmiller>
Group Member
Wed 18 Feb 2015 06:51:10 PM UTC, comment #4: 

Is this a blocker for the 4.0 release?

Rik <rik5>
Group administrator
Tue 17 Feb 2015 11:10:27 PM UTC, comment #3: 

Seems strange that our calling conventions use to work, but now don't.  That would tend to point the finger towards SuiteSparse rather than Octave.

Rik <rik5>
Group administrator
Tue 17 Feb 2015 10:57:57 PM UTC, comment #2: 

All tests in the "Complex hermitian tests" block that are marked with HAVE_UMFPACK hang. If I comment them all out, `test eigs` finishes successfully. All of them are blocked in the function cholmod_divcomplex, which never returns (Ctrl-C followed by the `finish` command to gdb shows that the function never returns).

Example top of the stack:


#0  cholmod_divcomplex (ar=-0, ai=-1, br=4, bi=0, cr=0xdde838, ci=0xdde840)
    at ../Core/cholmod_complex.c:60
#1  0x00007ffff1460a8b in umfzi_scale (n=<optimized out>, pivot=..., X=<optimized out>)
    at ../Source/umf_scale.c:78
#2  0x00007ffff1459023 in umfzi_scale_column (Numeric=Numeric@entry=0xe6ac40,
    Work=Work@entry=0x7fffffff5b40) at ../Source/umf_scale_column.c:384
#3  0x00007ffff14535a9 in umfzi_kernel (Ap=<optimized out>, Ai=<optimized out>,
    Ax=<optimized out>, Az=<optimized out>, Numeric=0xe6ac40, Work=0x7fffffff5b40,
    Symbolic=0xe54f30) at ../Source/umf_kernel.c:223
#4  0x00007ffff1463d13 in umfpack_zi_numeric (Ap=0xdde838, Ai=0xdde840, Ax=0x0, Az=0x0,
    SymbolicHandle=0xe54f30, NumericHandle=0x4010000000000000, Control=0x14,
    User_Info=0xe8a910) at ../Source/umfpack_numeric.c:289
#5  0x00007ffff5feb194 in SparseComplexLU::SparseComplexLU (this=0x7fffffff6ae0, a=...,
    piv_thres=..., scale=<optimized out>) at ../../liboctave/numeric/SparseCmplxLU.cc:128


It could be a bug in the library, or it could be something we need to call or configure differently before using the same functions that used to work.

Mike Miller <mtmiller>
Group Member
Tue 17 Feb 2015 04:42:20 PM UTC, comment #1: 

Can you run under gdb and wait for the tests to become stuck, hit Ctrl+C, and then get a backtrace?  Are we stuck in Octave code or in a library call to a function in SuiteSparse?  Maybe the latest SuiteSparse library has a bug?

The other thing I do sometimes is a binary search within the %!tests by commenting out 1/2 of the tests, running, and based on failure/success comment out 1/2 of the remaining, etc.  It converges pretty quickly.

Rik <rik5>
Group administrator
Tue 17 Feb 2015 04:23:08 PM UTC, original submission:  

When Octave is built with SuiteSparse 4.4.3, "test eigs" runs forever. Extracting all %!test lines from eigs.m and running it as a separate script finishes.

The last test to execute is (I think) this one:

http://hg.savannah.gnu.org/hgweb/octave/file/17a7e9f26e50/scripts/sparse/eigs.m#l634

(assuming `test eigs verbose` prints before it executes).

Switching back to SuiteSparse 4.2.1, the same "test eigs" runs fine.

Mike Miller <mtmiller>
Group Member

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

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 mtmiller (Submitted the item)
  •  

    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 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-02-19 mtmiller StatusNone Fixed
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code