Hi,

I have difficulties to implement mpi_win/mpi_put. What's strange is, that when a process N puts data on ROOT, ROOT gets most of the data correct, with few exceptions. Attached is a small example, which illustrates the problem and here is a short description.
  1. There is an array BP(nBP) of type DR_boundaryPoint_t = {integer, character*32,real(3),real}.
  2. MPI type MPI_DR_boundaryPoint_t match DR_boundaryPoint_t
  3. ROOT opens a window BP_win for nBP elements of type MPI_DR_boundaryPoint_t
  4. ONE puts BP(3) to root:BP(3)
ROOT receives the real fields dist and ori correctly, but the integer field bcTag is not updated, and the character field bcName is messed up.

0: bcTag=�� 0 dist=� 0.9000E+01 bcName=TEST��� A ori=� 0.6000E+01� 0.9000E+01� 0.1200E+02
1: bcTag=� 99 dist=� 0.9000E+01 bcName=TEST�������� ori=� 0.6000E+01� 0.9000E+01� 0.1200E+02

I have no idea what I am doing wrong. Any help will be highly appreciated.
Thanks in advance,
--Ted