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.
|
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.
|
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:
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.
|
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.
|
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.
|