I'm having trouble with running R under "poe" on an iDataPlex (NCAR's
yellowstone). The purpose of running this way is to enable an interactive
master instance of R that uses mpi_spawn to launch slaves, in Rmpi. In this
environment it seems I must use PE_MPI and POE.

The problem is, it seems poe catches even warning messages from R (e.g., a
simple syntax error), and the entire environment crashes out. This happens
in base R, it's not an issue of parallel resources. This is very
inconvenient for EDA, when a typo causes hard exit.

My launch looks like:

bsub -Is -q xxx -n 4 -W 1:00 -P yyy tcsh

and then

poe R --no-save -procs 4 -world_sizes 1

It runs, and is fully functional. But, I don't have to do anything exotic
to get a hard error:

> m
m
Error: object 'm' not found
Execution halted


...and that's it. My interpretation is POE catches the error and doesn't
know how to handle it.

If anyone has any ideas ... I see two directions for solutions:
1) avoid POE, which means get an interactive master set up with a slave
pool up without spawn(), which means launching them at startup. I've tried;
it doesn't seem to be possible to both launch jobs on all PEs and have
(just) one remain interactive.
2) figure out how to get poe to not trap R's own errors. Maybe this isn't
an HPC specific problem, if the issue is getting R to not throw its errors
outside its environment. Not sure how to proceed with that either.

If a specific question will help: why does this error get outside of R, and
why is this normally OK?

     chrs,
       --jim

	[[alternative HTML version deleted]]

