Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
rabbitmq-server
0001-Avoid-using-erlang-get_stacktrace-0-for-im...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Avoid-using-erlang-get_stacktrace-0-for-improved-OTP.patch of Package rabbitmq-server
From cbf147537ebfa057ce111b8fac95beb69b7e04c0 Mon Sep 17 00:00:00 2001 From: Michael Klishin <michael@clojurewerkz.org> Date: Thu, 27 Feb 2020 22:33:24 +0300 Subject: [PATCH] Avoid using erlang:get_stacktrace/0 for improved OTP 23/24 compat (cherry picked from commit 8ce1f32351a1536f687eb7e797be6e53b283c730) --- src/rabbit_channel.erl | 4 ++-- src/rabbit_node_monitor.erl | 4 ++-- src/rabbit_reader.erl | 5 ++--- src/rabbit_vhost_process.erl | 4 ++-- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 3c4478ab54..43b313e2df 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -587,8 +587,8 @@ handle_cast({method, Method, Content, Flow}, 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:Stacktrace -> + {stop, {Reason, Stacktrace}, State} end; handle_cast(ready_for_close, State = #ch{state = closing, diff --git a/src/rabbit_node_monitor.erl b/src/rabbit_node_monitor.erl index cc2558bb29..9576cd701b 100644 --- a/src/rabbit_node_monitor.erl +++ b/src/rabbit_node_monitor.erl @@ -740,10 +740,10 @@ register_outside_app_process(Fun, WaitForExistingProcess) -> do_run_outside_app_fun(Fun) -> try Fun() - catch _:E -> + catch _:E:Stacktrace -> rabbit_log:error( "rabbit_outside_app_process:~n~p~n~p~n", - [E, erlang:get_stacktrace()]) + [E, Stacktrace]) end. wait_for_cluster_recovery(Condition) -> diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index 84eed93811..defc7a7fd7 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -1128,9 +1128,8 @@ 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(), - handle_exception(State, 0, {Type, Reason, MethodName, Stack}) + Type:Reason:Stacktrace -> + handle_exception(State, 0, {Type, Reason, MethodName, Stacktrace}) end. handle_method0(#'connection.start_ok'{mechanism = Mechanism, diff --git a/src/rabbit_vhost_process.erl b/src/rabbit_vhost_process.erl index 3056006f43..6a35d88a74 100644 --- a/src/rabbit_vhost_process.erl +++ b/src/rabbit_vhost_process.erl @@ -59,11 +59,11 @@ init([VHost]) -> timer:send_interval(Interval, check_vhost), true = erlang:garbage_collect(), {ok, VHost} - catch _:Reason -> + catch _:Reason:Stacktrace -> rabbit_amqqueue:mark_local_durable_queues_stopped(VHost), rabbit_log:error("Unable to recover vhost ~p data. Reason ~p~n" " Stacktrace ~p", - [VHost, Reason, erlang:get_stacktrace()]), + [VHost, Reason, Stacktrace]), {stop, Reason} end. -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor