Всем привет!
Помогите плиз найти причину ошибки в приложении...
Суть проблемы в следующем. Есть самописный велосипед для работы с очередью в режиме rpc.
Сообщения шлются в очередь, указывается для них correlation_id и ответная очередью Ответную очередь я создаю в отдельном потоке и подписываюсь для вычитки ответов с помощью basic.consume.
Иногда появляются ситуации (причину установить пока не могу), когда я вижу сообщения об ошибке следующего вида (см. ниже Ошибка 1). И после этого где-то с 50% запросов начинает творится что-то неясное (см Ошибка 2).
Натолкните плиз на мысль в какую сторону копать.
=ERROR REPORT==== 20-Jan-2015::13:56:22 ===
** Generic server <0.83.0> terminating
** Last message in was {consumer_call,
{'basic.deliver',
<<"amq.ctag-AUQbOnN34dHwt-KDOHhyVQ">>,1,false,
<<>>,<<"RespTest">>},
{amqp_msg,
{'P_basic',undefined,undefined,undefined,
undefined,undefined,
<<"b7d000eb-f446-4ef2-b008-dc9c19e778eb">>,
undefined,undefined,undefined,undefined,
undefined,undefined,undefined,undefined},
<<0,101,0,0,0,......,205,205,219,213>>}}
** When Server state == {state,amqp_selective_consumer,
{state,
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]}}},
undefined,
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]}}},
none}}
** Reason for termination ==
** unexpected_delivery_and_no_default_consumer
=CRASH REPORT==== 20-Jan-2015::13:56:22 ===
crasher:
initial call: gen:init_it/6
pid: <0.83.0>
registered_name: []
exception exit: unexpected_delivery_and_no_default_consumer
in function gen_server2:terminate/3
ancestors: [<0.82.0>,<0.75.0>,<0.71.0>,<0.70.0>,amqp_sup,<0.68.0>]
messages: []
links: [<0.82.0>]
dictionary: [{process_name,
{amqp_gen_consumer,
{<<"client 192.0.2.15:50205 -> 192.61.128.43:5672">>,
1}}}]
trap_exit: false
status: running
heap_size: 987
stack_size: 27
reductions: 525
neighbours:
=SUPERVISOR REPORT==== 20-Jan-2015::13:56:22 ===
Supervisor: {<0.82.0>,amqp_channel_sup}
Context: child_terminated
Reason: unexpected_delivery_and_no_default_consumer
Offender: [{pid,<0.83.0>},
{name,gen_consumer},
{mfargs,
{amqp_gen_consumer,start_link,
[amqp_selective_consumer,[],
{<<"client 192.0.2.15:50205 -> 192.61.128.43:5672">>,
1}]}},
{restart_type,intrinsic},
{shutdown,4294967295},
{child_type,worker}]
=SUPERVISOR REPORT==== 20-Jan-2015::13:56:22 ===
Supervisor: {<0.82.0>,amqp_channel_sup}
Context: shutdown
Reason: reached_max_restart_intensity
Offender: [{pid,<0.83.0>},
{name,gen_consumer},
{mfargs,
{amqp_gen_consumer,start_link,
[amqp_selective_consumer,[],
{<<"client 192.0.2.15:50205 -> 192.61.128.43:5672">>,
1}]}},
{restart_type,intrinsic},
{shutdown,4294967295},
{child_type,worker}]
=ERROR REPORT==== 20-Jan-2015::13:56:22 ===
** Generic server <0.84.0> terminating
** Last message in was {'$gen_cast',
{method,
{'basic.deliver',
<<"amq.ctag-AUQbOnN34dHwt-KDOHhyVQ">>,1,
false,<<>>,
<<"RespTest">>},
{content,60,none,
<<4,0,36,.......,56,101,98>>,
rabbit_framing_amqp_0_9_1,
[<<0,101,0,0,0,......205,205,219,213>>]},
noflow}}
** When Server state == {state,1,<0.72.0>,<0.83.0>,network,
{[],[]},
false,<0.85.0>,none,none,0,true,none,
{0,nil},
{0,nil},
true,false}
** Reason for termination ==
** shutdown
=SUPERVISOR REPORT==== 20-Jan-2015::13:56:22 ===
Supervisor: {<0.82.0>,amqp_channel_sup}
Context: shutdown_error
Reason: shutdown
Offender: [{pid,<0.84.0>},
{name,channel},
{mfargs,
{amqp_channel,start_link,
[network,<0.72.0>,1,<0.83.0>,
{<<"client 192.0.2.15:50205 -> 192.61.128.43:5672">>,
1}]}},
{restart_type,intrinsic},
{shutdown,4294967295},
{child_type,worker}]
=INFO REPORT==== 20-Jan-2015::13:56:48 ===
Dropping frame {method,'basic.deliver',
<<31,97,109,113,......,101,115,116>>} for invalid or closed channel number 1
=INFO REPORT==== 20-Jan-2015::13:56:48 ===
Dropping frame {content_header,60,0,103,
<<4,0,36,51,48,......,50,52,54,97>>} for invalid or closed channel number 1
=INFO REPORT==== 20-Jan-2015::13:56:48 ===
Dropping frame {content_body,<<0,101,0,0,0,......,197,216,197,205,205,219,213>>} for invalid or closed channel number 1