R завершается с сообщением об ошибке: Это приложение запросило среду выполнения прекратить его необычным способом - PullRequest
3 голосов
/ 23 декабря 2011

У меня довольно большой кусок кода, который иногда прерывается, насколько я вижу случайным образом, с сообщением об ошибке:

Это приложение запросило среду выполнения прекратить его в Необычный способ. Пожалуйста, свяжитесь со службой поддержки приложения для более информация.

Некоторые исследования показали, что это сообщение Windows / C runtime при вызове abort (см., Например, ссылка ). Это сводит меня с ума: поскольку это не ошибка, выдаваемая R, я понятия не имею, где искать. Кто-нибудь знает, где R или, может быть, data.table (если возможно, что пакет вызывает функцию abort в C runtime [??]), вызывает функцию abort?

Вот дополнительная информация:

  1. Проблема не зависит от машины: я пробовал ее на двух разных машинах, иногда она зависала на обеих.
  2. Проблема не зависит от версии R: я пробовал ее с 2.13.1, 2.13.2 и 2.14.0.
  3. Обе машины работают под управлением Windows 7 (64-разрядная версия).
  4. Проблема, похоже, связана с размером моего data.tables. Когда я искусственно уменьшаю размер большего data.table, код работает как шарм. Интересно, однако, что одна машина имеет гораздо больше оперативной памяти, чем другая (16 ГБ по сравнению с 6 ГБ). Однако это дополнительное ОЗУ не очень помогает, по крайней мере, так кажется.
  5. Проблема не воспроизводима и разбивается в разных разделах моего кода. Я заметил это, потому что мой код запускается в документе Sweave, поэтому я могу открыть файл .tex после сбоя R, и он всегда останавливается в другой позиции. Тем не менее, это всегда происходит, когда вызывается операция data.table (хотя это мало что значит, потому что мой код сильно зависит от data.table). Однако, даже когда я не вызываю Sweave, а просто запускаю код, иногда он тоже ломается. Так что, похоже, это не имеет отношения к Sweave.
  6. Это не имеет никакого отношения к редактору, который я использую. Я использую RStudio, но воспроизвел это поведение, запустив код в обычном командном окне R.

Это в основном все возможные объяснения, которые я придумал. Так что было бы здорово, если бы у кого-нибудь были какие-либо подсказки о том, откуда могла появиться эта ошибка или что еще я мог бы проверить.

PS: Я не буду на своей машине в ближайшие пару дней, поэтому я надеюсь, что вы простите меня, когда я не оставлю отзыв сразу. Тем не менее, я хотел опубликовать этот вопрос до Рождества, иначе я не мог бы наслаждаться этим со своими любимыми R страданиями, и я сижу дома, не пытаясь вылечить это ...

UPDATE

Я изучил проблему и через некоторое время получил довольно минимальный пример с data.table, который прерывает мой R-сеанс. Если эта проблема устранена и она решает сбой R, как описано здесь (обратите внимание, что это большая проблема, если, поскольку пример, который я разместил в списке data.table , просто прерывает мой сеанс R и не завершает его с сообщением об ошибке, которое я описал здесь), я напишу здесь ответ и приму его.

Ответы [ 2 ]

1 голос
/ 28 июня 2016

Внезапно та же ошибка возникла из пакета 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   
0 голосов
/ 26 января 2012

ОК, это было в основном трудно обнаружить проблему с data.table, которая должна быть исправлена ​​в версии 1.7.8.Для получения дополнительной информации см. Файл NEWS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...