Rdatatable / data.table Public
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
memory allocation problems: "'Realloc' could not re-allocate memory" #2777
Comments
Thanks for the good report. Agreed: it isn't really trying to request that amount of RAM (16 EB). It seems like a type cast problem at C level. I can see a potential cast problem in that call to |
@jsams Fix now merged to master. Please test and confirm it works now ok. I'll wait to hear from you before closing. |
Thanks Matt! I have some stuff running that I need to wait on first. Not too sure how to safely have the -dev and stable versions installed at the same time and don't want to run off of -dev for those other processes. |
@jsams use |
@jangorecki It's more that he's telling us something else is running, possibly critical. In those circumstances I would leave the running process be and not risk anything on that box until it finishes. The test we'd like him to run is large, so it could exhaust ram and attract oom killer to the critical process, for example, at least. |
Looks like success on "data.table 1.10.5 IN DEVELOPMENT built 2018-04-23 00:47:20 UTC; travis". Again, thanks for the quick fix Matt! Unfortunately, I deleted uncommited code so I wasn't able to replicate the other crash, but I believe there was also an overflow around here. Between the error message and the "*4bytes", I think that's what I saw. It didn't seem like this fixed applied to that case, but I can't be sure. Of course, that's not much to go on; so, if you want to ignore it until it pops up again, I understand. |
@jsams Thanks for confirming. And thanks for the new clue. That is indeed enough to go on and I see the problem in forder.c you highlighted. Will fix ... |
We should really have created a follow-up issue since the original one is fixed. Anyway, postponing to 1.11.4 because 1.11.2 is a quick follow-up release to CRAN and pressing. |
I have a data.table with a large number of rows bumping up against the MAXINT row limit. Trying to reduce the table to be a unique on the key is trying to allocate way too much memory.
example
I really don't think that it should be necessary to try to allocate that much memory to run that operation. There are 10s of millions of unique users and 10s of millions of unique contacts. It is probable that there are in fact no duplicate values in that table. I was really just running this as a sanity check.
Potentially related, I think I am seeing memory count overflows (i.e. attempts to allocate a negative amount of memory) in rbind and/or forderv. Unfortunately I don't have the output as I had to kill the screen window those R sessions were in. But basically I had structurally similar tables as above, but with much fewer rows and was rbind'ing them and then running that same unique operation as above. I had checked that the total number of rows was less than MAXINT. I do have part of the error from my search history:
failed to realloc working memory stack data.table
None of this should be constrained by the amount of memory on the machine, as the process was only using about 10-15% of total available RAM on the machine.
sessionInfo
The text was updated successfully, but these errors were encountered: