From 19e928271b5fea9ee07125a1ca938a65f83a0504 Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Wed, 5 Dec 2018 16:13:57 +0100 Subject: [PATCH] run/depot_autopilot: reboot on some kernel faults --- repos/gems/run/depot_autopilot.run | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/repos/gems/run/depot_autopilot.run b/repos/gems/run/depot_autopilot.run index 3dfc316369..5afd475011 100644 --- a/repos/gems/run/depot_autopilot.run +++ b/repos/gems/run/depot_autopilot.run @@ -56,6 +56,21 @@ proc autopilot_wait_for_output { wait_for_re timeout_value running_spawn_id } { expect { -i $running_spawn_id $platform_msg { puts stderr "Error: platform rebooted unexpectedly"; exit -4 } -i $running_spawn_id -re $wait_for_re { } + + # pistachio kernel fault + -i $running_spawn_id -re {--- "KD# Exception caught" ---} { + puts stderr "Error: Kernel fault"; + global reboot + set reboot 1 + return + } + # sel4 unknown fault caught by core + -i $running_spawn_id -re {Error: unexpected exception during fault.*stopped} { + puts stderr "Error: Unknown fault"; + global reboot + set reboot 1 + } + # can happen, for instance, on socat TCP-timeout eof { puts stderr "Error: Spawned process died unexpectedly"; global reboot