File 7973-erts-Avoid-incorrect-exception-trace-of-terminating-.patch of Package erlang

From 5af5d4ff659dcdfd04f1c8cf0c91a908715e768a Mon Sep 17 00:00:00 2001
From: Sverker Eriksson <sverker@erlang.org>
Date: Wed, 1 Feb 2023 18:24:32 +0100
Subject: [PATCH 3/4] erts: Avoid incorrect exception trace of terminating
 processes

Add EXF_PANIC flag to skip exception trace in handle_error().
---
 erts/emulator/beam/bif.h         | 10 +++++-----
 erts/emulator/beam/erl_process.c |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/erts/emulator/beam/bif.h b/erts/emulator/beam/bif.h
index bad047b92f..19052d8d2d 100644
--- a/erts/emulator/beam/bif.h
+++ b/erts/emulator/beam/bif.h
@@ -474,13 +474,13 @@ extern Export erts_bif_handle_signals_return_export;
 #define ERTS_BIF_PREP_EXITED(RET, PROC)	                                \
 do {                                                                    \
     KILL_CATCHES((PROC));                                               \
-    ERTS_BIF_PREP_ERROR((RET), (PROC), EXTAG_EXIT);                     \
+    ERTS_BIF_PREP_ERROR((RET), (PROC), EXTAG_EXIT | EXF_PANIC);         \
 } while (0)
 
-#define ERTS_BIF_EXITED(PROC)		\
-do {					\
-    KILL_CATCHES((PROC));		\
-    BIF_ERROR((PROC), EXTAG_EXIT);	\
+#define ERTS_BIF_EXITED(PROC)		        \
+do {					        \
+    KILL_CATCHES((PROC));		        \
+    BIF_ERROR((PROC), EXTAG_EXIT | EXF_PANIC);	\
 } while (0)
 
 #define ERTS_BIF_CHK_EXITED(PROC)	\
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index 65a6e1c6ad..a632a7d7dc 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -12796,7 +12796,7 @@ erts_set_self_exiting(Process *c_p, Eterm reason)
     erts_proc_lock(c_p, ERTS_PROC_LOCKS_ALL_MINOR);
 
     set_self_exiting(c_p, reason, &enqueue, &enq_prio, &state);
-    c_p->freason = EXTAG_EXIT;
+    c_p->freason = EXTAG_EXIT | EXF_PANIC;
     KILL_CATCHES(c_p);
     c_p->i = beam_exit;
 
-- 
2.35.3

openSUSE Build Service is sponsored by