В Thu, 17 Jul 2025 08:30:12 -0300
"Rafael H. M. Pereira" <rafa.pereira...@gmail.com> пишет:

> both packages were passing all CRAN checks (see here
> <https://cran-archive.r-project.org/web/checks/2025/2025-07-02_check_results_flightsbr.html>
> and here
> <https://cran-archive.r-project.org/web/checks/2025/2025-07-02_check_results_parzer.html>).

While it is, indeed, not visible in the archived check results, digging
into src/contrib/PACKAGES.in reveals that 'parzer' failed the
UBSanitizer check on an Apple M1 machine on June 1st:

https://www.stats.ox.ac.uk/pub/bdr/M1-SAN/parzer/tests/testthat.Rout

Casting a NaN value to an integer is undefined behaviour (with de-facto
different results on x86_64 and ARM processors). There used to be a
check for 'x' being NA_real_, but it seems to have been broken during
refactoring three years ago:
https://github.com/ropensci/parzer/blame/10a8aa68bea8b18a69cc99326e949c5beb144afd/src/pz_parse_parts.cpp#L11-L21

Arguably, the check should be for isnan(x), not only R_IsNA(x): the
latter will still miss non-NA NaN values.

I think that the packages should have had a yellow deadline mark (i.e.
with(tools::CRAN_package_db(), Deadline[Package %in% c('parzer',
'flightsbr')]) should have been returning non-NA values) in the month
that passed. Having a number of packages archived due to a silent
problem with mail delivery is very unfortunate.

-- 
Best regards,
Ivan

______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to