-
Notifications
You must be signed in to change notification settings - Fork 189
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
Fix mpiio with stdlibc++ range checking #3234
Conversation
Codecov Report
@@ Coverage Diff @@
## python #3234 +/- ##
======================================
- Coverage 85% 85% -1%
======================================
Files 528 528
Lines 25805 25805
======================================
- Hits 22150 22149 -1
- Misses 3655 3656 +1
Continue to review full report at Codecov.
|
I tend to think that the C++ implementation used in #3230 is broken in this case. The standard states for copy_n: If an implementation for copy_n asserts: Nonetheless, this PR looks good because it is an easy workaround for the problem. |
@hirschsn, the assertion is not inside |
@mkuron I see. That makes sense. :) Wouldn't NVM, I see that's what you've done. |
Build is failing because of #3235, which is fixed by espressomd/docker#139. |
bors r=fweik |
3234: Fix mpiio with stdlibc++ range checking r=fweik a=mkuron Fixes #3230. Reported by @junghans. When mpiio was used but no bonds were present, we would still try to copy zero bonds from a zero-length vector. This triggered an assertion when stdlibc++ range checking was enabled. Please tag for cherry-picking into 4.1.1. 3236: ESS2019 installation guide updates r=KaiSzuttor a=mkuron Lessons learned today: - We require MPI 3 because we depend on const-correctness in a few places. That means that OpenMPI 1.6.5 and lower are not supported anymore. - Installing the ROCm driver breaks access to /dev/kfd, causing hwloc initialization during `mpiexec` to hang. Rebooting helps. - Add matplotlib, ipython and jupyter to the Mac install guide. - Homebrew now defaults to Python 3, requires manually enabling cython, and it's unclear whether the hdf5 package still supports MPI (Homebrew/homebrew-core#26974) - Anaconda (~/anaconda[23]) and python.org packages (/Library/Python and /usr/local/bin) are also sources of conflict Please tag for the 4.1.1 release 3238: maintainer: Escape module python in wrapper script r=jngrad a=fweik Fixes #3237. Description of changes: - Added quotes around the module path in python wrapper script. Co-authored-by: Michael Kuron <[email protected]> Co-authored-by: Michael Kuron <[email protected]> Co-authored-by: Kai Szuttor <[email protected]> Co-authored-by: Florian Weik <[email protected]>
Canceled (will resume) |
bors r- |
Canceled |
bors r=fweik |
3234: Fix mpiio with stdlibc++ range checking r=fweik a=mkuron Fixes #3230. Reported by @junghans. When mpiio was used but no bonds were present, we would still try to copy zero bonds from a zero-length vector. This triggered an assertion when stdlibc++ range checking was enabled. Please tag for cherry-picking into 4.1.1. 3236: ESS2019 installation guide updates r=KaiSzuttor a=mkuron Lessons learned today: - We require MPI 3 because we depend on const-correctness in a few places. That means that OpenMPI 1.6.5 and lower are not supported anymore. - Installing the ROCm driver breaks access to /dev/kfd, causing hwloc initialization during `mpiexec` to hang. Rebooting helps. - Add matplotlib, ipython and jupyter to the Mac install guide. - Homebrew now defaults to Python 3, requires manually enabling cython, and it's unclear whether the hdf5 package still supports MPI (Homebrew/homebrew-core#26974) - Anaconda (~/anaconda[23]) and python.org packages (/Library/Python and /usr/local/bin) are also sources of conflict Please tag for the 4.1.1 release 3238: maintainer: Escape module python in wrapper script r=jngrad a=fweik Fixes #3237. Description of changes: - Added quotes around the module path in python wrapper script. Co-authored-by: Michael Kuron <[email protected]> Co-authored-by: Michael Kuron <[email protected]> Co-authored-by: Kai Szuttor <[email protected]> Co-authored-by: Florian Weik <[email protected]>
Build succeeded |
Fixes #3230. Reported by @junghans.
When mpiio was used but no bonds were present, we would still try to copy zero bonds from a zero-length vector. This triggered an assertion when stdlibc++ range checking was enabled.
Please tag for cherry-picking into 4.1.1.