From rmh at temple.edu  Fri Jul  9 21:28:45 2004
From: rmh at temple.edu (rmh@temple.edu)
Date: Fri Jul  9 21:28:53 2004
Subject: [Rd] Reproducible Rterm crash. (PR#7072)
Message-ID: <20040709192845.EC9C0FC09@slim.kubism.ku.dk>

# Your mailer is set to "none" (default on Windows),
# hence we cannot send the bug report directly from R.
# Please copy the bug report (after finishing it) to
# your favorite email program and send it to
#
#       r-bugs@r-project.org

Reproducible Rterm crash.

I drew a complicated graph, then resized the graphics window.

R reported
> Insufficient memory for resize. Killing device
and then killed the device.  It also killed itself.

Windows saved
c:\cygwin\tmp\WER3A8D.tmp.dir00\appcompat.txt
I copied it to ~/tmp/appcompat.txt
I can send it, if you ask for it.

Windows gave all sorts of information in an "Error Report Contents" popup
and then wouldn't let me copy it.

Error Signature
AppName: rterm.exe      AppVer: 1.91.30621.0   ModName:ntdll.dll
ModVer: 5.1.2600.1217   Offset: 00025a58



I copied the appended file bivnorm.s into the *R* buffer (running Rterm
under ESS 5.2.1) and hit ENTER.  The graphs eventually showed up.
They were empty shells.  When I resize the graph device, it crashed.

I repeated the exercise on Windows NT4 and the resize worked correctly.
The graph itself was still empty.  This example works correctly on S-Plus
and generates a series of wireplots of a rotated bivariate normal density.

##---------------------bivnorm.s----------------------------------------
## Bivariate Normal density in 3-D space with various viewpoints.
## Based on the function   example.draping2   in the trellis library.

example.bivariate.normal <-
  function(rho=0, layout.in=c(3,3),
           lwd.in=.1,
           col.regions.in=trellis.par.get("regions")$col)
{
  old.par <- par(lwd=lwd.in)
  on.exit(par(old.par))
  x <- seq(-2, 2, length=33)
  y <- x
  fxy <- 1/(2*pi*sqrt(1-rho^2)) *
    exp(-.5/(1-rho^2) * outer(x^2, y^2, "+") - 2*rho*outer(x,y,"*"))
  angle <- c(22.5, 67.5, 112.5, 337.5, 157.5, 292.5, 247.5, 202.5)
  Angle <- rep(angle, rep(length(fxy), 8))
  Viewing.Angle <- ordered(Angle, angle)
  wireframe(rep(fxy, 8) ~ rep(x[row(fxy)], 8) * rep(y[col(fxy)], 8) |
            Viewing.Angle,
            panel = function(x, y, subscripts, z, angle, ...)
            {
              w <- unique(angle[subscripts])
              panel.wireframe(x, y, subscripts, z,
                              screen = list(z = w, x = -60, y = 0), ...)
            },
            angle = Angle, ## this is how to pass down external element
            strip = function(...)
            strip.default(..., strip.names = T, style = "1"),
            skip = c(F, F, F, F, T, F, F, F, F),
            drape = T, layout = layout.in, distance = 0.3,
            main = paste("Bivariate Normal, rho=", rho),
            xlab = list("x", cex = 0.4),
            ylab = list("y", cex = 0.4),
            zlab = list("f(x,y)", cex = 0.4),
            col.regions=col.regions.in)
}

## example.bivariate.normal()                   # boring, with rho=0

example.bivariate.normal(.7)                 # all views on one page
### export.eps is not recommended for this example.
### The minimum lwd parameter is too thick on the graphsheet
##
### We recommend using a the postscript driver directly.
## black and white
## trellis.device(postscript, file=hh("conc/figure/bivnorm.eps"), color=F)
## strip.background0()
## example.bivariate.normal(.7,                 # all views on one page
##                          col.regions.in=rep(82:106, rep(4,25)))
## dev.off()
##
## color
## trellis.device(postscript, file=hh("conc/figure/bivnorm-color.eps"), color=T)
## strip.background0()
## example.bivariate.normal(.7)                 # all views on one page
## dev.off()


example.bivariate.normal(.7, layout=c(1,1))  # each view on its own page
## One per page, cycle through pages with Ctrl-PageUp and Ctrl-PageDown
##
## This is the plot from which the figure in the book is taken.
## We use just the Viewing.Angle=112.5 panel.
##
### We recommend using a the postscript driver directly.
## black and white
## trellis.device(postscript, onefile=F, print.it=F, color=F)
## strip.background0()
## example.bivariate.normal(.7, layout=c(1,1),  # One panel per page
##                          col.regions.in=rep(82:106, rep(4,25)))
## dev.off()
## ## manually rename ps.out.003.ps to hh("conc/figure/bivnorm1125.eps")
##
## color
## trellis.device(postscript, onefile=F, print.it=F, color=T)
## strip.background0()
## example.bivariate.normal(.7, layout=c(1,1))  # One panel per page
## dev.off()
## ## manually rename ps.out.003.ps to hh("conc/figure/bivnorm1125-color.eps")


## for (rho in seq(-.9,.9,.1))                  # one page for each rho
##   print(example.bivariate.normal(rho))

##---------------------bivnorm.s----------------------------------------

#
######################################################





--please do not edit the information below--

Version:
 platform = i386-pc-mingw32
 arch = i386
 os = mingw32
 system = i386, mingw32
 status = 
 major = 1
 minor = 9.1
 year = 2004
 month = 06
 day = 21
 language = R

Windows XP Home Edition (build 2600) Service Pack 1.0

Search Path:
 .GlobalEnv, package:methods, package:stats, package:utils, 
file:c:/HOME/rmh/hh/splus.library/HH/.RData, package:multcomp, package:mvtnorm, package:abind, 
package:graphics, package:lattice, package:grid, Autoloads, package:base


[Rd] Reproducible Rterm crash. (PR#7072)
rmh@temple.edu