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
test_compound_vlen_bool intermittently fails on armhf architecture #1927
Comments
armhf did pass the test and completed the build successfully the second time round (build log). |
This will be an unaligned access somewhere. The build passes on hoiby which is a genuinely 32 bit arm machine (a Marvell MV78460) and fails on arm-arm-01 which is a 64 bit CPU (an AMD Seattle) and unaligned accesses bus error when running a 32 bit binary against a 64-bit kernel. Ubuntu only has the latter sort of builders and so I have to fix it :-) |
We had some analysis of alignment issues in mpi4py. Might not help here (it affected s390x not armhf),but the discussion was at mpi4py/mpi4py#91 |
The accesses causing the immediate failure are here https://github.com/h5py/h5py/blob/master/h5py/_conv.pyx#L844-L845, testing to see if the test suite turns up any more now... |
I uploaded this patch to Ubuntu fwiw: --- a/h5py/_conv.pyx
+++ b/h5py/_conv.pyx
@@ -841,8 +841,8 @@
H5Tconvert(intype.id, outtype.id, len, data, NULL, H5P_DEFAULT)
- in_vlen[0].len = len
- in_vlen[0].ptr = data
+ memcpy(&in_vlen[0].len, &len, sizeof(size_t))
+ memcpy(&in_vlen[0].ptr, &data, sizeof(void*))
return 0
|
There is more discussion of the problem at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061063 In some cases there is guard against alignment failure, we can't reproduce the reported error on debian armhf environments. We've already applied the patch, https://salsa.debian.org/science-team/h5py/-/blob/master/debian/patches/fix-unaligned-access.patch?ref_type=heads Here we fixed it for
|
l.920 from v3.3.0 Line 999 in 6b512e5
The l.841 in the new report is Line 841 in 6b512e5
|
A recent Debian build of h5py 3.3.0 on armhf has failed test_compound_vlen_bool at build-time, giving a Python Bus error. The full build log is available here. The same test failure happened previously with h5py 3.2.1, but the build later succeeded . So the problem seems to be intermittent. Possibly can't be solved by h5py, but I'm reporting in case something can be done. I'll restart the build, we'll see if it succeeds on armhf next time. Historical build logs on armhf are listed here.
Tests pass on other architectures, see https://buildd.debian.org/status/package.php?p=h5py&suite=experimental
The text was updated successfully, but these errors were encountered: