From 59cb7d9263fa757be3aa95f302629bedd7755038 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Mon, 4 Nov 2013 11:05:10 +0100 Subject: [PATCH] nova: show error message for un-handled exception Fixes #938 --- base-nova/src/base/pager/pager.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/base-nova/src/base/pager/pager.cc b/base-nova/src/base/pager/pager.cc index fcdd93158d..a54b8775da 100644 --- a/base-nova/src/base/pager/pager.cc +++ b/base-nova/src/base/pager/pager.cc @@ -103,7 +103,7 @@ void Pager_object::_exception_handler(addr_t portal_id) Pager_object *obj; Utcb *utcb = _check_handler(myself, obj); addr_t fault_ip = utcb->ip; - uint8_t res = Nova::NOVA_OK; + uint8_t res = 0xFF; if (obj->submit_exception_signal()) res = obj->client_recall(); @@ -113,7 +113,9 @@ void Pager_object::_exception_handler(addr_t portal_id) myself->name(client_name, sizeof(client_name)); PWRN("unresolvable exception at ip 0x%lx, exception portal 0x%lx, %s, " - "'%s'", fault_ip, portal_id, res == NOVA_OK ? "" : "recall failed", + "'%s'", fault_ip, + portal_id, res == 0xFF ? "no signal handler" : + res == NOVA_OK ? "" : "recall failed", client_name); Nova::revoke(Obj_crd(portal_id, 0));