-
Notifications
You must be signed in to change notification settings - Fork 6
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
Segmentation fault for inverse iteration solver #157
Comments
I ran the tests locally and the first inverse iteration unit test
|
The matrices look fine at first glance, some minor differences with machine precision zero but that should be a non-issue.
Well the fact that only those regression tests are failing for the derived eigenfunctions for that specific case I can accept, the differences you show above are quite small. What's the RMS difference between the actual and stored solutions? Should be double-checked if it's due to numerical differences, and if so we can tweak the tolerance a bit for that particular case. The failing unit test is a red flag though, those solutions are well-defined and tolerances are more than acceptable. Since it should really NOT fail that points to a deeper issue so I'll look into that. What are your -- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The Fortran compiler identification is GNU 12.2.0 I'll bump our testing suite to include |
Tests are fine with |
I was using AppleClang
but the problem persists after updating
The inverse iteration test fails due to a segmentation fault. |
Is it during the IVI process or does it crash before actually calling the solver? |
The more I look into this the more confused I get... The problematic line is nothing more than the dot product of two vectors, which are well-defined and well-allocated 1D arrays, whereas As far as I can see there are 3 possibilities here:
You can always double-check by quickly writing a dot-product routine and calling that instead of BLAS together with some sanity checks on input variables. |
It seems Apple's vecLib Framework is the issue as described here. As they suggest, adding
fixes the issue. This flag affects all complex computations though, so I am not sure if we want this as the permanent solution. Since there are no issues when installing |
Ooh this is subtle. It's really the function
This raises some concerns because I think this applies to the code base. I'll see if it is possible to configure CMake in such a way that it detects this particular combo and only then enables the flag. Making Homebrew the default way to get |
Issue description
Use of the iteration solver returns segmentation fault.
Bug report
Minimal example for reproduction:
config.par
Actual result
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Expected result
Computation of the tearing mode.
Version info
The text was updated successfully, but these errors were encountered: