You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (debug) mdebugf("- Detected interrupted %s whose result cannot be retrieved", sQuote(class(future)[1]))
351
-
label<-future[["label"]]
352
-
if (is.null(label)) label<-"<none>"
353
-
process<-future[["process"]]
354
-
pid<-process$get_pid()
355
-
msg<- sprintf("A future ('%s') of class %s was interrupted, while running on localhost (pid %d)", label, class(future)[1], pid)
372
+
msg<- sprintf("A future ('%s') of class %s was interrupted (exit code %d), while running on localhost (pid %d)", label, class(future)[1], exit_code, pid)
356
373
result<- FutureInterruptError(msg, future=future)
357
374
future[["result"]] <-result
358
375
stop(result)
359
376
}
360
377
361
-
if (inherits(result, "FutureLaunchError")) {
378
+
## Was the future implicitly interrupted?
379
+
if (!alive) {
380
+
msg<- sprintf("A future ('%s') of class %s was interrupted for unknown reasons (exit code %s), while running on localhost (pid %d)", label, class(future)[1], exit_code, pid)
381
+
result<- FutureInterruptError(msg, future=future)
382
+
future[["state"]] <-"interrupted"
362
383
future[["result"]] <-result
363
384
stop(result)
364
385
}
365
386
387
+
## Other, unknown reason for callr failure
366
388
msg<- post_mortem_failure(result, future=future)
367
389
ex<- CallrFutureError(msg, future=future)
368
-
369
-
## Remove future from FutureRegistry?
370
-
if (!process$is_alive()) {
371
-
reg<-backend[["reg"]]
372
-
if (FutureRegistry(reg, action="contains", future=future)) {
0 commit comments