emqx无法清除disconnet的disconnet的客户端导致设备一直连接不上

问题描述

设备掉线后,emqx控制面板显示客户端处于无连接状态,点击右边的清除session按钮,无法清除导致客户端设备重启的时候一直无法连接mqtt

环境信息

  • EMQ X 版本:4.2
  • 操作系统及版本:linux

相关截图


这可能是一个 BUG。你能试试下面的命令,我们看看现在运行的情况吗?

  1. 进入到 emqx 安装目录。执行 ./bin/emqx remote_console 进入 emqx 控制台
  2. 输入 ets:tab2list(emqx_channel). 然后回车,你会得到类似下面的这样的输出
    (emqx@127.0.0.1)3> ets:tab2list(emqx_channel).
    [{<<"Mjk4NzQzODc2NDMyODU2MDI0NzQyMTY1NTE3OTI3MDU1MzG">>,
       <0.4223.0>}]
    
  3. 找到你出问题的那个 ClientId 后面对应的 PID,我这里是 <0.4223.0>
  4. 输入 process_info(<0.4223.0>,current_stacktrace). 然后回车;查看这个链接的当前的调用堆栈。

对这几个卡住的客户端都执行下这个过程,然后把最后打印出来的堆栈贴来看看呢

1赞

所以这个问题有得到解决吗