revdepcheck::revdep_check() stall on 'targets' when checking in parallel #780
Closed
HenrikBengtsson
started this conversation in
General
Replies: 1 comment 6 replies
-
More information from the logs: The "old" check finished, whereas the "new" timed out after two hours:
$ ls -lrt tests/
total 5
drwxr-xr-x 2 henrik cbc 6 Feb 19 00:20 performance
drwxr-xr-x 2 henrik cbc 22 Feb 19 00:20 interactive
drwxr-xr-x 2 henrik cbc 12 Feb 19 00:20 hpc
drwxr-xr-x 2 henrik cbc 8 Feb 19 00:20 aws
-rw-r--r-- 1 henrik cbc 106 Feb 19 00:20 testthat.R
-rw-r--r-- 1 henrik cbc 131 Feb 19 00:20 startup.Rs
-rw-r--r-- 1 henrik cbc 841 Feb 19 00:20 testthat.Rout
drwxr-xr-x 3 henrik cbc 187 Feb 19 00:20 testthat
Is there a way to see how far testthat made it? I cannot find any output indicating "progress" other than the latter above. |
Beta Was this translation helpful? Give feedback.
6 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi.
Problem
I run
revdepcheck::revdep_check(num_workers = n)
on my future package withn > 1
(i.e. check packages in parallel). Each time (=reproducible), I end up having to kill the checks on targets, because one of the two runs (towards "new" and "old" versions of future) stalls. The other one always completes. Looking athtop
, it seems like this happens whenR CMD check
is running the unit tests of targets.This happens only for targets and not for any of the other ~250 packages. I've observed this for a couple of years now, so it's nothing new.
Workaround
To solve this, I end up terminating
revdepcheck::revdep_check()
. Then I add back targets to check that by itself, and run withrevdepcheck::revdep_check(num_workers = 1L)
. This will cause the "old" version of targets to be checked first, and then the "new" version of targets. This always works and completes.Troubleshooting
I suspect that there is a conflict when checking "old" and "new" runs of targets concurrently. Note that regardless of
num_workers = n
value, the package checks may run in parallel as usual.@wlandau, can you think of anything in the unit tests that might cause a race condition?
Beta Was this translation helpful? Give feedback.
All reactions