[R-pkg-devel] Mysterious "invalid z limit"

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Sun Jan 8 11:04:44 CET 2023


On 07/01/2023 8:43 p.m., Kevin R. Coombes wrote:
> Hi,
> 
> I am in the middle of developing a new package, which contains a
> markdown-knitr-html vignette. When I try to run
> 
> R CMD build [mypackagedirectory]
> 
> I get an error message
> 
> Quitting from lines 330-336
> Error: processing vignette  failed with diagnostics:
> invalid z limits
> 
> If I run the same markdown script interactively inside R Studio, there
> is no error.
> If I knit the markdown script inside R Studio, it produces the correct
> HTML output, with no error.
> 
> The offending lines of code (the chunk at 330-336) invoke an "image"
> method on an object of a class defined in the package, which in turn
> computes a matrix from items inside the object and calls image.default,
> which is presumably where the error is coming from.
> 
> Two questions: (1) How is it possible that the same code works error
> free in the RStudio contexts, but fails in the attempt to build the package?
> (2) Any suggestions on how to debug something that only throws an error
> from "R CMD build" would be most welcome.

Debugging that sort of thing is hard.  Here's what I would try:

 From inside an R session, run

   tools:::.build_packages("[mypackagedirectory]")

That runs the code that R CMD build runs, so it might trigger the same 
error.  If so, debug in the usual way, with traceback(), etc.

If that doesn't trigger the error, try it using a different front-end, 
e.g. running R at the command line instead of running it in RStudio.

If you still can't trigger it, then start modifying the vignette to find 
the exact line that causes the error (e.g. by commenting out the second 
half of the code in that chunk; did the error go away? etc.).  Then 
modify it again to save all the inputs to the bad line in a file before 
running it, and see if running that line in a different context still 
triggers the error. Etc.

Duncan Murdoch



More information about the R-package-devel mailing list