From bf306fc0c99c613618353df090d94356d33885b7 Mon Sep 17 00:00:00 2001 From: xiaosuGW Date: Tue, 5 Oct 2021 17:08:51 -0400 Subject: [PATCH] fix assert failed problem: assert failed at current_sandbox is not in RUNNING_STATE --- runtime/include/sandbox_set_as_running.h | 4 ++-- runtime/include/scheduler.h | 2 +- runtime/src/software_interrupt.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/runtime/include/sandbox_set_as_running.h b/runtime/include/sandbox_set_as_running.h index 313355d..4fb5e3c 100644 --- a/runtime/include/sandbox_set_as_running.h +++ b/runtime/include/sandbox_set_as_running.h @@ -29,8 +29,8 @@ sandbox_set_as_running(struct sandbox *sandbox, sandbox_state_t last_state) sandbox->runnable_duration += duration_of_last_state; current_sandbox_set(sandbox); runtime_worker_threads_deadline[worker_thread_idx] = sandbox->absolute_deadline; - mem_log("time %lu sandbox starts running, request id:%d name %s obj=%p remaining slack %lu, last_rs %lu now %lu last %lu \n", start_execution, - sandbox->id, sandbox->module->name, sandbox, sandbox->remaining_slack, last_rs, now, last); + //mem_log("time %lu sandbox starts running, request id:%d name %s obj=%p remaining slack %lu, last_rs %lu now %lu last %lu \n", start_execution, + // sandbox->id, sandbox->module->name, sandbox, sandbox->remaining_slack, last_rs, now, last); /* Does not handle context switch because the caller knows if we need to use fast or slow switched */ break; } diff --git a/runtime/include/scheduler.h b/runtime/include/scheduler.h index 6b6dc46..0e5ee5e 100644 --- a/runtime/include/scheduler.h +++ b/runtime/include/scheduler.h @@ -210,7 +210,7 @@ scheduler_preempt(ucontext_t *user_context) struct sandbox *current = current_sandbox_get(); assert(current != NULL); - //assert(current->state == SANDBOX_RUNNING); + assert(current->state == SANDBOX_RUNNING); struct sandbox *next = scheduler_get_next(); assert(next != NULL); diff --git a/runtime/src/software_interrupt.c b/runtime/src/software_interrupt.c index 05b4977..f7cb2da 100644 --- a/runtime/src/software_interrupt.c +++ b/runtime/src/software_interrupt.c @@ -178,7 +178,7 @@ software_interrupt_handle_signals(int signal_type, siginfo_t *signal_info, void atomic_fetch_add(&software_interrupt_deferred_sigalrm, 1); } else { /* A worker thread received a SIGALRM while running a preemptable sandbox, so preempt */ - //assert(current_sandbox->state == SANDBOX_RUNNING); + assert(current_sandbox->state == SANDBOX_RUNNING); scheduler_preempt(user_context); } goto done;