File rabbitmq-server-3.6.16-stacktrace.patch of Package rabbitmq-server

diff -Ndurp rabbitmq-server-3.6.16/src/rabbit_channel.erl rabbitmq-server-3.6.16-stacktrace/src/rabbit_channel.erl
--- rabbitmq-server-3.6.16/src/rabbit_channel.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/src/rabbit_channel.erl	2021-09-05 23:46:01.119847777 +0300
@@ -481,8 +481,8 @@ handle_cast({method, Method, Content, Fl
         exit:Reason = #amqp_error{} ->
             MethodName = rabbit_misc:method_record_type(Method),
             handle_exception(Reason#amqp_error{method = MethodName}, State);
-        _:Reason ->
-            {stop, {Reason, erlang:get_stacktrace()}, State}
+        _:Reason:Stack ->
+            {stop, {Reason, Stack}, State}
     end;
 
 handle_cast(ready_for_close, State = #ch{state      = closing,
diff -Ndurp rabbitmq-server-3.6.16/src/rabbit.erl rabbitmq-server-3.6.16-stacktrace/src/rabbit.erl
--- rabbitmq-server-3.6.16/src/rabbit.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/src/rabbit.erl	2021-09-05 23:47:36.345674853 +0300
@@ -426,8 +426,8 @@ start_it(StartFun) ->
                 catch
                     throw:{could_not_start, _App, _Reason} = Err ->
                         boot_error(Err, not_available);
-                    _:Reason ->
-                        boot_error(Reason, erlang:get_stacktrace())
+                    _:Reason:Stack ->
+                        boot_error(Reason, Stack)
                 after
                     unlink(Marker),
                     Marker ! stop,
diff -Ndurp rabbitmq-server-3.6.16/src/rabbit_error_logger_file_h.erl rabbitmq-server-3.6.16-stacktrace/src/rabbit_error_logger_file_h.erl
--- rabbitmq-server-3.6.16/src/rabbit_error_logger_file_h.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/src/rabbit_error_logger_file_h.erl	2021-09-05 23:46:09.515656196 +0300
@@ -120,11 +120,11 @@ safe_handle_event(HandleEvent, Event, St
     try
         HandleEvent(Event, State)
     catch
-        _:Error ->
+        _:Error:Stack ->
             io:format(
               "Error in log handler~n====================~n"
               "Event: ~P~nError: ~P~nStack trace: ~p~n~n",
-              [Event, 30, Error, 30, erlang:get_stacktrace()]),
+              [Event, 30, Error, 30, Stack]),
             {ok, State}
     end.
 
diff -Ndurp rabbitmq-server-3.6.16/src/rabbit_node_monitor.erl rabbitmq-server-3.6.16-stacktrace/src/rabbit_node_monitor.erl
--- rabbitmq-server-3.6.16/src/rabbit_node_monitor.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/src/rabbit_node_monitor.erl	2021-09-05 23:47:18.714077181 +0300
@@ -732,10 +732,10 @@ register_outside_app_process(Fun, WaitFo
 do_run_outside_app_fun(Fun) ->
     try
         Fun()
-    catch _:E ->
+    catch _:E:Stack ->
             rabbit_log:error(
               "rabbit_outside_app_process:~n~p~n~p~n",
-              [E, erlang:get_stacktrace()])
+              [E, Stack])
     end.
 
 wait_for_cluster_recovery(Condition) ->
diff -Ndurp rabbitmq-server-3.6.16/src/rabbit_reader.erl rabbitmq-server-3.6.16-stacktrace/src/rabbit_reader.erl
--- rabbitmq-server-3.6.16/src/rabbit_reader.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/src/rabbit_reader.erl	2021-09-05 23:45:46.236187431 +0300
@@ -1164,8 +1164,7 @@ handle_method0(MethodName, FieldsBin,
             throw({connection_closed_abruptly, State});
           exit:#amqp_error{method = none} = Reason ->
             handle_exception(State, 0, Reason#amqp_error{method = MethodName});
-          Type:Reason ->
-            Stack = erlang:get_stacktrace(),
+          Type:Reason:Stack ->
             handle_exception(State, 0, {Type, Reason, MethodName, Stack})
     end.
 
diff -Ndurp rabbitmq-server-3.6.16/test/backing_queue_SUITE.erl rabbitmq-server-3.6.16-stacktrace/test/backing_queue_SUITE.erl
--- rabbitmq-server-3.6.16/test/backing_queue_SUITE.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/test/backing_queue_SUITE.erl	2021-09-05 23:48:03.129063692 +0300
@@ -1391,8 +1391,8 @@ with_fresh_variable_queue(Fun, Mode) ->
                                  shutdown, Fun(VQ1, QName)),
                            Me ! Ref
                        catch
-                           Type:Error ->
-                               Me ! {Ref, Type, Error, erlang:get_stacktrace()}
+                           Type:Error:Stack ->
+                               Me ! {Ref, Type, Error, Stack}
                        end
                end),
     receive
diff -Ndurp rabbitmq-server-3.6.16/test/dynamic_ha_SUITE.erl rabbitmq-server-3.6.16-stacktrace/test/dynamic_ha_SUITE.erl
--- rabbitmq-server-3.6.16/test/dynamic_ha_SUITE.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/test/dynamic_ha_SUITE.erl	2021-09-05 23:49:13.515457569 +0300
@@ -522,8 +522,8 @@ get_stacktrace() ->
     try
         throw(e)
     catch
-        _:e ->
-            erlang:get_stacktrace()
+        _:e:Stack ->
+            Stack
     end.
 
 %%----------------------------------------------------------------------------
diff -Ndurp rabbitmq-server-3.6.16/test/mirrored_supervisor_SUITE.erl rabbitmq-server-3.6.16-stacktrace/test/mirrored_supervisor_SUITE.erl
--- rabbitmq-server-3.6.16/test/mirrored_supervisor_SUITE.erl	2018-05-28 22:10:54.000000000 +0300
+++ rabbitmq-server-3.6.16-stacktrace/test/mirrored_supervisor_SUITE.erl	2021-09-05 23:51:34.308244868 +0300
@@ -295,7 +295,7 @@ get_group(Group) ->
 call(Id, Msg) -> call(Id, Msg, 10*1000, 100).
 
 call(Id, Msg, 0, _Decr) ->
-    exit({timeout_waiting_for_server, {Id, Msg}, erlang:get_stacktrace()});
+    exit({timeout_waiting_for_server, {Id, Msg}, process_info(self(), current_stacktrace)});
 
 call(Id, Msg, MaxDelay, Decr) ->
     try
openSUSE Build Service is sponsored by