[rabbitmq-discuss] Channel crashes after basic.cancel_ok.

Edwin Fine rabbitmq-discuss_efine at usa.net
Wed May 7 18:57:53 BST 2008


Using Rabbit 1.3.0, Erlang client, Ubuntu Linux Feisty, Erlang R12B-2 64-bit

Consumer channel crashes as follows when I do the following:

1. Subscribe (basic.consume)
2. Unsubscribe (basic.cancel)

The channel crashes handling the basic.cancel_ok. I can't figure out
why. The channel is under some load (about 100 - 130 messages/second).
I haven't yet built a standalone test case to try to reproduce this,
but it happens consistently in my code.

The code to subscribe is:

    #'basic.consume_ok'{consumer_tag = ConsumerTag} =
amqp_channel:call(Channel, BasicConsume, self())

and this works fine.

The code to cancel is

    BasicCancel = #'basic.cancel'{consumer_tag = ConsumerTag, nowait = false},
    #'basic.cancel_ok'{consumer_tag = ConsumerTag} =
amqp_channel:call(Channel, BasicCancel).

The problem seems to be

** {function_clause,
       [{gen_server,reply,
            [<<>>,
             {'basic.cancel_ok',<<"XHG.DELIVERY.Q.HTTP031.HC031">>}]},


What am I doing wrong? Any ideas?
Regards,
Edwin Fine
----------------------------------

=ERROR REPORT==== 7-May-2008::13:42:16 ===
** Generic server <0.138.0> terminating
** Last message in was {method,
                           {'basic.cancel_ok',
                               <<"XHG.DELIVERY.Q.HTTP031.HC031">>},
                           none}
** When Server state == {channel_state,1,<0.132.0>,<0.136.0>,<0.139.0>,
                            #Fun<amqp_network_driver.do.2>,
                            #Fun<amqp_network_driver.do.3>,<<>>,<<>>,false,
                            undefined,
                            {dict,48,16,16,8,80,48,
                                {[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
                                 []},
                                {{[],
                                  [[<<"XHG.DELIVERY.Q.HTTP016.HC016">>|
                                    <0.145.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP038.HC038">>|
                                    <0.295.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP009.HC009">>|
                                    <0.358.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP023.HC023">>|
                                    <0.522.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP001.HC001">>|
                                    <0.905.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP030.HC030">>|
                                    <0.1109.0>]],
                                  [],
                                  [[<<"XHG.DELIVERY.Q.HTTP002.HC002">>|
                                    <0.150.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP017.HC017">>|
                                    <0.1014.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP024.HC024">>|
                                    <0.1062.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP031.HC031">>|
                                    <0.1115.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP039.HC039">>|
                                    <0.1170.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP046.HC046">>|
                                    <0.1220.0>]],
                                  [],
                                  [[<<"XHG.DELIVERY.Q.HTTP003.HC003">>|
                                    <0.919.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP010.HC010">>|
                                    <0.967.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP018.HC018">>|
                                    <0.1025.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP025.HC025">>|
                                    <0.1073.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP032.HC032">>|
                                    <0.1118.0>]],
                                  [],
                                  [[<<"XHG.DELIVERY.Q.HTTP019.HC019">>|
                                    <0.154.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP033.HC033">>|
                                    <0.354.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP004.HC004">>|
                                    <0.927.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP011.HC011">>|
                                    <0.970.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP026.HC026">>|
                                    <0.1076.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP040.HC040">>|
                                    <0.1181.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP048.HC048">>|
                                    <0.1233.0>]],
                                  [],
                                  [[<<"XHG.DELIVERY.Q.HTTP049.HC049">>|
                                    <0.365.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP005.HC005">>|
                                    <0.930.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP012.HC012">>|
                                    <0.980.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP027.HC027">>|
                                    <0.1088.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP034.HC034">>|
                                    <0.1130.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP041.HC041">>|
                                    <0.1185.0>]],
                                  [],
                                  [[<<"XHG.DELIVERY.Q.HTTP006.HC006">>|
                                    <0.940.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP013.HC013">>|
                                    <0.988.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP020.HC020">>|
                                    <0.1039.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP028.HC028">>|
                                    <0.1092.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP035.HC035">>|
                                    <0.1147.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP042.HC042">>|
                                    <0.1188.0>]],
                                  [],
                                  [[<<"XHG.DELIVERY.Q.HTTP050.HC050">>|
                                    <0.226.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP007.HC007">>|
                                    <0.299.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP014.HC014">>|
                                    <0.998.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP021.HC021">>|
                                    <0.1042.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP029.HC029">>|
                                    <0.1097.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP036.HC036">>|
                                    <0.1151.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP043.HC043">>|
                                    <0.1202.0>]],
                                  [],
                                  [[<<"XHG.DELIVERY.Q.HTTP008.HC008">>|
                                    <0.953.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP015.HC015">>|
                                    <0.1001.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP022.HC022">>|
                                    <0.1049.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP037.HC037">>|
                                    <0.1153.0>],
                                   [<<"XHG.DELIVERY.Q.HTTP044.HC044">>|
                                    <0.1205.0>]]}}}}
** Reason for termination ==
** {function_clause,
       [{gen_server,reply,
            [<<>>,
             {'basic.cancel_ok',<<"XHG.DELIVERY.Q.HTTP031.HC031">>}]},
        {amqp_channel,rpc_bottom_half,2},
        {gen_server,handle_msg,5},
        {proc_lib,init_p,5}]}




More information about the rabbitmq-discuss mailing list