From 3f60dcfae831fe3b9b244c0c27a74bb8a4e43b9d Mon Sep 17 00:00:00 2001 From: Martin Stein Date: Mon, 7 Jan 2019 20:42:43 +0100 Subject: [PATCH] sel4 run/depot_autopilot: handle resource leak After a certain number of tests, presumably some resource in core is exceeded and loading the successive test fails. This quickfix looks out for the characteristic Core error and then reboots to avoid that all successive tests are marked as failed. --- repos/gems/run/depot_autopilot.run | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/repos/gems/run/depot_autopilot.run b/repos/gems/run/depot_autopilot.run index 051bda3960..9b8bd6c61d 100644 --- a/repos/gems/run/depot_autopilot.run +++ b/repos/gems/run/depot_autopilot.run @@ -38,14 +38,20 @@ proc autopilot_wait_for_output { wait_for_re timeout_value running_spawn_id } { -i $running_spawn_id $platform_msg { puts stderr "Error: platform rebooted unexpectedly"; exit -4 } -i $running_spawn_id -re $wait_for_re { } + # sel4 + -i $running_spawn_id -re {Error: ~Cnode - not implemented.*?\n} { + puts stderr "Error: Core presumably went out of resources"; + set run_genode_failed 1 + return + } # pistachio kernel fault - -i $running_spawn_id -re {--- "KD# Exception caught" ---} { + -i $running_spawn_id -re {--- "KD# Exception caught" ---.*?\n} { puts stderr "Error: Kernel fault"; set run_genode_failed 1 return } # sel4 unknown fault caught by core - -i $running_spawn_id -re {Error: unexpected exception during fault.*stopped} { + -i $running_spawn_id -re {Error: unexpected exception during fault.*?stopped.*?\n} { puts stderr "Error: Unknown fault"; set run_genode_failed 1 return