From 4dfbb1c4984170a8586f08e06d6e69bc46612857 Mon Sep 17 00:00:00 2001 From: Keno Fischer Date: Sat, 21 Sep 2024 00:59:42 +0000 Subject: [PATCH] Re-order syscallbuf unmapping and stashed signal injection Fixes assertion in #3831. Using AutoRemoteSyscalls is not permitted after the signal injection check, since it could cause additional signals to be stashed. --- src/RecordSession.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RecordSession.cc b/src/RecordSession.cc index 6888c71b535..1a2d2906dc0 100644 --- a/src/RecordSession.cc +++ b/src/RecordSession.cc @@ -936,7 +936,6 @@ void RecordSession::task_continue(const StepState& step_state) { } } } - t->unmap_dead_syscallbufs_if_required(); t->resume_execution(resume, RESUME_NONBLOCKING, ticks_request); } @@ -2709,6 +2708,7 @@ RecordSession::RecordResult RecordSession::record_step() { } t->verify_signal_states(); + t->unmap_dead_syscallbufs_if_required(); // We try to inject a signal if there's one pending; otherwise we continue // task execution.