From 8bf841386807552b76a431527eefd801e723f9c8 Mon Sep 17 00:00:00 2001 From: Rickard Green Date: Tue, 5 Oct 2021 22:17:51 +0200 Subject: Fix faulty recv mark assert --- erts/emulator/beam/erl_proc_sig_queue.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/erts/emulator/beam/erl_proc_sig_queue.c b/erts/emulator/beam/erl_proc_sig_queue.c index 49c03739c3..455c7d44be 100644 --- a/erts/emulator/beam/erl_proc_sig_queue.c +++ b/erts/emulator/beam/erl_proc_sig_queue.c @@ -3271,11 +3271,10 @@ recv_marker_insert(Process *c_p, ErtsRecvMarker *markp, int setting) if (!setting && *c_p->sig_qs.save == (ErtsMessage *) &markp->sig) { /* - * This should most likely never happen (which is why the assert - * is here), but if it does, leave the message queue in a valid - * state... + * This can happen when a recv marker recently entered the message + * queue via erts_proc_sig_handle_incoming() through the midddle + * signal queue... */ - ASSERT(0); markp->pass++; c_p->sig_qs.save = c_p->sig_qs.last; } -- cgit v1.2.1