I'm trying to use the x-lvc exchange type but binding a queue to the exchange throws an error.
I downloaded Version 3.6.9 from bintray and use it on rabbitmq server version 3.6 with management in a docker container.
As client lib i'm using C# RabbitMQ.Client Version 4.1.3.
Creating the exchange and publishing a message is working, but binding a queue to the exchange fails.
The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=541, text="INTERNAL_ERROR", classId=0, methodId=0, cause=
Log from server:
=ERROR REPORT==== 8-Sep-2017::07:51:59 ===
** Generic server <0.11633.0> terminating
** Last message in was {'$gen_cast',
{method,
{'queue.bind',0,<<"my_queue">>,<<"lvcq">>,
<<"test">>,false,[]},
none,noflow}}
** When Server state == {ch,running,rabbit_framing_amqp_0_9_1,1,<0.11614.0>,
<0.11631.0>,<0.11614.0>,
<<"172.17.0.1:45828 -> 172.17.0.2:5672">>,
{lstate,<0.11632.0>,false},
none,1,
{[],[]},
{user,<<"guest">>,
[administrator],
[{rabbit_auth_backend_internal,none}]},
<<"/">>,<<"my_queue">>,
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]}}},
{state,
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]}}},
erlang},
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]}}},
{dict,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]}}},
{set,0,16,16,8,80,48,
{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[]},
{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[]}}},
<0.11615.0>,
{state,fine,5000,#Ref<0.0.1.28395>},
false,1,
{{0,nil},{0,nil}},
[],
{{0,nil},{0,nil}},
[{<<"publisher_confirms">>,bool,true},
{<<"exchange_exchange_bindings">>,bool,true},
{<<"basic.nack">>,bool,true},
{<<"consumer_cancel_notify">>,bool,true},
{<<"connection.blocked">>,bool,true},
{<<"authentication_failure_close">>,bool,true}],
none,1,none,flow,[]}
** Reason for termination ==
** {{case_clause,{ok,{amqqueue,{resource,<<"/">>,queue,<<"my_queue">>},
false,true,<0.11614.0>,[],<0.11652.0>,[],[],[],
undefined,[],[],live}}},
[{rabbit_exchange_type_lvc,add_binding,3,
[{file,"src/rabbit_exchange_type_lvc.erl"},
{line,57}]},
{rabbit_binding,x_callback,4,
[{file,"src/rabbit_binding.erl"},{line,568}]},
{rabbit_binding,'-add/3-fun-0-',3,
[{file,"src/rabbit_binding.erl"},{line,195}]},
{rabbit_channel,binding_action,9,
[{file,"src/rabbit_channel.erl"},{line,1619}]},
{rabbit_channel,handle_cast,2,
[{file,"src/rabbit_channel.erl"},{line,457}]},
{gen_server2,handle_msg,2,[{file,"src/gen_server2.erl"},{line,1032}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
=CRASH REPORT==== 8-Sep-2017::07:51:59 ===
crasher:
initial call: rabbit_channel:init/1
pid: <0.11633.0>
registered_name: []
exception exit: {{case_clause,
{ok,{amqqueue,
{resource,<<"/">>,queue,<<"my_queue">>},
false,true,<0.11614.0>,[],<0.11652.0>,[],[],
[],undefined,[],[],live}}},
[{rabbit_exchange_type_lvc,add_binding,3,
[{file,"src/rabbit_exchange_type_lvc.erl"},
{line,57}]},
{rabbit_binding,x_callback,4,
[{file,"src/rabbit_binding.erl"},{line,568}]},
{rabbit_binding,'-add/3-fun-0-',3,
[{file,"src/rabbit_binding.erl"},{line,195}]},
{rabbit_channel,binding_action,9,
[{file,"src/rabbit_channel.erl"},{line,1619}]},
{rabbit_channel,handle_cast,2,
[{file,"src/rabbit_channel.erl"},{line,457}]},
{gen_server2,handle_msg,2,
[{file,"src/gen_server2.erl"},{line,1032}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,247}]}]}
in function gen_server2:terminate/3 (src/gen_server2.erl, line 1143)
ancestors: [<0.11630.0>,<0.11618.0>,<0.11613.0>,<0.11612.0>,<0.375.0>,
<0.374.0>,<0.373.0>,rabbit_sup,<0.140.0>]
messages: []
links: [<0.11630.0>]
dictionary: [{{xtype_to_module,'x-lvc'},rabbit_exchange_type_lvc},
{{credit_to,<0.11614.0>},49},
{{exchange_stats,{resource,<<"/">>,exchange,<<"lvcq">>}},
[{publish,1}]},
{process_name,
{rabbit_channel,
{<<"172.17.0.1:45828 -> 172.17.0.2:5672">>,1}}},
{permission_cache,
[{{resource,<<"/">>,exchange,<<"lvcq">>},read},
{{resource,<<"/">>,queue,<<"my_queue">>},write},
{{resource,<<"/">>,queue,<<"my_queue">>},configure},
{{resource,<<"/">>,exchange,<<"lvcq">>},write},
{{resource,<<"/">>,exchange,<<"lvcq">>},configure}]},
{guid,{{3170912396,4248614677,569459747,3844144684},0}},
{credit_flow_default_credit,{200,50}},
{rand_seed,
{#{max => 288230376151711743,
next => #Fun<rand.8.41921595>,
type => exsplus,
uniform => #Fun<rand.9.41921595>,
uniform_n => #Fun<rand.10.41921595>},
[12090994211920930|59977493088113200]}},
{channel_operation_timeout,15000},
{msg_size_for_gc,4}]
trap_exit: true
status: running
heap_size: 2586
stack_size: 27
reductions: 3413
neighbours:
=SUPERVISOR REPORT==== 8-Sep-2017::07:51:59 ===
Supervisor: {<0.11630.0>,rabbit_channel_sup}
Context: child_terminated
Reason: {{case_clause,
{ok,{amqqueue,
{resource,<<"/">>,queue,<<"my_queue">>},
false,true,<0.11614.0>,[],<0.11652.0>,[],[],[],
undefined,[],[],live}}},
[{rabbit_exchange_type_lvc,add_binding,3,
[{file,"src/rabbit_exchange_type_lvc.erl"},{line,57}]},
{rabbit_binding,x_callback,4,
[{file,"src/rabbit_binding.erl"},{line,568}]},
{rabbit_binding,'-add/3-fun-0-',3,
[{file,"src/rabbit_binding.erl"},{line,195}]},
{rabbit_channel,binding_action,9,
[{file,"src/rabbit_channel.erl"},{line,1619}]},
{rabbit_channel,handle_cast,2,
[{file,"src/rabbit_channel.erl"},{line,457}]},
{gen_server2,handle_msg,2,
[{file,"src/gen_server2.erl"},{line,1032}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,247}]}]}
Offender: [{pid,<0.11633.0>},
{name,channel},
{mfargs,
{rabbit_channel,start_link,
[1,<0.11614.0>,<0.11631.0>,<0.11614.0>,
<<"172.17.0.1:45828 -> 172.17.0.2:5672">>,
rabbit_framing_amqp_0_9_1,
{user,<<"guest">>,
[administrator],
[{rabbit_auth_backend_internal,none}]},
<<"/">>,
[{<<"publisher_confirms">>,bool,true},
{<<"exchange_exchange_bindings">>,bool,true},
{<<"basic.nack">>,bool,true},
{<<"consumer_cancel_notify">>,bool,true},
{<<"connection.blocked">>,bool,true},
{<<"authentication_failure_close">>,bool,true}],
<0.11615.0>,<0.11632.0>]}},
{restart_type,intrinsic},
{shutdown,70000},
{child_type,worker}]
=SUPERVISOR REPORT==== 8-Sep-2017::07:51:59 ===
Supervisor: {<0.11630.0>,rabbit_channel_sup}
Context: shutdown
Reason: reached_max_restart_intensity
Offender: [{pid,<0.11633.0>},
{name,channel},
{mfargs,
{rabbit_channel,start_link,
[1,<0.11614.0>,<0.11631.0>,<0.11614.0>,
<<"172.17.0.1:45828 -> 172.17.0.2:5672">>,
rabbit_framing_amqp_0_9_1,
{user,<<"guest">>,
[administrator],
[{rabbit_auth_backend_internal,none}]},
<<"/">>,
[{<<"publisher_confirms">>,bool,true},
{<<"exchange_exchange_bindings">>,bool,true},
{<<"basic.nack">>,bool,true},
{<<"consumer_cancel_notify">>,bool,true},
{<<"connection.blocked">>,bool,true},
{<<"authentication_failure_close">>,bool,true}],
<0.11615.0>,<0.11632.0>]}},
{restart_type,intrinsic},
{shutdown,70000},
{child_type,worker}]
=ERROR REPORT==== 8-Sep-2017::07:51:59 ===
Error on AMQP connection <0.11614.0> (172.17.0.1:45828 -> 172.17.0.2:5672, vhost: '/', user: 'guest', state: running), channel 1:
{{case_clause,{ok,{amqqueue,{resource,<<"/">>,queue,<<"my_queue">>},
false,true,<0.11614.0>,[],<0.11652.0>,[],[],[],
undefined,[],[],live}}},
[{rabbit_exchange_type_lvc,add_binding,3,
[{file,"src/rabbit_exchange_type_lvc.erl"},
{line,57}]},
{rabbit_binding,x_callback,4,[{file,"src/rabbit_binding.erl"},{line,568}]},
{rabbit_binding,'-add/3-fun-0-',3,
[{file,"src/rabbit_binding.erl"},{line,195}]},
{rabbit_channel,binding_action,9,
[{file,"src/rabbit_channel.erl"},{line,1619}]},
{rabbit_channel,handle_cast,2,[{file,"src/rabbit_channel.erl"},{line,457}]},
{gen_server2,handle_msg,2,[{file,"src/gen_server2.erl"},{line,1032}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}
=WARNING REPORT==== 8-Sep-2017::07:51:59 ===
Non-AMQP exit reason '{{case_clause,
{ok,{amqqueue,
{resource,<<"/">>,queue,<<"my_queue">>},
false,true,<0.11614.0>,[],<0.11652.0>,[],
[],[],undefined,[],[],live}}},
[{rabbit_exchange_type_lvc,add_binding,3,
[{file,"src/rabbit_exchange_type_lvc.erl"},
{line,57}]},
{rabbit_binding,x_callback,4,
[{file,"src/rabbit_binding.erl"},{line,568}]},
{rabbit_binding,'-add/3-fun-0-',3,
[{file,"src/rabbit_binding.erl"},{line,195}]},
{rabbit_channel,binding_action,9,
[{file,"src/rabbit_channel.erl"},{line,1619}]},
{rabbit_channel,handle_cast,2,
[{file,"src/rabbit_channel.erl"},{line,457}]},
{gen_server2,handle_msg,2,
[{file,"src/gen_server2.erl"},{line,1032}]},
{proc_lib,init_p_do_apply,3,
[{file,"proc_lib.erl"},{line,247}]}]}'