1
1
openmpi/ompi
KAWASHIMA Takahiro 84b79dbf59 osc/sm: Fix a bus error on MPI_WIN_{POST,START}.
A bus error occurs in sm OSC under the following conditions.

- sparc64 or any other architectures which need strict alignment.
- `MPI_WIN_POST` or `MPI_WIN_START` is called for a window created
  by sm OSC.
- The communicator size is odd and greater than 3.

The lines 283-285 in current `ompi/mca/osc/sm/osc_sm_component.c` has
the following code.

```c
module->global_state = (ompi_osc_sm_global_state_t *) (module->segment_base);
module->node_states = (ompi_osc_sm_node_state_t *) (module->global_state + 1);
module->posts[0] = (uint64_t *) (module->node_states + comm_size);
```

The size of `ompi_osc_sm_node_state_t` is multiples of 4 but not
multiples of 8. So if `comm_size` is odd, `module->posts[0]` does
not aligned to 8. This causes a bus error when accessing
`module->posts[i][j]`.

This patch fixes the alignment of `module->posts[0]` by setting
`module->posts[0]` first.
2016-03-21 10:38:02 +02:00
..
attribute more c99 updates 2015-06-25 10:14:13 -06:00
class Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
communicator sentinel: use type uintptr_t for sentinel 2016-02-10 11:28:56 +09:00
contrib Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
datatype ddt: fix support of MPI_COMBINER_RESIZED in __ompi_datatype_create_from_args 2016-01-28 11:32:29 +09:00
debuggers core: yow; this should absolutely not be in the repo! 2015-09-15 16:15:04 -04:00
dpm ompi/dpm: retrieves OPAL_PMIX_ARCH in heterogeneous mode 2016-02-22 11:01:06 +09:00
errhandler Add pmix120 component, update the error handling functions in the PMIx API. 2015-12-28 23:15:44 +09:00
etc Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
file io: do not cast way the const modifier when this is not necessary 2015-09-09 09:18:58 +09:00
group sentinel: use type uintptr_t for sentinel 2016-02-10 11:28:56 +09:00
include fortran: add missing constants for MPI_WIN_CREATE_FLAVOR and MPI_WIN_MODEL 2016-03-14 10:19:21 +09:00
info ompi/info: silence a warning in ompi_info_set_value_enum 2015-09-28 16:42:54 +09:00
mca osc/sm: Fix a bus error on MPI_WIN_{POST,START}. 2016-03-21 10:38:02 +02:00
message Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
mpi man: fix typo in MPI_File related man pages 2016-03-11 14:16:21 +09:00
mpiext configury: remove the --enable-mpi-profiling option 2015-10-13 08:52:35 +09:00
op op: allow user operations in ompi_3buff_op_reduce 2015-10-02 10:35:21 -06:00
patterns Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
peruse more c99 updates 2015-06-25 10:14:13 -06:00
proc ompi_proc_complete_init_single: make the subroutine public 2016-02-22 11:01:06 +09:00
request Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
runtime opal/mca/memory: add a memoryc_set_alignment subroutine to the OPAL memory MCA 2016-02-24 09:50:12 +09:00
tools configury: remove the --enable-mpi-profiling option 2015-10-13 08:52:35 +09:00
win ompi/win: use type int* for MPI_WIN_DISP_UNIT, MPI_WIN_CREATE_FLAVOR and MPI_WIN_MODEL 2016-03-11 09:22:25 +09:00
Makefile.am configury: remove the --enable-mpi-profiling option 2015-10-13 08:52:35 +09:00