Skip to content
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

IOError: Unable to create file (Mpi_err_other: known error not in list) #434

Closed
imranal opened this issue Apr 24, 2014 · 10 comments
Closed

Comments

@imranal
Copy link

imranal commented Apr 24, 2014

What does this error imply and how can I fix it ?

Running the tests :

import h5py
h5py.run_tests()

I receive the following error message :

.............................................s..........................x.......................s.......................................x.......................................EE...............................................................................................sss.............................. ====================================================================== ERROR: test_mpi_atomic (h5py.tests.test_file.TestDrivers) Enable atomic mode for MPIO driver

Traceback (most recent call last):
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0b1-py2.7-linux-x86_64.egg/h5py/tests/test_file.py", line 251, in test_mpi_atomic
with File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD) as f:
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0b1-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 222, in init
fid = make_fid(name, mode, userblock_size, fapl)
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0b1-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 85, in make_fid
fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
File "h5f.pyx", line 90, in h5py.h5f.create (h5py/h5f.c:2222)
IOError: Unable to create file (Mpi_err_other: known error not in list)

======================================================================
ERROR: test_mpio (h5py.tests.test_file.TestDrivers)
MPIO driver and options


Traceback (most recent call last):
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0b1-py2.7-linux-x86_64.egg/h5py/tests/test_file.py", line 241, in test_mpio
with File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD) as f:
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0b1-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 222, in init
fid = make_fid(name, mode, userblock_size, fapl)
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0b1-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 85, in make_fid
fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
File "h5f.pyx", line 90, in h5py.h5f.create (h5py/h5f.c:2222)
IOError: Unable to create file (Mpi_err_other: known error not in list)


Ran 306 tests in 1.318s

FAILED (errors=2, skipped=5, expected failures=2)

I installed h5py with mpi :

$ export CC=mpicc
$ python setup.py build --mpi
$ python setup.py install

@imranal imranal closed this as completed Apr 24, 2014
@imranal imranal reopened this Apr 24, 2014
@andrewcollette
Copy link
Contributor

I'm not sure... there's something HDF5 doesn't like about your MPI installation.

What version of MPI are you using?

@imranal
Copy link
Author

imranal commented Apr 24, 2014

Hi Andrew.

I ran mpicc --version in terminal and got Red Hat 4.4.7-4

And for mpirun --version Open MPI 1.6.2

@imranal imranal closed this as completed Apr 24, 2014
@imranal
Copy link
Author

imranal commented Apr 24, 2014

I suspect that h5py is using the parallel disabled (default) install of HDF5 and not the parallel enabled I got through the dorsal script(s) (https://github.com/FEniCS/dorsal/blob/master/FEniCS/packages/hdf5.package). I have added the path for this install in my .bashrc file : export HDF5_DIR=/uio/home/student-u29/imranal/Work/FEniCS/

But when I run h5cc -showconfig , I see that Parallel HDF5 is set as no.

Could this be the issue ? In which case, how can I make sure that the parallel enabled install is used in the above specified folder.

@imranal imranal reopened this Apr 24, 2014
@andrewcollette
Copy link
Contributor

Yes, that could certainly be the issue. Setting HDF5_DIR won't affect h5cc as that flag is h5py-only.

@imranal
Copy link
Author

imranal commented Apr 26, 2014

According to the h5cc file :

http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.2/bin/linux/utilities/h5cc

I can modify the install path.

I did a locate on h5cc and got

/usr/bin/h5cc
/usr/bin/h5cc-64

Unfortunately I can not change the h5cc-64 file to include the correct install location, since I do not have write access to this file. How can I make sure that the parallel enabled HDF5 install is used ? (I might have forgotten to mention that I do not have root access.)

@andrewcollette
Copy link
Contributor

h5cc is not used by the h5py build system. You'll have to specify HDF5_DIR (or --hdf5=/path/to/parallel/hdf5) in order for h5py to find the correct parallel build.

@imranal
Copy link
Author

imranal commented Apr 28, 2014

I did the following (after cleaning up my python site-packages for h5py) :

$ export CC=mpicc
$ python setup.py build --mpi --hdf5=/uio/hume/student-u29/imranal/Work/FEniCS/
$ python setup.py install --prefix=/uio/hume/student-u29/imranal/Work/FEniCS/

Running the tests again resulted in the same error message :

................EE................................................................................................................sss...........................x.......................s.......................................x.................................s...............................................

ERROR: test_mpi_atomic (h5py.tests.test_file.TestDrivers)
Enable atomic mode for MPIO driver


Traceback (most recent call last):
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0-py2.7- linux-x86_64.egg/h5py/tests/test_file.py", line 251, in test_mpi_atomic
with File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD) as f:
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 222, in init
fid = make_fid(name, mode, userblock_size, fapl)
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 85, in make_fid
fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
File "h5f.pyx", line 90, in h5py.h5f.create (h5py/h5f.c:2222)
IOError: Unable to create file (Mpi_err_other: known error not in list)

======================================================================
ERROR: test_mpio (h5py.tests.test_file.TestDrivers)
MPIO driver and options


Traceback (most recent call last):
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0-py2.7-linux-x86_64.egg/h5py/tests/test_file.py", line 241, in test_mpio
with File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD) as f:
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 222, in init
fid = make_fid(name, mode, userblock_size, fapl)
File "/uio/hume/student-u29/imranal/Work/FEniCS/lib/python2.7/site-packages/h5py-2.3.0-py2.7-linux-x86_64.egg/h5py/_hl/files.py", line 85, in make_fid
fid = h5f.create(name, h5f.ACC_TRUNC, fapl=fapl, fcpl=fcpl)
File "h5f.pyx", line 90, in h5py.h5f.create (h5py/h5f.c:2222)
IOError: Unable to create file (Mpi_err_other: known error not in list)


Ran 306 tests in 0.382s

FAILED (errors=2, skipped=5, expected failures=2)

@andrewcollette
Copy link
Contributor

Now that I think about it, you must be already using a parallel build of HDF5 or you would have gotten an unresolved symbols error when compiling or loading h5py. Unfortunately I'm not sure what this error means. You could try asking on the HDF-Forum mailing list, to see if there's some incompatibility between your MPI setup and HDF5.

I'll leave this issue open for the moment in case we learn more from that.

@imranal
Copy link
Author

imranal commented Apr 28, 2014

Thanks, I will come back with an update once I find a solution.

@imranal
Copy link
Author

imranal commented May 10, 2014

I finally managed to resolve the issue. According to the openmpi user forum :

http://www.open-mpi.org/community/lists/users/2014/05/24288.php

Using MPI.File.Open(,) would cause the crash. I was using a version of openMPI which was not thread safe. I was encouraged to install openmpi 1.8.1. That fixed the issue.

@imranal imranal closed this as completed May 12, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants