With setRunAllTasksInProcess(), if you run task A which runs task B and task B fails, the exception bubbles out of task A and aborts it.
This isn't consistent with how the tasks would execute in the real queue. Instead, the subtask failure should not abort execution of the parent task.