Mnesia stuck in transaction

Yogish Baliga <>
Tue Nov 10 02:15:52 CET 2009

Hello Mnesia experts,

  I have a process hung with the following backtrace.  What is the possible solution? This gen_server (workflow_manager_logs) is backed up with lot of messages delivered via RabbitMQ. Either I need a way to cancel this transaction or fix the database so that it will continue processing all messages.

-- baliga

()11> io:format("~s", [erlang:binary_to_list(element(2, erlang:process_info(whereis(workflow_manager_logs), backtrace)))]).
Program counter: 0xf0717490 (mnesia_tm:rec/2 + 28)
CP: 0x00000000 (invalid)
arity = 0

0xefa18404 Return addr 0xf071b7c0 (mnesia_tm:execute_outer/6 + 68)
y(0)     #Ref<>
y(1)     <0.104.0>

0xefa18410 Return addr 0xf07fe6e8 (mnesia:wrap_trans/6 + 20)
y(0)     async
y(1)     infinity
y(2)     1
y(3)     []
y(4)     #Fun<workflow_manager_logs.4.58301755>
y(5)     mnesia_frag

0xefa1842c Return addr 0xf13b0448 (workflow_manager_logs:handle_info/2 + 312)

0xefa18430 Return addr 0xf7e13124 (gen_server:handle_msg/5 + 932)
y(0)     []
y(1)     Catch 0xf13b0448 (workflow_manager_logs:handle_info/2 + 312)
y(2)     []
y(3)     {<0.264.0>,<0.274.0>,<<33 bytes>>}

0xefa18444 Return addr 0xf7db1c6c (proc_lib:init_p_do_apply/3 + 28)
y(0)     workflow_manager_logs
y(1)     {<0.264.0>,<0.274.0>,<<33 bytes>>}
y(2)     workflow_manager_logs
y(3)     <0.38.0>
y(4)     {{'basic.deliver',<<33 bytes>>,7,false,<<15 bytes>>,<<24 bytes>>},{content,60,none,<<29 bytes>>,[<<75 bytes>>]}}
y(5)     Catch 0xf7e13124 (gen_server:handle_msg/5 + 932)

0xefa18460 Return addr 0x08236c00 (<terminate process normally>)
y(0)     Catch 0xf7db1c7c (proc_lib:init_p_do_apply/3 + 44)

"Point of view is worth 80 IQ points" --Alan Kay

More information about the erlang-questions mailing list