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

Segfault when using v0.1.3 #13

Closed
jakebolewski opened this issue Aug 31, 2021 · 4 comments
Closed

Segfault when using v0.1.3 #13

jakebolewski opened this issue Aug 31, 2021 · 4 comments

Comments

@jakebolewski
Copy link

Here is a representative stack trace:
https://buildkite.com/clima/climacore-ci/builds/183#73896f51-3ec9-4099-a226-3217264ed813/96-100

Culprit looks to be a mis-sized buffer?

L > length(buff) && resize!(buff, L)
ptr = Base.unsafe_convert(Ptr{T}, buff)
StridedPointer{T,2,1,0,(1,2)}(ptr, (VectorizationBase.static_sizeof(T), RSUF), (StaticInt(0),StaticInt(0)))

This also might be resolved with the latest release that adjusted the compat bounds with VectorizationBase

@chriselrod
Copy link
Member

chriselrod commented Aug 31, 2021

The buffer looks like it is sized correctly (N * register_size() * UF).

The error says

Unreachable reached at 0x2b0f7232a192
--


signal (4): Illegal instruction

which doesn't look memory related, although memory corruption can cause unpredictable results.

Let me know if you can get an example, or if you can try with 0.1.5.
0.1.5 did not change anything related to the buffer.

@jakebolewski
Copy link
Author

jakebolewski commented Aug 31, 2021

Looks like updating / pinning to v1.5 fixed the issue, (which also had impacts with dependee package versions so it's difficult to exactly pin down what resolved it).

@chriselrod
Copy link
Member

chriselrod commented Aug 31, 2021

Hmm. Okay. Let me know if this comes up again on the latest version.

There were recent segfault issues with StrideArraysCore 0.2.0 that have since been fixed in 0.2.1, which the latest Polyester requires. However, TriangularSolve 0.1.3 requires Polyester 0.3, which is limited to StrideArraysCore 0.1.
There're have been other Polyester segfault issues, but all the known ones have been fixed in the latest from the 0.3 and 0.4 series, and they tended to involve lots of big structs in the loops, which shouldn't be the case in TriangularSolve or RecursiveFactorization.

@jakebolewski
Copy link
Author

Thanks @chriselrod, I'll keep this in mind going forward if we see this coming up again.

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

No branches or pull requests

2 participants