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

Duncan Murdoch murdoch at stats.uwo.ca
Sun Oct 29 11:52:39 CET 2006


On 10/29/2006 1:12 AM, Jesse Albert Canchola wrote:
> 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 
> 
> Rgui.exe
> 
> pull-down menus
> 
> Edit > Gui Preferences... > buffer bytes 9999999999999
> 
> and 
> 
>> 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.

Thanks for the report.  I'll take a look and see if there's a more 
friendly way to handle this.

Generally starting with the --vanilla option is a good idea to help with 
diagnosing startup problems.  If they go away, you've got a problem in 
one of your startup files, and ?Startup tells you how to trace through 
the startup process.

Duncan Murdoch

> 
> Here's the fix.
> 
> Basically, you have to find the Rconsole file (no 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 put in 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)
>      }
>      showConfig("Rconsole")
> ##### 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)
> 
> Regards,
> Jesse A. Canchola
> 
> Biostatistician III
> Bayer Healthcare, Diagnostics Division
> Berkeley, California USA
> 
> 
> 
> 
> _______________________________________________________________________________________________
> 
> The information contained in this e-mail is for the exclusive use of the intended recipient(s) and may be confidential, proprietary, and/or legally privileged.  Inadvertent disclosure of this message does not constitute a waiver of any privilege.  If you receive this message in error, please do not directly or indirectly use, print, copy, forward, or disclose any part of this message.  Please also delete this e-mail and all copies and notify the sender.  Thank you.
> 
> For alternate languages please go to http://bayerdisclaimer.bayerweb.com
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list