[Rd] Crash of latticeExtra graph with Adobe Acro Pro/Reader/Windows/ during print only (display ok).

Dieter Menne dieter.menne at menne-biomed.de
Fri Mar 19 20:26:09 CET 2010


I created a report with Sweave today, that displayed perfectly on screen,
but crashed both Adobe Pro 9.3.1 and Adobe Reader 9.0 on Windows 7. Output
with Foxit Reader was flawless.

I was able to reproduce a "minimal" example, which is not really minimal but
the smallest I could get after 2 hours of wasting paper.

Required:

latticeExtra calling both 
      panel.xyplot(...) # both lines are required, no problem with only one
of them
      panel.smoother(...) #

pch = 16 (lower number were no problem)

At least 300 data points with some overlap; I did bracket it exactly, but
200 did not show the problem. I was not able to generate a runif-based
example, therefore a simplified data set from my original report is
included.

Reproduce: Run the example. sessionInfo see below. Open the created pdf with
Adobe Acrobat Pro/Reader. It displays perfectly. 

Print it to any device; I used the virtual Windows XPS printer because after
30 pages I was running out of laser printer toner.

Adobe Displays: Flattening, and hangs after 94%; must be force-restarted
after that.

When using more data points, it hangs after a lower percentage; looks like
"flattening" has to do with processing of data points, and 300 is just above
the limit.

My workaround is to use something else than pch=16, because I cannot force
customers to install Foxit.

The created pdf file can be downloaded from
http://www.menne-biomed.de/uni/crashedadobe.pdf

Dieter Menne



library(latticeExtra)

d = structure(list(y = c(1, 2, 0, 3, 2, 1, 2, 2, 1, 0, 1, 1, 1, 1,
2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 1, 0, 2, 2, 2, 2, 2, 1, 1, 2,
2, 3, 0, 2, 3, 1, 2, 2, 2, 2, 1, 0, 2, 1, 2, 4, 2, 1, 1, 0, 0,
1, 2, 2, 3, 1, 1, 2, 2, 2, 2, 1, 2, 0, 2, 0, 2, 2, 1, 1, 1, 1,
2, 1, 8, 2, 5, 3, 2, 2, 0, 1, 0, 2, 0, 2, 0, 2, 4, 2, 2, 2, 2,
2, 1, 2, 5, 1, 1, 2, 0, 1, 2, 2, 2, 2, 1, 2, 2, 0, 1, 2, 0, 2,
2, 2, 2, 1, 0, 2, 0, 1, 2, 1, 2, 2, 0, 0, 2, 2, 2, 3, 2, 2, 2,
2, 2, 1, 2, 1, 2, 2, 2, 2, 2), x = c(1, 2, 3, 13, 1, 14, 14,
4, 4, 0, 1, 1, 4, 2, 5, 3, 4, 13, 2, 5, 12, 1, 4, 0, 1, 2, 0,
2, 5, 2, 3, 3, 3, 1, 5, 4, 5, 0, 4, 2, 5, 4, 12, 3, 3, 5, 0,
3, 4, 4, 14, 5, 2, 1, 0, 0, 1, 3, 4, 2, 14, 1, 2, 2, 12, 1, 3,
4, 0, 5, 2, 5, 2, 2, 3, 5, 5, 2, 5, 13, 2, 4, 12, 2, 4, 1, 4,
0, 1, 0, 1, 0, 4, 5, 4, 5, 2, 2, 13, 3, 4, 13, 1, 12, 3, 1, 0,
2, 5, 3, 14, 4, 2, 2, 0, 0, 4, 0, 2, 12, 13, 3, 2, 1, 4, 2, 3,
1, 1, 3, 3, 0, 0, 3, 5, 3, 13, 3, 13, 3, 13, 3, 1, 1, 4, 2, 1,
4, 12, 5)), .Names = c("y", "x"),
row.names = c(NA, -150L), class = "data.frame")

pdf("crashedadobe.pdf")
p2 = xyplot(y~x,data=d,
    pch=16, # required, no problem with pch=1,2,8
    panel = function(...) {
      panel.xyplot(...) # both lines are required
      panel.smoother(...) #
    },
  )
print(p2)
dev.off()


#R version 2.10.1 (2009-12-14) 
#i386-pc-mingw32 
#
#locale:
#[1] LC_COLLATE=German_Germany.1252  LC_CTYPE=German_Germany.1252   
#[3] LC_MONETARY=German_Germany.1252 LC_NUMERIC=C                   
#[5] LC_TIME=German_Germany.1252    
#
#attached base packages:
#[1] stats     graphics  grDevices datasets  utils     methods   base     
#
#loaded via a namespace (and not attached):
#[1] tools_2.10.1
#



More information about the R-devel mailing list