Ошибка при запуске файла в определенной папке, в то время как тот же файл без проблем запускается в других папках

Я запускаю один и тот же R файл (file.R) в 12 папках одновременно (m1, m2,... m12) с помощью суперкомпьютера. Файл имеет точно такое же имя и содержимое, разница лишь в том, что он содержится в разных папках. Ни в одной из папок нет файла .RData. Все файлы вызывают один и тот же файл .RData в другой папке. Аналогично для R packages.

Файл работает гладко во всех папках, но в папке m2, где вывод файла .Rout:

Error in load(name, envir = .GlobalEnv) : 
  ReadItem: unknown type 0, perhaps written by later version of R
Calls: sys.load.image -> load
Execution halted

Файл начинается с:

##############################################################################
##                                                                          ##
##                              -  -  -  -  -  -                            ##
##                                                                          ##
##                           S I M U L A T I O N S                          ##
############################################################################## 
require(tidyverse)
require(dplyr)
require(scales)
require(pracma)
require(foreach)
require(doSNOW)

а файл .Rout даже не печатает комментарии и пакеты. Он немедленно выходит с этим сообщением об ошибке. Я не понимаю, почему папка m2 такая исключительная. Любая идея об этой ошибке?

PS: извините, я знаю, что не привожу вам воспроизводимый пример, но я просто не могу его воспроизвести. Запуск bsub -n 2 -q long_int -Ip -W 48:00 -R "rusage[mem=20000]" -M 20000 -hl R CMD BATCH simulation_doParallel2.R работает нормально.


person Andrew    schedule 27.07.2019    source источник
comment
Не хватает много информации... Есть ли .RData (да, это полное имя) внутри m2? Помогает ли добавление --vanilla к опциям R? Будет ли работать, если вы переименуете m2 во что-то другое? Будет ли это работать, если вы сделаете символическую ссылку (или даже скопируете, но я понимаю, что это противоречит цели) ваш .RData в каждую папку?   -  person Zé Loff    schedule 30.07.2019
comment
Нет файла данных в m2. Скрипт вызывает данные из другой папки. Вариант --vanilla не пробовал. Да, это работает с другим именем.   -  person Andrew    schedule 30.07.2019
comment
Существует вызов sys.load.image, который запускается до запуска чего-либо еще, и это предполагает, что внутри m2 есть что-то, что автоматически загружается во время последовательность запуска... Наиболее вероятным виновником может быть файл .RData (обычно скрытый).   -  person Zé Loff    schedule 30.07.2019
comment
Я вижу, но в папке есть только другие файлы .R или файлы .Rout.   -  person Andrew    schedule 30.07.2019
comment
@ Эндрю, я знаю, что немного побью здесь дохлую лошадь, но, чтобы быть на 100% уверенным, ты проверил скрытые файлы? Поскольку вы говорите, что это суперкомпьютер, я предполагаю, что вы работаете в Linux, поэтому это будет выполнено в терминале через ls -a (при условии, что ваш текущий рабочий каталог терминала был m2)   -  person duckmayr    schedule 31.07.2019
comment
Может есть блокировки или пустые файлы? см. это.   -  person Alexis    schedule 01.08.2019
comment
Да, в папке был спрятан .RData. Спасибо @Andrew. Я должен дать вам правильный ответ.   -  person Andrew    schedule 02.08.2019


Ответы (1)


я думаю, что в папке, из которой вы вызываете Rscript, может быть .RData ... может быть дома

запустить: find /home -iname *.RData чтобы найти файл

person Daniel Fischer    schedule 02.08.2019