@osp@m m@iii@g oii @itieid-im@de
2019-Sep-29 11:55 UTC
[Rd] typeof(getOption("warn")) is "integer" instead of "double" in R unstable (2019-09-27 r77229)? Reproducible?
Hi, I have a failing unit test in my package tryCatchLog on the CRAN build infrastructure (https://cran.r-project.org/web/checks/check_results_tryCatchLog.html) with "R Under development (unstable) (2019-09-27 r77229)" and the unit tests just ensures consistent behaviour of R (not of my package) as a precondition: The failing unit test is caused by> typeof(getOption("warn")) > [1] "integer"but it should be> [1] "double"I have no build infrastructure for dev and want to find out if this is caused by - my mistake - changes in the R dev version - the new C compilers used (correlates with the failing unit test) Can somebody (having the R dev version available) please help me and answer the result of> typeof(getOption("warn"))using "R Under development (unstable) (2019-09-27 r77229)" or newer? Thanks a lot and sorry for the "noise"! Jurgen PS: These R (dev) versions did work as expected (returning "double") but were also using older C compilers: - R Under development (unstable) (2019-09-20 r77199) - R Under development (unstable) (2019-09-22 r77202) - R Under development (unstable) (2019-09-25 r77217) - R version 3.6.1 Patched (2019-09-25 r77224) - R version 3.6.1 (2019-07-05) - R version 3.6.0 beta (2019-04-15 r76395) - R version 3.5.3 (2019-03-11) - R version 3.5.2 (2018-12-20)
Duncan Murdoch
2019-Sep-29 12:33 UTC
[Rd] typeof(getOption("warn")) is "integer" instead of "double" in R unstable (2019-09-27 r77229)? Reproducible?
On 29/09/2019 7:55 a.m., nospam at altfeld-im.de wrote:> Hi, > > I have a failing unit test in my package tryCatchLog on the CRAN build infrastructure > (https://cran.r-project.org/web/checks/check_results_tryCatchLog.html) > with "R Under development (unstable) (2019-09-27 r77229)" > and the unit tests just ensures consistent behaviour of R (not of my package) as a precondition: > > The failing unit test is caused by >> typeof(getOption("warn")) >> [1] "integer" > > but it should be >> [1] "double" >This is related to this bug fix: CHANGES IN R 3.6.1 patched BUG FIXES ?options(warn=1e11)? is an error now, instead of later leading to C stack overflow because of infinite recursion. which occurred in rev 77226. It explicitly coerces the warn value to integer.> I have no build infrastructure for dev and want to find out if this is caused by > - my mistake > - changes in the R dev version > - the new C compilers used (correlates with the failing unit test)It is changes in the dev and patched versions, and also your mistake: your test shouldn't be so stringent. The docs don't say that the value has to be a double; in fact, they suggest it should be a whole number value (talking about 0, 1, "2 or more", not about what would happen with options(warn = pi/2), for example. In older versions, options(warn = pi/2) is treated the same as options(warn = 1), and in the new version, it is displayed as 1 as well. Duncan Murdoch> > Can somebody (having the R dev version available) please help me and answer the result of > >> typeof(getOption("warn")) > > using "R Under development (unstable) (2019-09-27 r77229)" or newer? > > Thanks a lot and sorry for the "noise"! > > Jurgen > > PS: These R (dev) versions did work as expected (returning "double") but were also using older C compilers: > - R Under development (unstable) (2019-09-20 r77199) > - R Under development (unstable) (2019-09-22 r77202) > - R Under development (unstable) (2019-09-25 r77217) > - R version 3.6.1 Patched (2019-09-25 r77224) > - R version 3.6.1 (2019-07-05) > - R version 3.6.0 beta (2019-04-15 r76395) > - R version 3.5.3 (2019-03-11) > - R version 3.5.2 (2018-12-20) > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel >
@osp@m m@iii@g oii @itieid-im@de
2019-Sep-29 16:12 UTC
[Rd] typeof(getOption("warn")) is "integer" instead of "double" in R unstable (2019-09-27 r77229)? Reproducible?
Thanks a lot for pointing out the reason (and yes, I am testing quite to stringent in this case - it's my old testing disease ;-) For other readers: The R-devel NEWS is a good source to find possible change reasons: https://stat.ethz.ch/R-manual/R-devel/doc/html/NEWS.html On Sun, 2019-09-29 at 08:33 -0400, Duncan Murdoch wrote:> On 29/09/2019 7:55 a.m., nospam at altfeld-im.de wrote: > > Hi, > > > > I have a failing unit test in my package tryCatchLog on the CRAN build infrastructure > > (https://cran.r-project.org/web/checks/check_results_tryCatchLog.html) > > with "R Under development (unstable) (2019-09-27 r77229)" > > and the unit tests just ensures consistent behaviour of R (not of my package) as a precondition: > > > > The failing unit test is caused by > > > typeof(getOption("warn")) > > > [1] "integer" > > > > but it should be > > > [1] "double" > > This is related to this bug fix: > > CHANGES IN R 3.6.1 patched BUG FIXES > > ?options(warn=1e11)? is an error now, instead of later leading to C > stack overflow because of infinite recursion. > > which occurred in rev 77226. It explicitly coerces the warn value to > integer. > > > > I have no build infrastructure for dev and want to find out if this is caused by > > - my mistake > > - changes in the R dev version > > - the new C compilers used (correlates with the failing unit test) > > It is changes in the dev and patched versions, and also your mistake: > your test shouldn't be so stringent. The docs don't say that the value > has to be a double; in fact, they suggest it should be a whole number > value (talking about 0, 1, "2 or more", not about what would happen with > options(warn = pi/2), for example. > > In older versions, options(warn = pi/2) is treated the same as > options(warn = 1), and in the new version, it is displayed as 1 as well. > > Duncan Murdoch > > > > Can somebody (having the R dev version available) please help me and answer the result of > > > > > typeof(getOption("warn")) > > > > using "R Under development (unstable) (2019-09-27 r77229)" or newer? > > > > Thanks a lot and sorry for the "noise"! > > > > Jurgen > > > > PS: These R (dev) versions did work as expected (returning "double") but were also using older C compilers: > > - R Under development (unstable) (2019-09-20 r77199) > > - R Under development (unstable) (2019-09-22 r77202) > > - R Under development (unstable) (2019-09-25 r77217) > > - R version 3.6.1 Patched (2019-09-25 r77224) > > - R version 3.6.1 (2019-07-05) > > - R version 3.6.0 beta (2019-04-15 r76395) > > - R version 3.5.3 (2019-03-11) > > - R version 3.5.2 (2018-12-20) > > > > ______________________________________________ > > R-devel at r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > >
Maybe Matching Threads
- typeof(getOption("warn")) is "integer" instead of "double" in R unstable (2019-09-27 r77229)? Reproducible?
- typeof(getOption("warn")) is "integer" instead of "double" in R unstable (2019-09-27 r77229)? Reproducible?
- Unique ID for conditions to supress/rethrow selected conditions?
- Unique ID for conditions to supress/rethrow selected conditions?
- PATCH: Sense if git should be used (for tarball) and if typeof needs to be __typeof__