weech / GRIB.jl

GRIB Interface for Julia
Apache License 2.0
22 stars 2 forks source link

Thread safety #8

Open rustyconover opened 3 years ago

rustyconover commented 3 years ago

Hi,

GRIB.jl doesn't appear to be thread safe, when parsing multiple files on different threads this error is thrown:

fatal flex scanner internal error--end of buffer missed

Rusty

weech commented 3 years ago

Is there any chance you could provide a minimum working example that causes the error (in Julia)? I'm pretty sure the problem is that eccodes_jll isn't built with threading enabled. I have a recipe to fix that, but I want to make sure that fixes the error before I upload the new build recipe to Yggdrasil. I understand that threading bugs tend to be non-deterministic, so it could not be possible to write a test that catches the error.

weech commented 3 years ago

I merged the new build recipe to Yggdrasil that explicitly enables threading, so hopefully that fixes the problem.