Ошибка в foreach? Ошибка в задании ПОСЛЕ того, как все задания выполнены / объединены? - PullRequest
2 голосов
/ 28 июля 2011

У меня есть foreach, использующий .combine = rbind и со 112 задачами, 6 параллельных операций одновременно.С подробным включением я вижу, что все задачи завершены и объединяются, но затем я получаю сообщение «задача 6 не выполнена -« отсутствует значение, где требуется ИСТИНА / ЛОЖЬ »

Поэтому я попытался запустить только последние 12 задачи все работало нормально! Таким образом, последние 12, похоже, не имеют никаких проблем, и, согласно многословному выводу, первые 100 успешно объединены.

help! =)

numValues: 112, numResults: 0, stopped: TRUE
automatically exporting the following variables from the local environment:
  data, dependentVariables, groupByVariable, numberOfBinsForMissingValueHistogram, outputDirectory 
got results for task 1
numValues: 112, numResults: 1, stopped: TRUE
returning status FALSE
...
got results for task 100
numValues: 112, numResults: 100, stopped: TRUE
first call to combine function
evaluating call object to combine results:
  fun(result.1, result.2, result.3, result.4, result.5, result.7, 
    result.8, result.9, result.10, result.11, result.12, result.13, 
    result.14, result.15, result.16, result.17, result.18, result.19, 
    result.20, result.21, result.22, result.23, result.24, result.25, 
    result.26, result.27, result.28, result.29, result.30, result.31, 
    result.32, result.33, result.34, result.35, result.36, result.37, 
    result.38, result.39, result.40, result.41, result.42, result.43, 
    result.44, result.45, result.46, result.47, result.48, result.49, 
    result.50, result.51, result.52, result.53, result.54, result.55, 
    result.56, result.57, result.59, result.60, result.61, result.62, 
    result.63, result.64, result.65, result.66, result.67, result.68, 
    result.69, result.70, result.71, result.72, result.73, result.74, 
    result.75, result.76, result.77, result.78, result.79, result.80, 
    result.81, result.82, result.83, result.84, result.85, result.86, 
    result.87, result.88, result.89, result.90, result.91, result.92, 
    result.93, result.94, result.95, result.96, result.97, result.98, 
    result.99, result.100)
returning status FALSE
got results for task 101
numValues: 112, numResults: 101, stopped: TRUE
...
got results for task 112
numValues: 112, numResults: 112, stopped: TRUE
calling combine function
evaluating call object to combine results:
  fun(accum, result.101, result.102, result.103, result.104, result.105, 
    result.106, result.107, result.108, result.109, result.110, 
    result.111, result.112)
returning status TRUE
Error in { : task 6 failed - "missing value where TRUE/FALSE needed"

1 Ответ

4 голосов
/ 28 июля 2011

Было бы полезно узнать, что именно вы делаете ... Подобные вещи могут происходить со случайными процессами, расширенными методами подгонки, которые могут зависеть от параметров запуска, нарушенными входными объектами и так далее. traceback() также может помочь, хотя вывод traceback() может быть довольно нечитаемым в случае параллельных задач. Но, по сути, что-то не так с комбинацией конкретного входа и вашей функции.

Что касается ошибки, надеюсь, вы заметили, что результат.6 никогда не включался в комбайн. Поэтому я бы сначала посмотрел, что именно происходит в задаче 6, и почему она не возвращает никаких результатов.

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