summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJordan Henderson <jhenderson@hdfgroup.org>2019-01-08 17:32:42 (GMT)
committerJordan Henderson <jhenderson@hdfgroup.org>2019-01-08 17:32:42 (GMT)
commit206da2919d0cec82b1f76637fdda94415f11ab6c (patch)
tree31820819a4b48ad27d32092364c6d380d6d2163f /src
parent9b6fe52bcf095a2cd6bc35e79bd1e5e341a0e707 (diff)
parent805b64685371982e9c7fd693497865197990cbd6 (diff)
downloadhdf5-206da2919d0cec82b1f76637fdda94415f11ab6c.zip
hdf5-206da2919d0cec82b1f76637fdda94415f11ab6c.tar.gz
hdf5-206da2919d0cec82b1f76637fdda94415f11ab6c.tar.bz2
Merge pull request #1452 in HDFFV/hdf5 from ~JHENDERSON/hdf5:develop to develop
* commit '805b64685371982e9c7fd693497865197990cbd6': Fix for parallel filters tests with new read-proc0-broadcast feature
Diffstat (limited to 'src')
-rw-r--r--src/H5Dio.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/H5Dio.c b/src/H5Dio.c
index 6062dff..607bfcf 100644
--- a/src/H5Dio.c
+++ b/src/H5Dio.c
@@ -1143,15 +1143,19 @@ H5D__ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset,
hbool_t local_error_message_previously_written = FALSE;
hbool_t global_error_message_previously_written = FALSE;
size_t index;
- char local_no_collective_cause_string[256] = "";
- char global_no_collective_cause_string[256] = "";
+ size_t cause_strings_len;
+ char local_no_collective_cause_string[512] = "";
+ char global_no_collective_cause_string[512] = "";
const char *cause_strings[] = { "independent I/O was requested",
"datatype conversions were required",
"data transforms needed to be applied",
"optimized MPI types flag wasn't set",
"one of the dataspaces was neither simple nor scalar",
"dataset was not contiguous or chunked",
- "parallel writes to filtered datasets are disabled" };
+ "parallel writes to filtered datasets are disabled",
+ "an error occurred while checking if collective I/O was possible" };
+
+ cause_strings_len = sizeof(cause_strings) / sizeof(cause_strings[0]);
if(H5CX_get_mpio_local_no_coll_cause(&local_no_collective_cause) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTGET, FAIL, "unable to get local no collective cause value")
@@ -1160,7 +1164,7 @@ H5D__ioinfo_adjust(H5D_io_info_t *io_info, const H5D_t *dset,
/* Append each of the "reason for breaking collective I/O" error messages to the
* local and global no collective cause strings */
- for (cause = 1, index = 0; cause < H5D_MPIO_NO_COLLECTIVE_MAX_CAUSE; cause <<= 1, index++) {
+ for (cause = 1, index = 0; (cause < H5D_MPIO_NO_COLLECTIVE_MAX_CAUSE) && (index < cause_strings_len); cause <<= 1, index++) {
size_t cause_strlen = HDstrlen(cause_strings[index]);
if (cause & local_no_collective_cause) {