更新后显示 ggplot 时 R 崩溃(进程内存读取超出范围)
R crashing while displaying ggplot after update (process memory read out of range)
我刚刚更新到 R 4.1.0 并重新安装了我的包和 Rstudio(在 Ubuntu 20.04 上)。现在,当我尝试制作任何 ggplot 时,R 内存不足并崩溃。错误消息很长,我无法完全阅读它,因为 R 会话立即中止,但它提到 "missing nul terminator"
、"process memory read out of range"
和一堆 [XXXX:XXXX:YYYYYYYY,ZZZZZZ,AAAAAA ERROR: elf_dynamic_array_reader.h:61] tag not found
行,最后是 [XXXX:XXXX:YYYYYYYY,ZZZZZZ,AAAAAA] ERROR directory_reader_posix.cc:42] opendir: No such file or directory (2)
(其中 X、Y、Z 和 A 是数字)。
最初我的数据出现此错误,但似乎任何 ggplot 都会发生此错误:
library(ggplot2)
ggplot(mtcars, aes(x = cyl, y = mpg)) + geom_boxplot()
我认为这与实际显示绘图有关,因为当我将绘图保存到变量中然后 ggsave()
它不会崩溃,并且生成的文件很好。当我在下一行带有 ggsave()
的函数中执行 ggplot(...)
时也可以。
同样的图在 base R 中工作正常。
boxplot(mpg~cyl, data = mtcars)
==> 在绘图窗格中显示箱线图
用 install.packages()
重新安装 ggplot2 没有解决问题,我再次尝试 sudo apt install ./rstudio-1.4.1106-amd64.deb
但它只是说 Rstudio 已经是最新版本了。
PSA: If you're an RStudio user planning to upgrade to R 4.1.0, you may want to install the preview release of RStudio (https://rstudio.com/products/rstudio/download/preview/) -- otherwise, you may see RStudio crash when you try to use ggplot2.
版本号是“1.4.1714-2 预览版”,远远领先于您通过 apt
安装的 1.4.1106 版本。该页面上的发行说明包括
Support for the upcoming R 4.1.0 release, including the new |> pipe, (x) function shorthand, and new graphics engine.
另一种选择是降级 R 到旧版本;对于 Windows 4.0.5 二进制文件似乎可用 here. Unfortunately, the MacOS download page 在以前的版本中似乎只提供 3.6.3(不是任何 4.0.x 版本)——感觉还有很长的路要走降级。
我刚刚遇到了同样的问题并检查了 RStudio 以获取更新。在撰写本文时,他们现在拥有 Debian/Ubuntu 版本 1.4.1717(我是 运行 Ubuntu 20)。更新已修复我的 ggplot 问题并出现相同的警告。
我刚刚更新到 R 4.1.0 并重新安装了我的包和 Rstudio(在 Ubuntu 20.04 上)。现在,当我尝试制作任何 ggplot 时,R 内存不足并崩溃。错误消息很长,我无法完全阅读它,因为 R 会话立即中止,但它提到 "missing nul terminator"
、"process memory read out of range"
和一堆 [XXXX:XXXX:YYYYYYYY,ZZZZZZ,AAAAAA ERROR: elf_dynamic_array_reader.h:61] tag not found
行,最后是 [XXXX:XXXX:YYYYYYYY,ZZZZZZ,AAAAAA] ERROR directory_reader_posix.cc:42] opendir: No such file or directory (2)
(其中 X、Y、Z 和 A 是数字)。
最初我的数据出现此错误,但似乎任何 ggplot 都会发生此错误:
library(ggplot2)
ggplot(mtcars, aes(x = cyl, y = mpg)) + geom_boxplot()
我认为这与实际显示绘图有关,因为当我将绘图保存到变量中然后 ggsave()
它不会崩溃,并且生成的文件很好。当我在下一行带有 ggsave()
的函数中执行 ggplot(...)
时也可以。
同样的图在 base R 中工作正常。
boxplot(mpg~cyl, data = mtcars)
==> 在绘图窗格中显示箱线图
用 install.packages()
重新安装 ggplot2 没有解决问题,我再次尝试 sudo apt install ./rstudio-1.4.1106-amd64.deb
但它只是说 Rstudio 已经是最新版本了。
PSA: If you're an RStudio user planning to upgrade to R 4.1.0, you may want to install the preview release of RStudio (https://rstudio.com/products/rstudio/download/preview/) -- otherwise, you may see RStudio crash when you try to use ggplot2.
版本号是“1.4.1714-2 预览版”,远远领先于您通过 apt
安装的 1.4.1106 版本。该页面上的发行说明包括
Support for the upcoming R 4.1.0 release, including the new |> pipe, (x) function shorthand, and new graphics engine.
另一种选择是降级 R 到旧版本;对于 Windows 4.0.5 二进制文件似乎可用 here. Unfortunately, the MacOS download page 在以前的版本中似乎只提供 3.6.3(不是任何 4.0.x 版本)——感觉还有很长的路要走降级。
我刚刚遇到了同样的问题并检查了 RStudio 以获取更新。在撰写本文时,他们现在拥有 Debian/Ubuntu 版本 1.4.1717(我是 运行 Ubuntu 20)。更新已修复我的 ggplot 问题并出现相同的警告。