Skip to content

[R-pkg-devel] addressing a CRAN submission pre-test clang-san warning

3 messages · Kent Riemondy, Ivan Krylov

#
Hi,
  I maintain a package on CRAN (valr) and recently submitted a new version.
The package is failing CRAN pre-test checks due to the warning below from
the clang-san test. The cleancall.c file referenced in the warning isn't in
valr's source code, nor direct dependencies, but eventually I believe
tracks back to the purrr package. Does anyone have any advice for how to
replicate or address this warning?

Flavor: r-devel-linux-x86_64-debian-special-clang-san
Check: Post-processing issues found for clang-san, Result: WARNING
  File: valr-Ex.Rout
  cleancall.c:110:46: runtime error: call to function cb_progress_done
through pointer to incorrect function type 'void (*)(void *)'

  File: tests/testthat.Rout
  cleancall.c:110:46: runtime error: call to function cb_progress_done
through pointer to incorrect function type 'void (*)(void *)'

package source: https://github.com/rnabioco/valr
pre-test artifacts:
https://win-builder.r-project.org/incoming_pretest/valr_0.8.3_20250108_153335/specialChecks/clang-san
/

Thanks in advance,
Kent
#
? Fri, 10 Jan 2025 07:45:00 -0700
Kent Riemondy <kent.riemondy at gmail.com> ?????:
This is a (mostly harmless) error in the purrr package:
https://stat.ethz.ch/pipermail/r-package-devel/2024q4/011230.html

It has recently been reported to the package maintainers:
https://github.com/tidyverse/purrr/issues/1157

Instead of casting the cb_progress_done function pointer to (void
(*)(void*)), the function needs to accept (void*) and cast the argument
to SEXP in the function body.
#
Ivan,
  Many thanks for the prompt and helpful response. I hadn't seen the
previous r-package-devel message with the same error. I will explain this
situation to CRAN which hopefully will allow valr to stay on CRAN while I
work to get the suggested fix implemented in purrr.

Thanks,
Kent
On Fri, Jan 10, 2025 at 8:08?AM Ivan Krylov <ikrylov at disroot.org> wrote: