首页 > 解决方案 > 是否有任何规则或文件可以帮助阅读 rabiitmq 日志?

问题描述

2019-01-20 03:38:19.175 [error] <0.4626.1207> ** Generic server <0.4626.1207> terminating
** Last message in was {inet_async,#Port<0.17388085>,78,{ok,<<50,20,0,15,104,98,47,48,48,48,51,48,48,48,48,48,48,50,55,20,63,97,16,42,0,4,77,81,84,84,4,194,0,250,0,12,48,48,48,51,48,48,48,48,48,48,50,55,0,6,115,101,110,115,111,114,0,8,106,75,103,54,100,102,55,56>>}}
** When Server state == {state,#Port<0.17388085>,"223.104.255.194:27961 -> 192.168.1.142:1883",true,undefined,true,running,{none,<0.28431.1206>},<0.2704.1201>,false,none,{proc_state,#Port<0.17388085>,#{},{undefined,undefined},{0,nil},{0,nil},10,1,"000300000027",true,undefined,{<0.18944.1195>,<0.6981.1202>},<0.30090.1204>,<<"amq.topic">>,{amqp_adapter_info,{0,0,0,0,0,65535,49320,398},1883,{0,0,0,0,0,65535,57192,65474},27961,<<"223.104.255.194:27961 -> 192.168.1.142:1883">>,{'MQTT',"N/A"},[{variable_map,#{<<"client_id">> => <<"000300000027">>}},{channels,1},{channel_max,1},{frame_max,0},{client_properties,[{<<"product">>,longstr,<<"MQTT client">>}]},{ssl,false}]},none,<0.16958.0>,{auth_state,<<"sensor">>,{user,<<"sensor">>,[management],[{rabbit_auth_backend_internal,none}]},<<"ningxiang">>},#Fun<rabbit_mqtt_processor.0.96330891>},<0.30090.1204>,{state,fine,5000,#Ref<0.3694003617.3118202884.104013>}}
** Reason for termination == 
** {function_clause,[{rabbit_mqtt_processor,process_login,[<<"sensor">>,<<"jKg6df78">>,4,{proc_state,#Port<0.17388085>,#{},{undefined,undefined},{1,{10,5183,nil,nil}},{0,nil},11,1,"000300000027",true,undefined,{<0.18944.1195>,<0.6981.1202>},<0.30090.1204>,<<"amq.topic">>,{amqp_adapter_info,{0,0,0,0,0,65535,49320,398},1883,{0,0,0,0,0,65535,57192,65474},27961,<<"223.104.255.194:27961 -> 192.168.1.142:1883">>,{'MQTT',"N/A"},[{variable_map,#{<<"client_id">> => <<"000300000027">>}},{variable_map,#{<<"client_id">> => <<"000300000027">>}},{channels,1},{channel_max,1},{frame_max,0},{client_properties,[{<<"product">>,longstr,<<"MQTT client">>}]},{ssl,false}]},none,<0.16958.0>,{auth_state,<<"sensor">>,{user,<<"sensor">>,[management],[{rabbit_auth_backend_internal,none}]},<<"ningxiang">>},#Fun<rabbit_mqtt_processor.0.96330891>}],[{file,"src/rabbit_mqtt_processor.erl"},{line,473}]},{rabbit_mqtt_processor,process_request,3,[{file,"src/rabbit_mqtt_processor.erl"},{line,112}]},{rabbit_mqtt_processor,process_frame,2,[{file,"src/rabbit_mqtt_processor.erl"},{line,69}]},{rabbit_mqtt_reader,process_received_bytes,2,[{file,"src/rabbit_mqtt_reader.erl"},{line,270}]},{gen_server2,handle_msg,2,[{file,"src/gen_server2.erl"},{line,1050}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,257}]}]}
2019-01-20 03:38:19.175 [error] <0.4626.1207> CRASH REPORT Process <0.4626.1207> with 0 neighbours exited with reason: no function clause matching rabbit_mqtt_processor:process_login(<<"sensor">>, <<"jKg6df78">>, 4, {proc_state,#Port<0.17388085>,#{},{undefined,undefined},{1,{10,5183,nil,nil}},{0,nil},11,1,"0003...",...}) line 473 in gen_server2:terminate/3 line 1166
2019-01-20 03:38:19.176 [error] <0.1769.1200> Supervisor {<0.1769.1200>,rabbit_mqtt_connection_sup} had child rabbit_mqtt_reader started with rabbit_mqtt_reader:start_link(<0.2704.1201>, {acceptor,{0,0,0,0,0,0,0,0},1883}, #Port<0.17388085>) at <0.4626.1207> exit with reason no function clause matching rabbit_mqtt_processor:process_login(<<"sensor">>, <<"jKg6df78">>, 4, {proc_state,#Port<0.17388085>,#{},{undefined,undefined},{1,{10,5183,nil,nil}},{0,nil},11,1,"0003...",...}) line 473 in context child_terminated
2019-01-20 03:38:19.176 [error] <0.1769.1200> Supervisor {<0.1769.1200>,rabbit_mqtt_connection_sup} had child rabbit_mqtt_reader started with rabbit_mqtt_reader:start_link(<0.2704.1201>, {acceptor,{0,0,0,0,0,0,0,0},1883}, #Port<0.17388085>) at <0.4626.1207> exit with reason reached_max_restart_intensity in context shutdown

那么它是什么意思?或任何有助于阅读此内容的规则或文件?

标签: rabbitmq

解决方案


你有一个崩溃报告。崩溃原因在倒数第三行给出:

具有 0 个邻居的进程 <0.4626.1207> 退出,原因是:没有函数子句匹配 rabbit_mqtt_processor:process_login( ...

现在,我不知道你想做什么,但如果这能帮助你走得更远一点,那就太好了!通常当一个进程像这样崩溃时,这是因为试图访问一个未初始化的内存地址,这本身就是执行代码的错误(在这种情况下,可能是未能保护到外部接口的输入)。


推荐阅读