no function clause matching amqp_network_connection:handle_message

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

no function clause matching amqp_network_connection:handle_message

Gotthard, Petr

Hello,

when an Erlang client 2.8.7 connection is closed by force (by calling gen_tcp:close) we are getting the following message

 

gen_server <0.331.0> terminated with reason: no function clause matching amqp_network_connection:handle_message({'EXIT',#Port<0.6672>,normal}, {state,#Port<0.6672>,5,<0.335.0>,131072,undefined,false}) line 57

 

According to the source codes the ‘EXIT’ message is really not handled in amqp_network_connection. Could this be a bug, or did we do something wrong?

 

Note we cannot call amqp_connection:close because the link is dead at that moment. We only want to close the connection without waiting for the heartbeats to discover the link is inactive.

 

 

Thanks,

Petr

 


_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Reply | Threaded
Open this post in threaded view
|

Re: no function clause matching amqp_network_connection:handle_message

Matthias Radestock-3
Petr,

On 18/01/13 15:14, Gotthard, Petr wrote:

> when an Erlang client 2.8.7 connection is closed by force (by calling
> gen_tcp:close) we are getting the following message
>
> gen_server <0.331.0> terminated with reason: no function clause matching
> amqp_network_connection:handle_message({'EXIT',#Port<0.6672>,normal},
> {state,#Port<0.6672>,5,<0.335.0>,131072,undefined,false}) line 57
>
> According to the source codes the ‘EXIT’ message is really not handled
> in amqp_network_connection. Could this be a bug, or did we do something
> wrong?
>
> Note we cannot call amqp_connection:close because the link is dead at
> that moment. We only want to close the connection without waiting for
> the heartbeats to discover the link is inactive.

The 3.0.x Erlang client has a 'close' function with a timeout value.
When the timeout occurs the connection is closed forcefully. That *may*
do what you want. Give it a try.

Regards,

Matthias.
_______________________________________________
rabbitmq-discuss mailing list
[hidden email]
https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss