Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Robert Latham (robl_at_[hidden])
Date: 2006-03-14 12:33:08

In playing around with process management routines, I found another
issue. This one might very well be operator error, or something
implementation specific.

I've got two processes (a and b), linked with openmpi, but started
independently (no mpiexec).

- A starts up and calls MPI_Init
- A calls MPI_Open_port, prints out the port name to stdout, then
  calls MPI_Comm_accept and blocks.
- B takes as a command line argument the port
  name printed out by A. It calls MPI_Init and then and passes that
  port name to MPI_Comm_connect
- B gets the following error:

[] [0,0,0] ORTE_ERROR_LOG: Pack data mismatch
in file ../../../orte/dps/dps_unpack.c at line 121
[] [0,0,0] ORTE_ERROR_LOG: Pack data mismatch
in file ../../../orte/dps/dps_unpack.c at line 95
[] *** An error occurred in MPI_Comm_connect
[] *** on communicator MPI_COMM_WORLD
[] *** MPI_ERR_UNKNOWN: unknown error
[] *** MPI_ERRORS_ARE_FATAL (goodbye)
[] [0,0,0] ORTE_ERROR_LOG: Not found in file
../../../../../orte/mca/pls/base/pls_base_proxy.c at line 183

- A is still waiting for someone to connect to it.

Did I pass MPI port strings between programs the correct way, or is
MPI_Publish_name/MPI_Lookup_name the prefered way to pass around this


Rob Latham
Mathematics and Computer Science Division    A215 0178 EA2D B059 8CDF
Argonne National Labs, IL USA                B29D F333 664A 4280 315B