-
Notifications
You must be signed in to change notification settings - Fork 79
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
gc() corruption-related crashes introduced in 3.2.4 affecting DBI occurs on memory overload #135
Comments
Have you tried using the dev version? I can't reproduce locally with: library(DBI)
db <- dbConnect(RSQLite::SQLite())
for(i in 1:1e6) {
dbWriteTable(db , 'x', mtcars, append = TRUE)
} I also don't see any problems when running under valgrind. |
hi, i think the problem happens when RAM starts paging, so doubt you can reproduce on any OS until you max out your hardware -- |
Well 1000 x 35 mb = 35 gb, which is more memory than I have. So I suspect it's a windows only bug. |
sorry if i'm being dense, |
hi @krlmlr any chance you could explore this in the next month or two? thanks for all your work |
Can reproduce it on my Windows machine with R3.3.0-patched. I only get crashes for specific values of
|
Can also reproduce on Linux with the following script, crashing with 670 < i <= 680: ulimit::memory_limit(318)
library(RSQLite)
db <- dbConnect( SQLite() )
for( i in 1:1000 ) { if (i %% 10 == 0) print(i); dbWriteTable( db , 'x' , mtcars , append = TRUE ) }
# CRASH Unfortunately, ulimit doesn't work on OS X. |
I'm fairly certain that this is an R problem. Working on isolating a trigger to reopen the R ticket. |
crazy. thanks! anything to resubmit the bug to rcore would be helpful.. On Sep 7, 2016 11:38 PM, "Kirill Müller" notifications@github.com wrote:
|
The problem seems to occur only if the memory limit is set to something barely above the minimum requirements to run the code. I've seen at least four different error messages and tracebacks. The worst, however, seems to be an infinite recursion, which I've reported at https://bugs.r-project.org/bugzilla/show_bug.cgi?id=17144. |
hey, thanks a million |
- Improved documentation of the `dbname` argument to `dbConnect()`, it now specifically mentions that connection strings cannot be used (r-dbi#135).
- Improved documentation of the `dbname` argument to `dbConnect()`, it now specifically mentions that connection strings cannot be used (r-dbi#135). - `dbConnect()` gains a `bigint` argument that optionally coerces 64-bit integer values to `integer`, `numeric` or `character`. By default, the `bit64::integer64` data type is used (r-dbi#141). - Use `blob_cast` tweak to pass blob tests. - Adapt data fetching logic from RSQLite, for multi-row binding (r-dbi#100).
This old thread has been automatically locked. If you think you have found something related to this, please open a new issue and link to this old issue if necessary. |
hi, r core has disclaimed responsibility for this bug. this bug is hugely disruptive for DBI users and it's likely a gc() bug not a DBI or RSQLite bug but i do not have the technical know-how to distill this down any further than i already have. the examples provided to the r-core team are minimal and easily reproducible, but (as they correctly mention) rely on this contributed package.
https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16734
could someone on the RSQLite team please help me reconfigure my minimal reproducible example so that we can re-open this r-project ticket? here's how simple it is
thank you!
cc @hannesmuehleisen @hadley @krlmlr
The text was updated successfully, but these errors were encountered: