Skip to content

Conversation

@msmdev
Copy link
Owner

@msmdev msmdev commented Jul 21, 2023

The unit-test test_sort_schur() partially fails (works for M1 but not for M2 to M5) for some combinations of OS, python version, and slepc/noslepc. Strangely, the pattern of this failures is not constant over CI #378 to CI #382. Thus, my first assumption is that the issue might be related to changes in numpy introduced with version 1.25.0.

@msmdev msmdev self-assigned this Jul 21, 2023
@msmdev msmdev requested a review from michalk8 July 21, 2023 12:08
@msmdev
Copy link
Owner Author

msmdev commented Jul 21, 2023

Ok, so my assumption was indeed correct: the problem occured with changes from numpy 1.24.4 to 1.25.0.
Thus, enforcing numpy<1.25.0 solved the issue.
BUT: Are we happy with this restriction or do we need to put some more research into this?

@@ -1,3 +1,3 @@
docrep>=0.3.1
numpy>=1.19.0
numpy>=1.19.0,<1.25.0
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is too restrictive; based on your comment, this is hardware related (works on my M1), would rather skip the test for certain architectures and investigate further.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is OS related I would say (not hardware related): with MacOS the test never fails but with Linux...
Or did you try it with Linux?

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(M1 to M5 are the test matrices used... nothing to do with hardware...)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, sorry, just went too quickly through this PR. Seems really like a problem with the combination numpy>=1.25.0 and ubuntu, numpy==1.24.4 on ubuntu seems to work well (based on the 3.8 job).
Would consider skipping the combination using this combination.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at the 1.25.0 release notes, it wasn't immediately obvious which change would be affecting this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only thing that looked suspicious to me when going through the numpy changelog was the change in np.r_[] and np.c_[]. We are using these in the troubled test.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is indeed strange that numpy 1.25.0 worked with python 3.9 on ubuntu one time but on the other hand pinning numpy below 1.25.0 solved the problem in all cases. So there should be a connection...

Copy link
Owner Author

@msmdev msmdev Jul 30, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Taking a closer look, I recognized that the case were 1.25.0 worked was the test using slepc, while 1.25.0 never succeeded without using slepc. But I don't see how this should affect the outcome of this test.

@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 70.31%. Comparing base (773c463) to head (f39d9fd).

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #59      +/-   ##
==========================================
+ Coverage   70.21%   70.31%   +0.10%     
==========================================
  Files           8        8              
  Lines         997      997              
  Branches      173      173              
==========================================
+ Hits          700      701       +1     
  Misses        219      219              
+ Partials       78       77       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@msmdev
Copy link
Owner Author

msmdev commented Apr 2, 2025

@michalk8, I think we have to look into this again. Obviously, it is a quite persistent issue and I would consider it relevant. Thus, we have to find a solution.
For the time being, we should really consider restricting numpy to an older version...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants