emq日志error 表示的是啥

2024-04-21T10:55:15.388927+08:00 [error] 21_8913589_SUBRCU_837574@10.42.218.254:56850 [MQTT] , Parse failed for function_clause, [{emqx_frame,split,[1809,<<" "settingvalue": {}\r\n },\r\n {\r\n "device"…>>],[{file,“emqx_frame.erl”},{line,130}]},{emqx_frame,parse,2,[{file,“emqx_frame.erl”},{line,125}]},{emqx_connection,parse_incoming,3,[{file,“emqx_connection.erl”},{line,583}]},{emqx_connection,handle_msg,2,[{file,“emqx_connection.erl”},{line,576}]},{emqx_connection,process_msg,2,[{file,“emqx_connection.erl”},{line,325}]},{emqx_connection,handle_recv,3,[{file,“emqx_connection.erl”},{line,290}]},{proc_lib,wake_up,3,[{file,“proc_lib.erl”},{line,236}]}], Frame data:<<" "settingvalue": {}\r\n },\r\n {\r\n "deviceid": "DOORSENSOR-MENCI-2"…>>

版本是emq4.3的。 这个报错是表示客户端发送的消息体非法?

从日志来看,应该是你的mqtt包传长度的时候,传了 1809 的长度,但是实际又没有那么长。

不过 你说使用的 4.3,我在 v4.3.0 和 v4.3.22对应的代码里面都没有找到你这个:
https://github.com/emqx/emqx/blob/v4.3.0/src/emqx_frame.erl,不知道你具体使用的是 4.3.?

broker版本 4.3.1.


broker记录的报错截图如上。
1.传了 1809 的长度是表示啥?客户端上传的时候是没有指定字节长度的啊
2.链接客户端反馈 他们经常断链

这是 431 的一个 bug。在 4.3.2 后就修复了。建议升级到最新的版本。