[R] Rgui.exe fix for "console not found" buffer overflow problem

From: Jesse A. Canchola <jcanch_at_gmail.com>
Date: Sun 29 Oct 2006 - 15:33:30 GMT

I'm using R on Windows XP Professional SP2.

I figured out the fix for my buffer overflow problem that did not allow me to use Rgui.exe for about two weeks. I would keep getting "console not found" and even when I uninstalled and re-installed got the same problem.

Here's how the problem started. In Rgui.exe, I attempted to get more visible output in the buffer (I wanted to be able to scroll up the to the top and see the variable names, etc.), so I put the max of all 9's in the


pull-down menus

Edit > Gui Preferences... > buffer bytes 9999999999999


> lines 9999999999999999999

not realizing this would effectively break the Rgui.exe and no matter what you did to clean R out of your machine and re-install it, you would get the same thing (with both v2.3.1 and v2.4.0). After a couple of weeks of using Rterm.exe and meeting deadlines, I finally had time to wade through the vague references online regarding where the problem might be.

Here's the fix.

Basically, you have to find the Rconsole file (no file extension) outside of

the R installation directories. The installation directories will have at least two copies but those will not be chosen first by the R environment. What this means is that even if you delete every trace of the installation, the Rconsole will linger unbenownst to you ready to strike when you re-install. I found the errant copy in my "My Documents" folder on my desktop. The way I did it was to copy and paste the following (in its

entirety) in the Rterm.exe window (found at the bottom of ?Rconsole help file within Rterm.exe):

#### BEGIN R CODE ####
 ruser <- Sys.getenv("R_USER")

     cat("\n\nLocation for personal configuration files is\n   R_USER = ",
         ruser, "\n\n", sep="")
     ## see if there are personal configuration files
     sapply(c("Rconsole", "Rdevga"), function(x) 
file.exists(file.path(ruser, x)))
     ## show the configuration files used
     showConfig <- function(file)
         ruser <- Sys.getenv("R_USER")
         path <- file.path(ruser, file)
         if(!file.exists(path)) path <- file.path(R.home(), "etc", file)
         file.show(path, header=path)

##### END CODE #### This will bring up the Rconsole file wherever it exists. Simply open up the file (if not already open) in the free within-Windows Wordpad.exe (Start > Run > Open Wordpad.exe) and change the values back to some smaller number. For me I changed the problematic "bufbytes" and "buflines" below:

### BEGIN Rconsole Code Portion ###
 # memory limits for the console scrolling buffer, in bytes and lines bufbytes = 9999999999999

buflines = 9999999999999999999


to something small like

### BEGIN Rconsole Code Portion ###
 # memory limits for the console scrolling buffer, in bytes and lines bufbytes = 25000
buflines = 50000

And voila! my Rgui.exe worked like a charm. It was fun using the Rterm.exe while it lasted -- forces you to learn code you usually take for granted in the windows environment. ;O)

Jesse A. Canchola

Biostatistician III
Bayer Healthcare, Diagnostics Division
Berkeley, California USA
e-mail: Jesse.Canchola.b@Bayer.Com

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Received on Mon Oct 30 02:51:23 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sun 29 Oct 2006 - 16:30:12 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.