is no return value. If the code raises an unhandled exception then an ExecutionFailed exception is raised, which summarizes the unhandled exception. The actual exception is discarded because objects cannot be shared between interpreters. This blocks the current Python thread until done. During that time, the previous interpreter is allowed to run in other threads. Try