Skip to content

Commit 2803285

Browse files
REVDEP: config and note tweaks
1 parent b4cf303 commit 2803285

File tree

2 files changed

+55
-5
lines changed

2 files changed

+55
-5
lines changed

revdep/notes.md

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,25 +45,70 @@ their examples or tests require a working internet connection:
4545
* tableschema.r
4646
* tsfeatures
4747

48+
49+
### Packages that fail due to spotty internet downloads
50+
51+
* pgxRpi
52+
53+
54+
4855
### Packages that fail if tested in parallel
4956

5057
The following packages will fail when tested in parallel, because they
5158
compete with themselves for resources. For example, several Bioconductor
5259
package assumes their BiocFileCache folder is empty, or no other R
5360
processes are writing to it at the same time.
5461

55-
* ...
62+
Workaround is to clear file caches and check one package at the time;
63+
64+
```sh
65+
rm -rf ~/.cache/R/
66+
R_REVDEPCHECK_NUM_WORKERS=1 revdep/run.R
67+
```
68+
69+
70+
71+
72+
### More 'multisession' workers than connectes
73+
74+
Also, the below packages fail on hosts with many CPUs, because
75+
they use `availableCores()` in their vignettes, which falls back
76+
to `detectCores() when built via `R CMD check`.
77+
78+
The workaround is to check with:
79+
80+
```
81+
R_PARALLELLY_AVAILABLECORES_MAX=96 revdep/run.R
82+
```
5683

57-
Also, the following packages fail on hosts with many CPUs, because
58-
they use detectCores() or more workers than there are connections:
84+
Note that this will be automatically limited to two (2) in
85+
**parallelly** (>= 1.46.0).
86+
87+
Problematic packages:
5988

6089
* ale
6190
* dar
62-
* fmeffects
63-
* FracFixR
6491
* gtfs2emis
6592
* gtfs2gps
6693
* signeR
6794
* simIDM
6895
* uci
6996

97+
98+
### Uses `detectCores()`
99+
100+
The following packages uses 'multisession' and defaults to
101+
`parallel::detectCores()` workers. This fails on machines with > 125
102+
CPU cores.
103+
104+
The workaround is to check these package on a machine with fewer cores
105+
and setting R option 'parallelly.maxWorkers.localhost=c(100,100)' as;
106+
107+
```sh
108+
R_PARALLELLY_MAXWORKERS_LOCALHOST="100,100" revdep/run.R
109+
```
110+
111+
Problematic packages:
112+
113+
* fmeffects
114+
* FracFixR

revdep/revdepcheck.Renviron

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,10 @@ TAR_SKIP_CLUSTERMQ=${TAR_SKIP_CLUSTERMQ-true}
55
## Allow for at least two workers
66
R_PARALLELLY_AVAILABLECORES_FALLBACK=2
77

8+
## Allow for at most 32 cores
9+
## Needed for parallelly (< 1.46.0), which will return
10+
## detectCores() when check vignettes
11+
R_PARALLELLY_AVAILABLECORES_MAX=32
12+
813
## Turn on more checks
914
#NOT_CRAN=true

0 commit comments

Comments
 (0)