MPI error while running inside a Docker container

213 views
Skip to first unread message

David Montiel Taboada

unread,
Aug 7, 2021, 2:55:17 PM8/7/21
to dea...@googlegroups.com, Sha Liu
Hello, 

I am running a container of PRISMS-PF (which is built upon the dealii:v9.2.0-focal image). 

Inside the container, the code compiles successfully, but when I run it, I get the following error message:

----------------------------------------------------
PRISMS-PF: Exception on processing:

--------------------------------------------------------
An error occurred in line <6909> of file
</build/deal.ii-vFp8uU/deal.ii-9.2.0/source/base/data_out_base.cc> in
function
     void dealii::DataOutInterface<dim,
spacedim>::write_vtu_in_parallel(const string&, MPI_Comm) const [with
int dim = 2; int spacedim = 2; std::string =
std::__cxx11::basic_string<char>; MPI_Comm = ompi_communicator_t*]
The violated condition was:
     ierr == MPI_SUCCESS
Additional information:
deal.II encountered an error while calling an MPI function.
The description of the error provided by MPI is "MPI_ERR_ACCESS: invalid
access mode".
The numerical value of the original error code is 20.
--------------------------------------------------------

Aborting!
----------------------------------------------------

This appears to happen if I try to run the code in serial. 

However I only have the issue on a Linux machine (I have no problem if I run on a Mac or Windows machine, for instance) which leads me to believe it may be a conflict between the Docker container and the underlying OS. 

Has anyone encountered something similar? Any idea of what may be going on?

Thank you!

David

David Montiel Taboada

unread,
Aug 7, 2021, 2:57:34 PM8/7/21
to dea...@googlegroups.com, Sha Liu
This is how I am launching the container, by the way:

$ docker run -ti -v ~/DockerWorkspace/phaseField/applications:/home/dealii/phaseField/applications prismspf/prismspf:2.2


David Montiel Taboada

unread,
Aug 7, 2021, 3:07:56 PM8/7/21
to dea...@googlegroups.com, Sha Liu
Sorry in my original email I wrote "This appears to happen if I try to run the code in serial."

I meant it happens whether I try to run the code in serial or parallel (e.g., using "./main" or "mprun -n 4 main"). It makes no difference.

Thank you,

David

Bruno Turcksin

unread,
Aug 17, 2021, 4:30:06 AM8/17/21
to deal.II User Group
David,

Have you try to create a new file and save it inside docker? What is your user name in docker? Are you root? It could be a problem with your permission.

Best,

Bruno

David Montiel Taboada

unread,
Aug 17, 2021, 9:00:22 AM8/17/21
to dea...@googlegroups.com
Hello, Bruno. 

Thank you, I will check. I assumed that was not the issue because when I compile inside docker files are created.

David


--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dealii+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/368cf5ae-ac31-4883-91f2-8ef1b794a684n%40googlegroups.com.

Bruno Turcksin

unread,
Aug 17, 2021, 10:14:54 AM8/17/21
to dea...@googlegroups.com
David,

It depends where the build files are written. Do you see the build
files on your computer or do they exist only in the Docker container,
i.e, after you've killed Docker do the files still exist somewhere on
your computer ?

Best,

Bruno

Le mar. 17 août 2021 à 09:00, David Montiel Taboada
<dmon...@umich.edu> a écrit :
> You received this message because you are subscribed to a topic in the Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/dealii/wkK_L6a3PPM/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to dealii+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/CAJdNbL-JNq-gGJo8F4TT4_YDmz_jYoDjQsqs4GF-UAX7SnzOjQ%40mail.gmail.com.

Timo Heister

unread,
Aug 20, 2021, 12:40:23 PM8/20/21
to dea...@googlegroups.com
The error appears inside write_vtu_in_parallel, which uses MPI I/O. It
might be that the type of filesystem (docker shared volume) does not
allow parallel IO or that the docker installation does not have MPI IO
enabled.

On Tue, Aug 17, 2021 at 10:15 AM Bruno Turcksin
> To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/CAGVt9eMftkKGA68eVdGbyrfsYcZ2G%2BtEZgN6jV_rE%3DM-7s8tqw%40mail.gmail.com.



--
Timo Heister
http://www.math.clemson.edu/~heister/
Reply all
Reply to author
Forward
0 new messages