Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New test suite failure (in linear-algebra/logm.m?) in 8.4.0 prereleases #256

Closed
apjanke opened this issue Feb 5, 2024 · 2 comments
Closed
Assignees
Labels
bug Something isn't working upstream Problem originates with or depends on something in an upstream package (like Octave itself, or Qt)
Milestone

Comments

@apjanke
Copy link
Contributor

apjanke commented Feb 5, 2024

Hmm. Got a new test failure when testing the 8.4.0 builds, starting with beta1 I think. I think the new failed test is in linear-algebra/logm.m. Maybe only on Apple Silicon and not Intel.

Symptoms

Normally I see 2 test failures in __run_test_suite__, but in the 8.4.0 beta1 I built on scone, I ran it today and got 3 failures.

I see this one in the scrollback in the command window. Dunno if it's the new one. I'm guessing it is, because it's the only one that says "regression", and I don't remember seeing that recently?

  linear-algebra/logm.m .......................................... pass   11/12
                                                              REGRESSION   1

In fntests.log, I see:

janke@scone:~ $ grep -n '!!!!!' fntests.log | grep -v 'known bug'
3:# !!!!!  test had an unexpected result
119737:!!!!! test failed
119762:!!!!! warning failed.
119775:!!!!! test failed
120557:!!!!! regression: https://octave.org/testfailure/?60738
janke@scone:~ $
>>>>> processing /Applications/Octave-8.4.0_beta1.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/etc/tests/libinterp/corefcn/filter.cc-tst
***** test
 r = sqrt (1/2) * (1+i);
 a = a*r;
 b = b*r;
 assert (filter (b, [1], x   ), r*[1 1 0 0 0 0 0 0 0 0]   );
 assert (filter (b, [1], r*x ), r*r*[1 1 0 0 0 0 0 0 0 0] );
 assert (filter (b, [1], x.' ), r*[1 1 0 0 0 0 0 0 0 0].' );
 assert (filter (b, a,   x   ),   [1 0 0 0 0 0 0 0 0 0]   );
 assert (filter (b, a,   r*x ), r*[1 0 0 0 0 0 0 0 0 0]   );
!!!!! test failed
ASSERT errors for:  assert (filter (b, a, x),[1, 0, 0, 0, 0, 0, 0, 0, 0, 0])

  Location  |  Observed  |  Expected  |  Reason
     ()           O            E         complex != real
shared variables     a =
       1   1
    b =
       1   1
    x =
       1   0   0   0   0   0   0   0   0   0
    r = [](0x0)
[...]
>>>>> processing /Applications/Octave-8.4.0_beta1.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/etc/tests/libinterp/corefcn/inv.cc-tst
***** warning <rcond = > assert (inv (Inf (2,2)), NaN (2,2))
!!!!! warning failed.
Expected warning <rcond = >, but got error <ASSERT errors for:  assert (inv (Inf (2, 2)),NaN (2, 2))

  Location  |  Observed  |  Expected  |  Reason
   (1,1)         Inf          NaN        'NaN' mismatch
   (2,1)         Inf          NaN        'NaN' mismatch
   (1,2)         Inf          NaN        'NaN' mismatch
   (2,2)         Inf          NaN        'NaN' mismatch>

***** test
 [xinv, rcond] = inv (Inf (2,2));
 assert (xinv, NaN (2,2));
 assert (rcond, NaN);
!!!!! test failed
ASSERT errors for:  assert (xinv,NaN (2, 2))

  Location  |  Observed  |  Expected  |  Reason
   (1,1)         Inf          NaN        'NaN' mismatch
   (2,1)         Inf          NaN        'NaN' mismatch
   (1,2)         Inf          NaN        'NaN' mismatch
   (2,2)         Inf          NaN        'NaN' mismatch
[...]
>>>>> processing /Applications/Octave-8.4.0_beta1.app/Contents/Resources/usr/Cellar/octave-octapp@8.4.0/8.4.0/share/octave/8.4.0/m/linear-algebra/logm.m
***** test <*60738>
 A = [0.2510, 1.2808, -1.2252; ...
      0.2015, 1.0766, 0.5630; ...
      -1.9769, -1.0922, -0.5831];
 if (__have_feature__ ("LLVM_LIBCXX"))
   ## The math libraries in libc++ seem to require larger tolerances
   tol = 60*eps;
 else
   tol = 40*eps;
 endif
 warning ("off", "Octave:logm:non-principal", "local");
 assert (expm (logm (A)), A, tol);
!!!!! regression: https://octave.org/testfailure/?60738
ASSERT errors for:  assert (expm (logm (A)),A,tol)

  Location  |  Observed  |  Expected  |  Reason
   (1,2)     1.2808+1.5543e-15i    1.2808      Abs err 1.3413e-14 exceeds tol 1.3323e-14 by 9e-17
[...]

Happens repeatably whenever I run the test suite.

UPDATE: Might only be on AS. I freshened my build on Intel Mac angharad, ran the tests, and got only two failures, both in tests/libinterp/corefcn/inv.cc-tst.

image

Diagnosis Summary

References

@apjanke apjanke changed the title New regression failure in test suite in 8.4.0 prereleases New test suite failure (in linear-algebra/logm.m?) in 8.4.0 prereleases Feb 5, 2024
@apjanke apjanke self-assigned this Feb 5, 2024
@apjanke apjanke added bug Something isn't working upstream Problem originates with or depends on something in an upstream package (like Octave itself, or Qt) labels Feb 5, 2024
@apjanke apjanke added this to the 8.4.0 milestone Feb 5, 2024
@apjanke
Copy link
Contributor Author

apjanke commented Apr 9, 2024

I'm seeing this test failure in non-Octave.app octaves in both my own testing and some online reports by other users. So I don't think this is Octave.app-specific. Lowering this to Low priority, and making it non-blocking for the 8.4.0 release.

@apjanke
Copy link
Contributor Author

apjanke commented May 6, 2024

Saw from a couple other vanilla Octave users that they're encountering this too. Don't think it's Octave.app-specific. Closing this issue as not octapp-specific.

@apjanke apjanke closed this as completed May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working upstream Problem originates with or depends on something in an upstream package (like Octave itself, or Qt)
Projects
Archived in project
Development

No branches or pull requests

1 participant