I've found some other reports that resemble this, but none seem to have a clear
indication of the source of the hangup. This post raises a non-critical issue, 
but
it would be nice to understand the problem and possibly fix it, or else have an
error message generated. As Duncan has posted in one of the items, rgl.snapshot 
is
recommended, and it worked for me, but I originally wanted a pdf so tried 
rgl.postscript
before I saw his comment that the latter may give problems. Indeed, users may 
not
realize that the message in the documentation

   "This function is a wrapper for the GL2PS library by Christophe Geuzaine,
    and has the same limitations as that library: not all OpenGL features are
    supported, and some are only supported in some formats. See the reference 
for
    full details."

can imply a "hang" rather than a failure that leaves R (or RStudio) running. Or 
indeed
crashes them, which it may do in other systems. I used the Linux "kill" command 
after
using "ps ax" to find which processes were running R or RStudio.

The relevant previous posts are

https://stackoverflow.com/questions/23242846/exporting-rgl-snapshot-and-rgl-postscript-fails

https://support.rstudio.com/hc/en-us/community/posts/200669327-rgl-postscript-hangs

http://r.789695.n4.nabble.com/rgl-postscript-failure-when-saving-a-scene-td4177241.html

My code that hangs is as follows with the rgl.snapshot line commented and the 
rgl.postscript
one uncommented. The script displays an image box with the correct graph, and 
seems to output
a partial preamble to the eps file before hanging. This occurs in either R or 
RStudio.

Unless someone has a true solution, I suggest offline communications until we 
have an
understanding of the problem. I'm posting mainly to try to put a box around the 
issue to
help others avoid it.

Best,

JN

---------------
# candlestick function
# J C Nash 2011-2-3
cstick.f<-function(x,alpha=100){
  x<-as.vector(x)
  r2<-crossprod(x)
  f<-as.double(r2+alpha/r2)
  return(f)
}
x <- (-100:100)/5
y <- x
library(rgl)

z <- matrix(NA, length(x), length(y))
for (i in seq_along(x)) {
    for (j in seq_along(y)) {
        z[i,j] <- cstick.f(c(x[i],y[j]))
        if (is.infinite(z[i,j])) {z[i,j] <- 1000}
    }
}
persp3d(x, y, z, col='red')
par3d( windowRect=c( 0,0,500,500 ) )
# rgl.postscript("candlestick3d.eps","eps")
rgl.snapshot("candlestick3d.png","png")
rgl.pop()
----------------

System had following setup

 sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Linux Mint 19.1

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/libopenblasp-r0.2.20.so

locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C               LC_TIME=en_CA.UTF-8  
      LC_COLLATE=en_CA.UTF-8
LC_MONETARY=en_CA.UTF-8
 [6] LC_MESSAGES=en_CA.UTF-8    LC_PAPER=en_CA.UTF-8       LC_NAME=C            
      LC_ADDRESS=C
LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C

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

other attached packages:
[1] rgl_0.99.16

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0              digest_0.6.18           later_0.8.0             
mime_0.6                R6_2.4.0
     jsonlite_1.6
 [7] xtable_1.8-3            magrittr_1.5            evaluate_0.13           
miniUI_0.1.1.1          promises_1.0.1
     rmarkdown_1.11
[13] webshot_0.5.1           tools_3.5.2             manipulateWidget_0.10.0 
htmlwidgets_1.3         crosstalk_1.0.0
     shiny_1.2.0
[19] httpuv_1.4.5.1          xfun_0.5                yaml_2.2.0              
compiler_3.5.2          htmltools_0.3.6
     knitr_1.21
>

I got the same behaviour on another machine running Linux Mint 18.3.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.

Reply via email to