precice / precice/python-bindings
SolverInterface with MPI.COMM_WORLD not working
Nobody has claimed this yet.
- Dominant language
- Cython
- Stars
- 30
- Forks
- 19
- PR merge metrics
- No merged PRs in 30d
Description
I just tried to run the following script:
import precice
from mpi4py import MPI
solver_interface = precice.Interface("SolverOne", "precice-config.xml", 0, 1, MPI.COMM_WORLD)
It unfortunately resulted in a segmentation fault.
Note that we actually have a test for this case:
https://github.com/precice/python-bindings/blob/8463bf1160a734f0de76fc53090f779a4a6cae5a/test/test_bindings_module.pyx#L21-L23
However, it is not actually testing what we want it to test. I assume this is due to the mocked up preCICE version that we use for testing hiding problems with MPI.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the shown SolverInterface call with mpi4py and MPI.COMM_WORLD. Then inspect test/test_bindings_module.pyx at the linked test and determine how to exercise the binding without the mocked preCICE version hiding the failure. Done means the MPI case no longer segfaults and the test detects regressions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100