[Rd] grid error message when resizing graphics window after tcltk loaded

Erik Iverson iverson at biostat.wisc.edu
Fri May 23 04:03:02 CEST 2008


I unfortunately am having a far more difficult time replicating this on 
my home computer.

 > sessionInfo()
R version 2.7.0 (2008-04-22)
i486-pc-linux-gnu

locale:
LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

I ran the same code loop as below after loading the tcltk package, and 
resized the resulting window dozens of times before seeing the error 
message only once.  It would often not happen at all. At work, I  will 
see the message basically every time I resize the window.

Here are the main differences I can think of off the top of my head:

1) RHEL version 4 at work, Unbuntu (8.04) at home

2) Compile my own version of R at work from source, use the Ubuntu R 
packages at home, http://cran.r-project.org/bin/linux/ubuntu/

3) Cairo support not enabled at work, it is enabled at home.

If anyone else can replicate this, that would be great.  Otherwise, I am 
going to try a few more tests tomorrow at work, and will reply with the 
results.

Best,
Erik Iverson




Erik Iverson wrote:
> Dear R-devel / Dr. Murrell  -
> 
> This is similar but ultimately unrelated (I think) to something I posted 
> about in February.  See my original post here:
> 
> https://stat.ethz.ch/pipermail/r-devel/2008-February/048278.html
> 
> I start R with the --vanilla option, and run the following code.
> 
> ## BEGIN SAMPLE R CODE
> 
> library(grid)
> for(i in seq(0, 1, by = .1)) {
>   for(j in seq(0, 1, by = .1)) {
>     angle <- runif(1, 1, 180)
>     col <- sample(colors(), 1)
>     pushViewport(viewport(x = i, y= j, width = .1, height = .1,
>                           angle = angle, gp = gpar(col = col)))
>     grid.rect()
>     popViewport()
>   }
> }
> 
> ## END SAMPLE R CODE
> 
> I can then resize the resulting R Graphics Device window and everything 
> seems to work fine.
> 
> If I then do issue 'library(tcltk)', and reissue the above code, and 
> then resize the resulting window to something fairly small, I get the 
> following error that shows up at my R prompt:
> 
> Error: Cannot pop the top-level viewport (grid and graphics output mixed?)
> 
> The error seems harmless, but eventually, after doing this "enough", and 
> closing the graphics window, R may segfault,
> 
>  *** caught segfault ***
> address 0xfc, cause 'memory not mapped'
> 
> Possible actions:
> 1: abort (with core dump, if enabled)
> 2: normal R exit
> 3: exit R without saving workspace
> 4: exit R saving workspace
> 
> I have tracked down the error message I am receiving with some very 
> rudimentary techniques, and narrowed it down to the L_unsetviewport 
> function defined in grid.c.  The error string in question appears two 
> places in that function, and I determined in my case that it is the 
> first instance that is actually outputting the error.  That's about as 
> far as I can take it unfortunately.
> 
> Again, this only seems to happen after I load the tcltk package.
> 
> I am running RHEL version 4 with KDE on a 32-bit Intel processor.
> 
> Here is my session info, immediately after starting R...
> 
> sessionInfo()
> R version 2.7.0 (2008-04-22)
> i686-pc-linux-gnu
> 
> locale:
> LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=C;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C 
> 
> 
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
> 
> 
> Thanks,
> Erik Iverson
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list