У меня довольно большой кусок кода, который иногда прерывается, насколько я вижу случайным образом, с сообщением об ошибке:
Это приложение запросило среду выполнения прекратить его в
Необычный способ. Пожалуйста, свяжитесь со службой поддержки приложения для более
информация.
Некоторые исследования показали, что это сообщение Windows / C runtime
при вызове abort
(см., Например, ссылка ). Это сводит меня с ума: поскольку это не ошибка, выдаваемая R
, я понятия не имею, где искать. Кто-нибудь знает, где R
или, может быть, data.table
(если возможно, что пакет вызывает функцию abort
в C runtime
[??]), вызывает функцию abort
?
Вот дополнительная информация:
- Проблема не зависит от машины: я пробовал ее на двух разных машинах, иногда она зависала на обеих.
- Проблема не зависит от версии R: я пробовал ее с
2.13.1
, 2.13.2
и 2.14.0
.
- Обе машины работают под управлением Windows 7 (64-разрядная версия).
- Проблема, похоже, связана с размером моего
data.tables
. Когда я искусственно уменьшаю размер большего data.table
, код работает как шарм. Интересно, однако, что одна машина имеет гораздо больше оперативной памяти, чем другая (16 ГБ по сравнению с 6 ГБ). Однако это дополнительное ОЗУ не очень помогает, по крайней мере, так кажется.
- Проблема не воспроизводима и разбивается в разных разделах моего кода. Я заметил это, потому что мой код запускается в документе Sweave, поэтому я могу открыть файл .tex после сбоя R, и он всегда останавливается в другой позиции. Тем не менее, это всегда происходит, когда вызывается операция
data.table
(хотя это мало что значит, потому что мой код сильно зависит от data.table
). Однако, даже когда я не вызываю Sweave, а просто запускаю код, иногда он тоже ломается. Так что, похоже, это не имеет отношения к Sweave.
- Это не имеет никакого отношения к редактору, который я использую. Я использую
RStudio
, но воспроизвел это поведение, запустив код в обычном командном окне R.
Это в основном все возможные объяснения, которые я придумал. Так что было бы здорово, если бы у кого-нибудь были какие-либо подсказки о том, откуда могла появиться эта ошибка или что еще я мог бы проверить.
PS: Я не буду на своей машине в ближайшие пару дней, поэтому я надеюсь, что вы простите меня, когда я не оставлю отзыв сразу. Тем не менее, я хотел опубликовать этот вопрос до Рождества, иначе я не мог бы наслаждаться этим со своими любимыми R
страданиями, и я сижу дома, не пытаясь вылечить это ...
UPDATE
Я изучил проблему и через некоторое время получил довольно минимальный пример с data.table
, который прерывает мой R-сеанс. Если эта проблема устранена и она решает сбой R, как описано здесь (обратите внимание, что это большая проблема, если, поскольку пример, который я разместил в списке data.table , просто прерывает мой сеанс R и не завершает его с сообщением об ошибке, которое я описал здесь), я напишу здесь ответ и приму его.