[erlang-questions] Mnesia stuck in transaction

Yogish Baliga yogishb@REDACTED
Tue Nov 10 02:52:50 CET 2009


Not sure what actually happened. But I found the work-around. 

changed the table type to ram_copies
Stopped mnesia
Started mnesia

Once gen_server message queue is drained, changed the table type of disc_copies

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

http://dudefrommangalore.blogspot.com/





________________________________
From: Yogish Baliga <yogishb@REDACTED>
To: Erlang Questions <erlang-questions@REDACTED>
Sent: Mon, November 9, 2009 5:15:52 PM
Subject: [erlang-questions] Mnesia stuck in transaction

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.

Thanx,
-- baliga

(workflow_gateway@REDACTED)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<0.0.0.1407>
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

http://dudefrommangalore.blogspot.com/


More information about the erlang-questions mailing list