PS. see also the -:da flag of the Gambit system. Maybe it's enough if you somehow start up your remote nodes with that flag.
$ gsi -:da Gambit v4.0.1
(define t (thread-start! (make-thread (lambda() (error "hello") (+ 3
4)))))
(thread-join! t)
------------- REPL is now in #<thread #2> ------------- *** ERROR IN #<procedure #3>, (console)@1.49 -- hello
,b
0 #<procedure #3> (console)@1:49 (error "hello") 1 ##thread-start-action!
,y
0 #<procedure #3> (console)@1.49 (error "hello")
,(c 3)
7 ------------- REPL is now in #<thread #1 primordial> -------------
*** EOF again to exit $ gsi Gambit v4.0.1
(define t (thread-start! (make-thread (lambda() (error "hello") (+ 3
4)))))
(thread-join! t)
*** ERROR IN (console)@2.1 -- Uncaught exception: #<error-exception #2> (thread-join! '#<thread #3>) 1>