[ESS] R session starts sending commands to wrong place

Rodney Sparapani rsparapa at mcw.edu
Tue Jun 30 17:06:19 CEST 2009


Ross Boylan wrote:
> Short version: I have an ess-remote session (under openMPI) and a
> regular R session.  Sometimes, typically after a long computation
> (hours) in the ess-remote session, commands entered in the ess-remote
> session get echoed to and executed by the regular R session.  The
> ess-remote session appears hung and unresponsive during this time.
> 
> I worked around this by quitting R in the *R* window, responding yes to
> several complaints about the R process disappearing, and then typing the
> commands in the ess-remote buffer.  This time, they stayed in the
> buffer.
> 
> Aside from not starting multiple R sessions, is there a good way to
> avoid this problem?  Is it a bug?
> 
> DETAILS
> 
> 11433 pts/4    S<s    0:00 /bin/sh
> 11530 pts/4    S<+    0:54  \_ emacs
> 14250 pts/0    S<s    0:00      \_ /bin/sh -i
> 30209 pts/0    S<+    0:00      |   \_ mpirun -np 32 --hostfile hosts
> RMPIInteractive
> 30014 pts/6    S<s+   0:09      \_ /usr/lib64/R/bin/exec/R --no-readline
> 
> 30214 ?        S<s    0:00 orted --bootproxy 1 --name 0.0.1 --num_procs
> 5 --vpid_start 0 --nodename n7 --universe ross at n7:default-universe-3
> 30215 ?        S<     0:00
> \_ /bin/bash /home/ross/clean/OLTData/RMPIInteractive
> 30219 ?        S<   141:09  |   \_ /usr/lib64/R/bin/exec/R --no-save
> 
> 30219 is the only R process not at 100% CPU, characteristic of openmpi
> slaves.  So presumably that is where the commands should be going.
> strace showed only
> 30219 15:49:37 read(0,  <unfinished ...>
> 
> I wonder if the cause is some interaction between ESS and openmpi, which
> does some input and output redirecting to wire one of the spawned
> processes (almost certainly 30219) to my "terminal".  My understanding
> is that ess-remote is simply sending commands to that terminal, and
> openmpi is taking care of getting them to the master R.
> 
> In even more detail:
> 1. start emacs
> 2. open shell within emacs
> 3. execute the mpirun command within the shell.
> 4. They invoked script does
>      R --no-save $*
>    for rank 0 and 
>      R --no-save $* > rmpi.$RANK 2>&1
>    for others.
> 5. In emacs, invoke ess-remote with language r.
> 6. In my terminal
> 	options(error=recover)
>    in an effort to avoid death at the first error.
>    It does that, but R's machinery still seems to think it's
> non-interactive.
> 7.  do long computation
> 8.  type a command, most commonly save.image()
> 9. hit enter.
> 10. cursor sits blinking on the "(" in save.image()
> 11. terminal non-responsive to inputs, mostly (in particular, hitting
> enter has no effect)
> 12.  hitting ctl-g seems to cause previous enters to print out, and
> better response to keys (at least I can switch to another session).
> 
> Variations:
> Step 8 is sometimes preceded by some commands executing successfully.
> It has hung up on commands involving no obvious disk I/O, e.g., print.
> This coupled, with sys admin check that the disk is OK, suggests it's
> not a disk problem.
> 
> The workspace (.RData) is around 13MB.  It's time stamp seems to match
> when I issued the save.image() command, but that is a save from the
> regular R process in the same directory.
> 
> I am not sure about the relative timing of launching the ess-remote
> process and the regular ess process.
> 
> Debian Lenny
> ess                           5.3.8~svn3917-1
> emacs                         22.2+2-5
> openmpi-bin                   1.2.7~rc2-2
> r-base-core                   2.7.1-1+lenny1
> 

Nice bug report.  However, I have no idea :o)  Can you upgrade these
packages to the latest version and still reproduce the bug?

Rodney



More information about the ESS-help mailing list