Open dsweber2 opened 6 years ago
This will be pretty hard to debug without a runnable test case.
What Julia version are you using? (versioninfo()
please.) If it's 0.6.0, can you upgrade to 0.6.2? (I don't see it on the downloads page, but you can get it on release-0.6
if you build julia from source.)
I'm aware, sorry about that. Trying to isolate it is difficult, as the function that is calling interpolations works fine in isolation, the problem happens inconsistently. I'm as much in need of some reason that it might be causing a ReadOnlyError() as anything else, so as to narrow down where the conflict might be occurring.
Also, I had a typo in the beginning-- switching to Linear() rather than Quadratic(Reflect()) made the crash stop.
I'm on version 0.6.1. I've also tried it on the master branch of interpolations as well, and it had the same result. I'll upgrade to 0.6.2 and see if there's still a ghost.
My lab had a bizarre ReadOnlyMemoryError (Gtk.jl-related, but only when logging in from certain machines) that disappeared when we upgraded to 0.6.2. Hope you experience the same.
I think I just hit this one too, I will see if I can get a reliable test case...
@Cody-G what packages are you using? After a package I was using dropped its dependency on ArrayFire.jl, this problem went away, so I suspect that may have been it.
I'm using a custom image registration package that does not depend on ArrayFire.jl. But I did notice that I can avoid the error by reducing the number of julia processes. When I reduced the number from 12 to 8 the error went away, strange. There's no communication between workers; each is just handling an independent image from a big pool of images. So what does that have in common with ArrayFire? I'm not sure how ArrayFire works, but maybe it runs in its own thread/process?
Interesting, ArrayFire is primarily a GPU computing resource which ArrayFire.jl calls. Reading through the documentation, it isn't clear whether they use multiple threads, though it's certainly plausible.
I'm getting some weird intermittent
ReadOnlyMemoryError
s using interpolate asinterpolate(complexVectorToInterpolate, BSpline(Quadratic(Reflect())), OnGrid())
. It doesn't happen every time, but sometimes when it happens inside a function, julia suffers a segfault. I switched tointerpolate(complexVectorToInterpolate, BSpline(Linear()), OnGrid())
, and that doesn't seem to be having the same issues. I seem to have had some success if I runinterpolate(randn(1532), BSpline(Quadratic(Reflect())), OnGrid())
immediately afterusing Interpolations
, but this is most certainly a hack I'd rather not leave in.The result from the segfault follows: