我有一大堆代码,有时会破坏,就我所见,随机出现错误信息:
此应用程序已请求运行时将其终止 不寻常的方式请联系应用程序的支持团队获取更多信息 信息。
有些研究表明,在调用C runtime
时,这似乎是一条Windows / abort
消息(请参阅此示例link)。这让我很疯狂:因为它不是R
抛出的错误,我不知道在哪里看。有没有人知道R
或data.table
(如果包可能会调用abort
[??]中的C runtime
函数)调用{{1}功能?
以下是一些进一步的信息:
abort
,2.13.1
和2.13.2
进行了尝试。2.14.0
的大小有关。当我人为地减小较大data.tables
的大小时,代码就像一个魅力。然而有趣的是,一台机器的RAM比另一台机器多得多(16 GB与6 GB相比)。然而,这个额外的RAM并没有真正帮助,至少看起来如此。data.table
操作时(虽然因为我的代码很大程度上依赖于data.table
),但这并不意味着很多。但是,即使我不调用Sweave,但只是运行代码,它有时也会破坏。所以它似乎与Sweave无关。data.table
,但通过在普通R命令窗口中运行代码来重现此行为。这基本上是我提出的所有可能的解释。因此,如果任何人对此错误的来源或我可以检查的其他内容有任何提示,那就太棒了。
PS:接下来的几天我不会在我的机器上,所以当我不立即给出反馈时,我希望你原谅我。不过,我想在圣诞节之前发布这个问题,否则我无法用我心爱的RStudio
痛苦来享受它,我坐在家里,而不是试图治愈它......
更新
我进一步研究了这个问题,过了一会儿,我得到了一个相当简单的例子R
打破了我的R会话。如果这个问题得到修复并且它解决了这里描述的R崩溃(请注意,这是一个很大的问题因为我在data.table list上发布的示例只是打破了我的R会话并且没有以错误消息结束它这里描述),我会在这里写一个答案并接受它。
答案 0 :(得分:1)
突然,rvest
包裹出现同样的错误:
raw_HTML %>% html_nodes(xpath=HTML_table_xpath)
切换到R 3.3.1 64位修复了问题(现在仍然是32位R)。对某些人来说,这可能是一种解决方法。就我而言,rJava
包需要32位R :(
如果它可以帮助任何人:
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] rvest_0.3.2 xml2_1.0.0 xts_0.9-7 zoo_1.7-13 doParallel_1.0.10 iterators_1.0.8
[7] foreach_1.4.3 plyr_1.8.4 jsonlite_0.9.22 futile.logger_1.4.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.5 lattice_0.20-33 codetools_0.2-14 XML_3.98-1.4 R6_2.1.2 grid_3.3.1
[7] futile.options_1.0.0 magrittr_1.5 mail_1.0 httr_1.2.0 stringi_1.1.1 curl_0.9.7
[13] lambda.r_1.1.7 tools_3.3.1 stringr_1.0.0 selectr_0.2-3
答案 1 :(得分:0)
好的,这基本上是一个很难检测data.table
的问题,应该用版本1.7.8修复。有关详细信息,请参阅NEWS文件。