-
Notifications
You must be signed in to change notification settings - Fork 990
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CRAN Windows crash/hang in checks #5507
Comments
From Matt Thanks Uwe. I can now see data.table 1.14.4 displaying check results Still FAIL. I asked Uwe on Jan 26th and Jan 31st for full logs but didn't hear from Uwe. So I did the best I could to guess and fix what I could. But my That time has been lost and I now absolutely need data.table.Rcheck to I explained in January why. Perhaps the email was too long. So then I Failed attempt: #5421 I am not asking for anything from Uwe other than for him to just send On Mon, Jan 31, 2022 at 5:04 PM Matt Dowle wrote:
|
Currently CRAN Windows is showing OK so we have some clues. The Ttotal is very long: 22m devel and 17m release and that's mostly in main.R tests: 14m and 9min. If the past repeats itself, the FAIL status will return in a few days or weeks. Haven't heard from Uwe but I wonder if he's done anything manual to make it run this time. My best guess is that the Windows machine is overloaded with package checks running in parallel; e.g. even just installing is significantly slower than the linux and mac CRAN machines. So much so that some tests in tests.Rraw which use more memory cause the machine to swap. Hence the slow down and then kill. It would be very useful to have the full logs from Uwe, in particular the final table I showed above containing the longest running tests. But without those logs, using local stats to tackle and reduce longest and most-RAM-using tests, is one way forward. At least we know now that it's likely tests.Rraw and not a different test file or a vignette.
|
From Matt Uwe, I can see data.table 1.14.4 is OK now on CRAN Windows, but barely. https://cran.r-project.org/web/checks/check_results_data.table.html Just Tinstall is 215 and 308 on r-devel and r-release respectively, I see similar very long CRAN Windows timings for other packages I Are the Windows servers severely overloaded? I'm expecting data.table to fail again on Windows soon, as it has This email added to issue tracker here: #5507 Best, Matt |
Current status of CRAN Windows :
Maybe after it is killed, it is put in a hold state. That would make sense, in general, to not keep checking packages which are known to have been killed. However, it seems that the machine is so severely overloaded that even Tinstall is taking so much longer for many packages, not just data.table. I doubt it's Windows per se; rather that server and how many tasks are running on it concurrently.
|
1.14.6 has run on r-devel-windows. At least it completed but 16m in
From Matt to Uwe cc CRAN Uwe, 2 week follow up. (This time as plain text.) Your Windows server has too many tasks running on it concurrently. It You can complete the same work, on the same server, in less time, by Again: I'm looking at Tinstall time, comparing to CRAN Mac and CRAN Again: I don't think it's Windows per se. It's that you are asking it Best, Matt |
We might not see a FAIL on CRAN Windows for some months, but if so that'll just be because our memory usage reduction of tests tipped it under the threshold. That just kicked the can down the road. The root cause is the CRAN Windows server itself which is out of our hands. |
FWIW, just came across this summary table CRAN provides: https://cran.r-project.org/web/checks/check_timings.html We can see that on average installation ( |
Nice find. Not seen that before. All the 'Details' links are broken sadly, and it doesn't say over what time period. Good find also that package |
I wonder if r-release and r-devel checks run on the same server, but r-oldrel runs on a different one. That's what it feels like to me. Btw, the r-oldrel checks include both 32bit and 64bit tests just because that's what r-oldrel did before 32bit support was removed. But despite running tests twice, r-oldrel is still faster because that server, although still overloaded, is not as overloaded as the r-release+r-devel one. Guessing. |
From Matt to Uwe cc CRAN Dear Uwe, I will keep sending these emails monthly until you or someone on the Tinstall is very high for CRAN Windows. Prior emails no response: Nov 18th, Nov 4th, Oct 31, Jan 31, Jan 26 I made a detailed suggestion to reduce the number of tasks running It would help if someone from the CRAN team could reply to confirm Best, Matt |
# data.table [v1.14.10](https://github.com/Rdatatable/data.table/milestone/20) ## NOTES 1. Maintainer of the package for CRAN releases is from now on Tyson Barrett (@TysonStanley), [#5710](Rdatatable/data.table#5710). 2. Updated internal code for breaking change of `is.atomic(NULL)` in R-devel, [#5691](Rdatatable/data.table#5691). Thanks to Martin Maechler for the patch. 3. Fix multiple test concerning coercion to missing complex numbers, [#5695](Rdatatable/data.table#5695) and [#5748](Rdatatable/data.table#5748). Thanks to @MichaelChirico and @ben-schwen for the patches. 4. Fix multiple format warnings (e.g., -Wformat) [#5712](Rdatatable/data.table#5712), [#5781](Rdatatable/data.table#5781), [#5880](Rdatatable/data.table#5800), [#5786](Rdatatable/data.table#5786). Thanks to @MichaelChirico and @jangorecki for the patches. # data.table [v1.14.8](https://github.com/Rdatatable/data.table/milestone/28?closed=1) (17 Feb 2023) ## NOTES 1. Test 1613.605 now passes changes to `as.data.frame()` in R-devel, [#5597](Rdatatable/data.table#5597). Thanks to Avraham Adler for reporting. 2. An out of bounds read when combining non-equi join with `by=.EACHI` has been found and fixed thanks to clang ASAN, [#5598](Rdatatable/data.table#5598). There was no bug or consequence because the read was followed (now preceded) by a bounds test. 3. `.rbind.data.table` (note the leading `.`) is no longer exported when `data.table` is installed in R>=4.0.0 (Apr 2020), [#5600](Rdatatable/data.table#5600). It was never documented which R-devel now detects and warns about. It is only needed by `data.table` internals to support R<4.0.0; see note 1 in v1.12.6 (Oct 2019) below in this file for more details. # data.table [v1.14.6](https://github.com/Rdatatable/data.table/milestone/27?closed=1) (16 Nov 2022) ## BUG FIXES 1. `fread()` could leak memory, [#3292](Rdatatable/data.table#3292). Thanks to @patrickhowerter for reporting, and Jim Hester for the fix. The fix requires R 3.4.0 or later. Loading `data.table` in earlier versions now highlights this issue on startup, asks users to upgrade R, and warns that we intend to upgrade `data.table`'s dependency from 8 year old R 3.1.0 (April 2014) to 5 year old R 3.4.0 (April 2017). ## NOTES 1. Test 1962.098 has been modified to pass latest changes to `POSIXt` in R-devel. 2. `test.data.table()` no longer creates `DT` in `.GlobalEnv`, a CRAN policy violation, [#5514](Rdatatable/data.table#5514). No other writes occurred to `.GlobalEnv` and release procedures have been improved to prevent this happening again. 3. The memory usage of the test suite has been halved, [#5507](Rdatatable/data.table#5507). # data.table [v1.14.4](https://github.com/Rdatatable/data.table/milestone/26?closed=1) (17 Oct 2022) ## NOTES 1. gcc 12.1 (May 2022) now detects and warns about an always-false condition (`-Waddress`) in `fread` which caused a small efficiency saving never to be invoked, [#5476](Rdatatable/data.table#5476). Thanks to CRAN for testing latest versions of compilers. 2. `update.dev.pkg()` has been renamed `update_dev_pkg()` to get out of the way of the `stats::update` generic function, [#5421](Rdatatable/data.table#5421). This is a utility function which upgrades the version of `data.table` to the latest commit in development which has passed all tests. As such we don't expect any backwards compatibility concerns. Its manual page was causing an intermittent hang/crash from `R CMD check` on Windows-only on CRAN which we hope will be worked around by changing its name. 3. Internal C code now passes `-Wstrict-prototypes` to satisfy the warnings now displayed on CRAN, [#5477](Rdatatable/data.table#5477). 4. `write.csv` in R-devel no longer responds to `getOption("digits.secs")` for `POSIXct`, [#5478](Rdatatable/data.table#5478). This caused our tests of `fwrite(, dateTimeAs="write.csv")` to fail on CRAN's daily checks using latest daily R-devel. While R-devel discussion continues, and currently it seems like the change is intended with further changes possible, this `data.table` release massages our tests to pass on latest R-devel. The idea is to try to get out of the way of R-devel changes in this regard until the new behavior of `write.csv` is released and confirmed. Package updates are not accepted on CRAN if they do not pass the latest daily version of R-devel, even if R-devel changes after the package update is submitted. If the change to `write.csv()` stands, then a future release of `data.table` will be needed to make `fwrite(, dateTimeAs="write.csv")` match `write.csv()` output again in that future version of R onwards. If you use an older version of `data.table` than said future one in the said future version of R, then `fwrite(, dateTimeAs="write.csv")` may not match `write.csv()` if you are using `getOption("digits.secs")` too. However, you can always check that your installation of `data.table` works in your version of R on your platform by simply running `test.data.table()` yourself. Doing so would detect such a situation for you: test 1741 would fail in this case. `test.data.table()` runs the entire suite of tests and is always available to you locally. This way you do not need to rely on our statements about which combinations of versions of R and `data.table` on which platforms we have tested and support; just run `test.data.table()` yourself. Having said that, because test 1741 has been relaxed in this release in order to be accepted on CRAN to pass latest R-devel, this won't be true for this particular release in regard to this particular test. ```R $ R --vanilla R version 4.2.1 (2022-06-23) -- "Funny-Looking Kid" > DF = data.frame(A=as.POSIXct("2022-10-01 01:23:45.012")) > options(digits.secs=0) > write.csv(DF) "","A" "1",2022-10-01 01:23:45 > options(digits.secs=3) > write.csv(DF) "","A" "1",2022-10-01 01:23:45.012 $ Rdevel --vanilla R Under development (unstable) (2022-10-06 r83040) -- "Unsuffered Consequences" > DF = data.frame(A=as.POSIXct("2022-10-01 01:23:45.012")) > options(digits.secs=0) > write.csv(DF) "","A" "1",2022-10-01 01:23:45.012 ``` 5. Many thanks to Kurt Hornik for investigating potential impact of a possible future change to `base::intersect()` on empty input, providing a patch so that `data.table` won't break if the change is made to R, and giving us plenty of notice, [#5183](Rdatatable/data.table#5183). 6. `datatable.[dll|so]` has changed name to `data_table.[dll|so]`, [#4442](Rdatatable/data.table#4442). Thanks to Jan Gorecki for the PR. We had previously removed the `.` since `.` is not allowed by the following paragraph in the Writing-R-Extensions manual. Replacing `.` with `_` instead now seems more consistent with the last sentence. > ... the basename of the DLL needs to be both a valid file name and valid as part of a C entry point (e.g. it cannot contain ‘.’): for portable code it is best to confine DLL names to be ASCII alphanumeric plus underscore. If entry point R_init_lib is not found it is also looked for with ‘.’ replaced by ‘_’. # data.table [v1.14.2](https://github.com/Rdatatable/data.table/milestone/24?closed=1) (27 Sep 2021) ## NOTES 1. clang 13.0.0 (Sep 2021) requires the system header `omp.h` to be included before R's headers, [#5122](Rdatatable/data.table#5122). Many thanks to Prof Ripley for testing and providing a patch file.
Still happening with 1.14.4. So #5421 didn't fix it.
I'll ask Uwe if he can provide any more insight about where the problem is occurring. Hopefully there are some more logs that he can look at or send that are not displayed on CRAN.
The text was updated successfully, but these errors were encountered: