Reputation: 1704
I don't know what is going on, everything was working great but suddenly I started to have this error message on the documentation:
Error in fetch(key) : lazy-load database '......descopl.rdb' is corrupt
I removed almost all my code and build again then publish to Github, but when I use the other laptop to download the package, the package is being downloaded and loaded but I can't call any of the functions, and the documentation states that error.
I don't know what caused the problem, I am using roxygen to generate the documentation.
https://github.com/WilliamKinaan/descopl
Upvotes: 111
Views: 113120
Reputation: 34763
Basically all answers require restarting R to resolve the issue, but I found myself in an environment where I really didn't want to restart R.
I am posting here a somewhat hack-ish solution suggested by Jim Hester in a bug report about the lazy-load corruption issue.
The gist of it is that the package may have some vestigial S3 methods listed in session's .__S3MethodsTable__.
environment. I don't have a very systematic way of identifying which S3 methods in that environment come from where, but I think a good place to start is the print
methods, and looking for S3method
registrations in the package's NAMESPACE
.
You can then remove those S3 methods from the .__S3MethodsTable__.
environment and try again, e.g.
rm(list="print.object", envir = get(".__S3MethodsTable__.", envir = baseenv()))
You may also need to unload some DLLs if some new messages come up like
no such symbol glue_ in package /usr/local/lib/R/site-library/glue/libs/glue.so
You can check getLoadedDLLs()
to see which such files are loaded in your session. In the case of glue
here, the following resolved the issue:
library.dynam.unload('glue', '/usr/local/lib/R/site-library/glue')
Upvotes: 6
Reputation: 29
I got this error on RStudio on mac OS - updating all the packages and restarting r session did the trick.
Upvotes: -1
Reputation: 52728
I received this error after re-installing a library whilst another R session was running.
Simply restarting the existing R session(s) solved for me (i.e. running .rs.restartR()
to restart the sessions)
Upvotes: 6
Reputation: 21
If you are using R-studio: 1) ctrl+shift+f10 to restart r session 2) tools -> Check for package updates -> update all packages 3) library(ggmap)
Problem is solved.
Upvotes: 2
Reputation: 2043
It seems that the error arises when the package cannot be decompressed by R (as @rawr established, it is corrupt). This solutions have worked for me:
1) Check for possible errors in the creation of the .Rdb
files
2) Try restarting your R session (e.g. .rs.restartR()
if in RStudio)
3) The package might have been installed in your computer (even though it does not work). Remove it using ?remove.packages()
Upvotes: 158
Reputation: 906
I think the explanation for what is causing this is here. It's related to devtools. Per @Zfunk
cd ~/Rlibs/descopl/help
rm *.rdb
Restart R. Look at the help for the package again. Fixed!
Upvotes: 6
Reputation: 1193
I have had this problem with roxygen2
as well. Couldn't see any problem with any of my functions. In the end deleting the .rdb
file and then getting roxygen2 to rebuild it seemed to solve the problem.
Upvotes: 8