Berwin A Turlach
2017-Aug-03 07:27 UTC
[Rd] Problem compiling R patched and R devel on Ubuntu
G'day all,
since about a week my daily re-compilations of R patched and R devel
are falling over, i.e. they stop with an error during "make
check" (while building the 32 bit architecture) on my Ubuntu 16.04.3
LTS machine. Specifically, a test in graphics-Ex.R seems to fail and
the last lines of graphics-ex.Rout.fail are:
> ## Extreme outliers; the "FD" rule would take very large number
of
'breaks':
> XXL <- c(1:9, c(-1,1)*1e300)
> hh <- hist(XXL, "FD") # did not work in R <= 3.4.1; now
gives
warning
Warning in hist.default(XXL, "FD") :
'breaks = 4.44796e+299' is too large and set to 1e9
Error in pretty.default(range(x), n = breaks, min.n = 1) :
cannot allocate vector of length 1000000001
Calls: hist -> hist.default -> pretty -> pretty.default
Execution halted
My R 3.4.1 installation, the last R patched version that I could
compile (R version 3.4.1 Patched (2017-07-26 r72974)) and the last R
devel version that I could compile (R Under development (unstable)
(2017-07-26 r72974)) give the following results (under the 32bit
architecture and the 64bit architecture):
> XXL <- c(1:9, c(-1,1)*1e300)
> hh <- hist(XXL, "FD")
Error in pretty.default(range(x), n = breaks, min.n = 1) :
invalid 'n' argument
In addition: Warning message:
In pretty.default(range(x), n = breaks, min.n = 1) :
NAs introduced by coercion to integer range
Not sure if this is a general problem, or only a problem on my machine.
Cheers,
Berwin
Martin Maechler
2017-Aug-03 07:57 UTC
[Rd] Problem compiling R patched and R devel on Ubuntu
>>>>> Berwin A Turlach <berwin.turlach at gmail.com> >>>>> on Thu, 3 Aug 2017 15:27:56 +0800 writes:> G'day all, > since about a week my daily re-compilations of R patched and R devel > are falling over, i.e. they stop with an error during "make > check" (while building the 32 bit architecture) on my Ubuntu 16.04.3 > LTS machine. Dear Berwin, thanks a lot for the report! > Specifically, a test in graphics-Ex.R seems to fail and > the last lines of graphics-ex.Rout.fail are: >> ## Extreme outliers; the "FD" rule would take very large number of > 'breaks': >> XXL <- c(1:9, c(-1,1)*1e300) >> hh <- hist(XXL, "FD") # did not work in R <= 3.4.1; now gives > warning > Warning in hist.default(XXL, "FD") : > 'breaks = 4.44796e+299' is too large and set to 1e9 > Error in pretty.default(range(x), n = breaks, min.n = 1) : > cannot allocate vector of length 1000000001 > Calls: hist -> hist.default -> pretty -> pretty.default > Execution halted > My R 3.4.1 installation, the last R patched version that I could > compile (R version 3.4.1 Patched (2017-07-26 r72974)) and the last R > devel version that I could compile (R Under development (unstable) > (2017-07-26 r72974)) ((well, well ... you could also compile later versions. It was "only" 'make check' that failed ..)) > give the following results (under the 32bit architecture > and the 64bit architecture): >> XXL <- c(1:9, c(-1,1)*1e300) >> hh <- hist(XXL, "FD") > Error in pretty.default(range(x), n = breaks, min.n = 1) : > invalid 'n' argument > In addition: Warning message: > In pretty.default(range(x), n = breaks, min.n = 1) : > NAs introduced by coercion to integer range [yes, that was the bug; see below] > Not sure if this is a general problem, or only a problem on my machine. It is not a problem on 64-bit I think. This is related to the bug and bugfix for PR#17274 ( https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17274 ) which I had handled. Now I see the above, I can well imagine that I had made assumptions that only worked on my (64-bit) platform. I'll have a look and will amend the bug fix to also work on "smaller" platforms - hopefully today. Martin