-
Notifications
You must be signed in to change notification settings - Fork 262
[WIN] Stochastic bug: Minc2 data may load as np.longdouble in h5py < 2.10 #665
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
Comments
Hum - but that's worrying - no? What was the conclusion about what was causing it? |
Unclear. It's totally stochastic. Reverting to old versions of numpy didn't resolve it. My best guess is something broken in the Python builds used specifically on AppVeyor. By moving to Miniconda, we test against possibly the most widely distributed build of Python for Windows. |
Well - possibly - but do you think Appveyor is installing a not-standard Python? Or is this the build from Python.org? If it's the Python.org build, then it is widely used. |
I'm not really sure. We have a thread with support, but I haven't had time to follow up lately. Hence this quick-and-dirty attempt at a fix, here. I know you're busy, too, so not trying to shove this on you, but if you have any time for tracking this down, you can take over that conversation with my blessing. Yarik and I spent a pretty fruitless week a couple months back. |
Note that this is still occasionally happening as of 2018.12.17. https://ci.appveyor.com/project/nipy/nibabel/builds/21076767/job/bh4mt7vahjwfr37l |
Since it looks like numpy is running into this too (numpy/numpy#13263), I'll leave this open. If it's a numpy problem, then this can serve as a test case. Also flagging numpy/numpy#12096 where we initially reported this. |
I guess you already tried setting the PYTHONHASHSEED to test that? |
I did not. Looks like there isn't a way to get Python to spit out the effective hash seed, so some trial and error will be necessary before we can reliably reproduce the issue. Fortunately, moving to Azure, we'll have a lot more parallel jobs we can throw at it. To maintain the thread, this was in response to #783 (comment):
|
Returning discussion here from #790: Looks like this was actually h5py/h5py#1051, fixed in h5py/h5py#1134, just released a couple days ago. I don't think it was ever at risk of producing bad data, although it did fail cache checks. Do you suppose we ought to require h5py >= 2.10? |
Good spot. Ouch. But glad to see it will likely be fixed. |
hard requirement might make backporting etc more difficult on distribution based platforms. And as always -- newer is not necessarily "less buggy". May be, because IIRC it was Windows specific, such versioned dependency should be only for windows? |
It's also specific to Python3 versions <3.6. We could update the optional package check to only check h5py versions on Windows + Python < 3.6. |
I guess the reason this showed up suddenly in #638 (June 2018) was h5py 2.8 was released in May 2018, which included h5py/h5py#926. We could strictly warn on |
These AppVeyor failures are strange and stochastic. The failures are consistent:
And I've seen them show up in Python 3.4, Python 3.4-x64, Python 3.5 and Python 3.5-x64, but in none of these cases do they consistently fail.
Example builds:
The text was updated successfully, but these errors were encountered: