Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
gaborcsardi committed Dec 10, 2024
1 parent a597781 commit 6561851
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 3 deletions.
2 changes: 1 addition & 1 deletion cran.r-project.org/web/checks/check_flavors.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<div class="container">
<h2>CRAN Package Check Flavors</h2>
<p>
Last updated on 2024-12-08 03:49:32 CET.
Last updated on 2024-12-10 03:49:16 CET.
</p>
<p>
Systems used for CRAN package checking.
Expand Down
4 changes: 3 additions & 1 deletion cran.r-project.org/web/checks/check_issue_kinds.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<div class="container">
<h2>CRAN Package Check Issue Kinds</h2>
<p>
Last updated on 2024-12-08 03:49:32 CET.
Last updated on 2024-12-10 03:49:16 CET.
</p>
<table border="1">
<tr> <th> Kind </th> <th> Description </th> <th> Details </th> </tr>
Expand All @@ -29,11 +29,13 @@ <h2>CRAN Package Check Issue Kinds</h2>
<tr id="gcc-ASAN"> <td> gcc-ASAN </td> <td> Tests of memory access errors using AddressSanitizer </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/memtests/README.txt"> Details </a> </td> </tr>
<tr id="gcc-UBSAN"> <td> gcc-UBSAN </td> <td> Tests of memory access errors using Undefined Behavior Sanitizer </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/memtests/README.txt"> Details </a> </td> </tr>
<tr id="gcc"> <td> gcc </td> <td> Installation issues with fedora-gcc but not fedora-clang </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/gcc/README.txt"> Details </a> </td> </tr>
<tr id="gcc19"> <td> gcc19 </td> <td> Installation checks with a snapshot of GCC pre-15 </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/gcc15/README.txt"> Details </a> </td> </tr>
<tr id="noLD"> <td> noLD </td> <td> Tests without long double </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/noLD/README.txt"> Details </a> </td> </tr>
<tr id="noOMP"> <td> noOMP </td> <td> Tests without OpenMP support </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/noOMP/README.txt"> Details </a> </td> </tr>
<tr id="noRemap"> <td> noRemap </td> <td> Checks with -DR_NO_REMAP used for C++ code </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/noRemap/README.txt"> Details </a> </td> </tr>
<tr id="noSuggests"> <td> noSuggests </td> <td> Tests without suggested packages </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/noSuggests/README.txt"> Details </a> </td> </tr>
<tr id="valgrind"> <td> valgrind </td> <td> Tests of memory access errors using valgrind </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/memtests/README.txt"> Details </a> </td> </tr>
<tr id="0len"> <td> 0len </td> <td> Tests for zero-length access segfaults </td> <td> <a href="../../../www.stats.ox.ac.uk/pub/bdr/0len/README.txt"> Details </a> </td> </tr>
<tr id="rchk"> <td> rchk </td> <td> Checks of native code (C/C++) based on static code analysis </td> <td> <a href="../../../raw.githubusercontent.com/kalibera/cran-checks/master/rchk/README.txt"> Details </a> </td> </tr>
<tr id="rcnst"> <td> rcnst </td> <td> Checks of corruption of constants </td> <td> <a href="../../../raw.githubusercontent.com/kalibera/cran-checks/master/rcnst/README.txt"> Details </a> </td> </tr>
<tr id="rlibro"> <td> rlibro </td> <td> Checks with read-only user library </td> <td> <a href="../../../raw.githubusercontent.com/kalibera/cran-checks/master/rlibro/README.txt"> Details </a> </td> </tr>
Expand Down
42 changes: 42 additions & 0 deletions www.stats.ox.ac.uk/pub/bdr/0len/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
As fedora-gcc,

https://www.stats.ox.ac.uk/pub/bdr/Rconfig/r-devel-linux-x86_64-fedora-gcc

but without the DEFS line and so using C99 inlining semantics.

We know
corrplot and treeheatr are from seriation
Evacluster and plotmm are from EMCluster
TraMineRextras is from TraMine
fedmatch appears to be from stringdist
grainscape and multilaterals are from igraph
marquee is from textshaping by the same maintainer
networkLite is from network
shipunov is from ape and has been reported there
simputation is from gower by the same maintainer

Subdirectory 'docker' contains the script for a docker container that has been
used on an x86_64 machine to reproduce most of these. (On Linux but docker
in prinicple also works on Windows and Intel or Apple Silicon macOS.)
See its comments for how to use it.

Beware that if you have customizations in e.g. ~/.R/Makeconf these may
well negate the ability to reproduce the segfaults.


Alternatively
-------------

Many of the issues are from passing as.double(NULL) or as.integer(NULL)
to .C or .Fortran where the compiled code expects to be pased a vector
of lemgth at least one.

If R-devel is compiled with

-DR_LESS_COERCION_FROM_NULL

(for exaxmple by setting DEFS in config.site to this), then these become
errors and the traceback on error will almost always pinpoint the
(first) issue. Logs from this approach are in subdirectory Alternative.
(Such calls could perhaps be legitimate, but most are a problem.)

15 changes: 15 additions & 0 deletions www.stats.ox.ac.uk/pub/bdr/gcc15/README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Installation checks with a snapshot of GCC pre-15.
This defaults the C compiler to -std=gnu23.
The current description of changes is

https://gcc.gnu.org/gcc-15/changes.html

this does not include the change in default C standard!

See also

https://gcc.gnu.org/gcc-15/porting_to.html

Other details as https://www.stats.ox.ac.uk/pub/bdr/Rconfig/r-devel-linux-x86_64-fedora-gcc

Debian unstable and Ubuntu have a package 'gcc-snapshot'.
2 changes: 1 addition & 1 deletion www.stats.ox.ac.uk/pub/bdr/memtests/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ as discussed in 'Writing R Extensions'.

gcc-ASAN, gcc-UBSAN:
gcc 14.1 with config.site:
CC=gcc-14
CC="gcc-14 -fsanitize=address,undefined,bounds-strict -fno-omit-frame-pointer"
CXX="g++-14 -fsanitize=address,undefined,bounds-strict -fno-omit-frame-pointer"
CFLAGS="-g -O2 -Wall -pedantic -mtune=native -fsanitize=address -Wp,-D_FORTIFY_SOURCE=3"
FC=gfortran-14
Expand Down

0 comments on commit 6561851

Please sign in to comment.