summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorJim Apperly <jim@rabbitmq.com>2012-01-27 12:36:09 +0000
committerJim Apperly <jim@rabbitmq.com>2012-01-27 12:36:09 +0000
commit5f1c7d5e50c136a10149654f88f924fc2623c9d1 (patch)
tree106c0403dfb80576ae8d5ba9040fb7c811a02af9 /src/rabbit.erl
parent0143a21c0344072820d1efed6caa51430f59f855 (diff)
parent07cee505b0bdbbf01de7c50afe57e0aea75521af (diff)
downloadrabbitmq-server-git-5f1c7d5e50c136a10149654f88f924fc2623c9d1.tar.gz
Merge bug24601 into default
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 607033cb28..2354e55288 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -132,7 +132,7 @@
-rabbit_boot_step({recovery,
[{description, "exchange, queue and binding recovery"},
{mfa, {rabbit, recover, []}},
- {requires, empty_db_check},
+ {requires, core_initialized},
{enables, routing_ready}]}).
-rabbit_boot_step({mirror_queue_slave_sup,
@@ -158,8 +158,9 @@
{enables, networking}]}).
-rabbit_boot_step({direct_client,
- [{mfa, {rabbit_direct, boot, []}},
- {requires, log_relay}]}).
+ [{description, "direct client"},
+ {mfa, {rabbit_direct, boot, []}},
+ {requires, log_relay}]}).
-rabbit_boot_step({networking,
[{mfa, {rabbit_networking, boot, []}},
@@ -441,8 +442,7 @@ run_boot_step({StepName, Attributes}) ->
[try
apply(M,F,A)
catch
- _:Reason -> boot_error("FAILED~nReason: ~p~nStacktrace: ~p~n",
- [Reason, erlang:get_stacktrace()])
+ _:Reason -> boot_step_error(Reason, erlang:get_stacktrace())
end || {M,F,A} <- MFAs],
io:format("done~n"),
ok
@@ -501,8 +501,14 @@ sort_boot_steps(UnsortedSteps) ->
end])
end.
+boot_step_error(Reason, Stacktrace) ->
+ boot_error("Error description:~n ~p~n~n"
+ "Log files (may contain more information):~n ~s~n ~s~n~n"
+ "Stack trace:~n ~p~n~n",
+ [Reason, log_location(kernel), log_location(sasl), Stacktrace]).
+
boot_error(Format, Args) ->
- io:format("BOOT ERROR: " ++ Format, Args),
+ io:format("~n~nBOOT FAILED~n===========~n~n" ++ Format, Args),
error_logger:error_msg(Format, Args),
timer:sleep(1000),
exit({?MODULE, failure_during_boot}).