3

据我随机看到,我有相当大的代码块有时会中断,并显示错误消息:

此应用程序已请求运行时以不寻常的方式终止它。请联系应用程序的支持团队以获取更多信息。

一些研究表明,当被调用时,这似乎是一条 Windows/C runtime消息abort(例如,请参见此链接)。这让我发疯:因为这不是R我不知道去哪里引发的错误。有没有人知道在哪里R或可能data.table(如果一个包abortC runtime[??] 中调用该函数)调用该abort函数?

以下是一些进一步的信息:

  1. 问题与机器无关:我在两台不同的机器上尝试过,有时它们都崩溃了。
  2. 问题与 R 版本无关:我尝试使用2.13.12.13.22.14.0.
  3. 两台机器都运行 Windows 7(64 位)。
  4. 这个问题似乎与我的data.tables. 当我人为地减小更大的大小时data.table,代码运行起来就像一个魅力。然而,有趣的是,一台机器的 RAM 比另一台机器大得多(16 GB 与 6 GB)。然而,这个额外的 RAM 并没有真正的帮助,至少看起来如此。
  5. 该问题不可重现,并且在我的代码中的不同部分中断。我注意到这一点是因为我的代码在 Sweave 文档中运行,所以我可以在 R 崩溃后打开 .tex 文件,并且它总是停在不同的位置。但是,它似乎总是在data.table调用操作时(但这并不意味着很多,因为我的代码严重依赖data.table)。然而,即使我不调用 Sweave,而只是运行代码,它有时也会中断。所以它似乎与 Sweave 无关。
  6. 它与我正在使用的编辑器无关。我使用RStudio,但通过在纯 R 命令窗口中运行代码来重现此行为。

这基本上是我想出的所有可能的解释。因此,如果有人对这个错误可能来自哪里或我还能检查什么有任何提示,那就太好了。

PS:接下来的几天我不会在我的机器上,所以如果我没有立即给出反馈,我希望你能原谅我。尽管如此,我还是想在圣诞节前发布这个问题,否则我无法享受我心爱的R痛苦,我正坐在家里,而不是试图治愈它......

更新

我进一步研究了这个问题,过了一会儿,我得到了一个相当小的例子,data.table 它打破了我的 R 会话。如果此问题已得到解决并解决了此处所述的 R 崩溃(请注意,这是一个很大的问题,因为我在 data.table 列表中发布的示例只是中断了我的 R 会话并且没有以我描述的错误消息结束它这里),我会在这里写一个答案并接受它。

4

2 回答 2

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   
于 2016-06-28T16:38:58.713 回答
0

好的,这基本上是一个难以检测的问题data.table,应该在 1.7.8 版本中修复。有关详细信息,请参阅新闻文件。

于 2012-01-26T19:43:18.813 回答