-
Notifications
You must be signed in to change notification settings - Fork 3
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
Intermittent test failure (datacube geometry hashing for dask?) #123
Comments
Click for full error log
|
Intermittent and definitely not deterministic. On different occurrences, the same error relates to a slightly different byte sequence.
I'm not sure if this could be because of some kind of thread race in what dask is doing, or if it simply means there is a memory error (like a buffer overflow or similar corruption). |
I’ve not looked at the code but proj CRS are not thread safe and you error looks very much like that problem - you can’t create CRS objects and then pass them into a Dask worker. You will need to modify the code to create the CRS object IN the thread using it. I usually pass the CRS epsg code in and then create the CRS in the code running on the worker. |
It seems this was a known symptom of
It looks like this was supposed to be mostly fixed in pyproj 3.1.0 earlier this year. ...and looks like the build was using pyproj 2.6.1. |
To address #123 wish to use pyproj 3.1.0+ (i.e. make CRS threadsafe enough for dask datacube xarray operations)
Now, how to verify a fix of an intermittent problem... I estimate the fault was previously occurring in around 10% of builds. So could probably force it to occur, by wrapping the pytest invocation in a bash for loop (say try 50 repeats), if further investigation warranted. Tentatively closing as an upstream issue; build is currently using pyproj 3.2.1. |
To address #123 wish to use pyproj 3.1.0+ (i.e. make CRS threadsafe enough for dask datacube xarray operations)
Intermittent build test failure, where
test_api.py::test_wit
elicits a UnicodeDecodeError (invalid start bytes for utf8) frompyproj
.The trace involves witprocess
cal_area
, dask core, and datacube geometry__hash__
andto_wkt
.Previously noted in #122 (comment)
The text was updated successfully, but these errors were encountered: