EMQX关闭保留消息后无法启动

环境信息

  • EMQX 版本:5.0.7
  • 操作系统及版本:Windows10, 和Centos7 下的Docker 版本,其他版本未测
  • 其他

问题描述

EMQX服务关闭保留消息后,停止服务, 再启动, 会失败, 无法启动成功
100% 复现

2022-09-05T16:20:02.687000+08:00 [error] id: emqx_retainer, line: 140, mfa: emqx_limiter_server:connect/3, msg: bucket_not_found, type: internal
2022-09-05T16:20:02.687000+08:00 [error] Supervisor: {<0.2207.0>,emqx_pool_sup}. Context: start_error. Reason: {{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Offender: id={emqx_retainer_dispatcher,1},pid=undefined.
2022-09-05T16:20:02.687000+08:00 [error] Supervisor: {local,emqx_retainer_sup}. Context: start_error. Reason: {shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}. Offender: id=pool_sup,pid=undefined.
2022-09-05T16:20:02.687000+08:00 [error] crasher: initial call: emqx_retainer_dispatcher:init/1, pid: <0.2208.0>, registered_name: [], error: {{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.2207.0>,emqx_retainer_sup,<0.2204.0>], message_queue_len: 0, messages: [], links: [<0.2207.0>], dictionary: [], trap_exit: true, status: running, heap_size: 2586, stack_size: 29, reductions: 18679; neighbours:
2022-09-05T16:20:02.687000+08:00 [error] crasher: initial call: application_master:init/4, pid: <0.2203.0>, registered_name: [], exit: {{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,142}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.2202.0>], message_queue_len: 1, messages: [{'EXIT',<0.2204.0>,normal}], links: [<0.2202.0>,<0.1646.0>], dictionary: [], trap_exit: true, status: running, heap_size: 610, stack_size: 29, reductions: 195; neighbours:
2022-09-05T16:20:02.687000+08:00 [critical] app: emqx_retainer, line: 88, mfa: emqx_machine_boot:start_one_app/1, msg: failed_to_start_app, reason: {emqx_retainer,{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}}}
2022-09-05T16:20:02.687000+08:00 [error] Supervisor: {local,emqx_machine_sup}. Context: start_error. Reason: {'EXIT',{{failed_to_start_app,emqx_retainer,{emqx_retainer,{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}}}},[{emqx_machine_boot,start_one_app,1,[{file,"emqx_machine_boot.erl"},{line,89}]},{lists,foreach,2,[{file,"lists.erl"},{line,1342}]},{emqx_machine_boot,post_boot,0,[{file,"emqx_machine_boot.erl"},{line,38}]},{supervisor,do_start_child_i,3,[{file,"supervisor.erl"},{line,414}]},{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,400}]},{supervisor,'-start_children/2-fun-0-',3,[{file,"supervisor.erl"},{line,384}]},{supervisor,children_map,4,[{file,"supervisor.erl"},{line,1250}]},{supervisor,init_children,2,[{file,"supervisor.erl"},{line,350}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}. Offender: id=emqx_machine_boot,pid=undefined.
2022-09-05T16:20:02.688000+08:00 [error] crasher: initial call: application_master:init/4, pid: <0.1859.0>, registered_name: [], exit: {{{shutdown,{failed_to_start_child,emqx_machine_boot,{'EXIT',{{failed_to_start_app,emqx_retainer,{emqx_retainer,{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}}}},[{emqx_machine_boot,start_one_app,1,[{file,"emqx_machine_boot.erl"},{line,89}]},{lists,foreach,2,[{file,"lists.erl"},{line,1342}]},{emqx_machine_boot,post_boot,0,[{file,"emqx_machine_boot.erl"},{line,38}]},{supervisor,do_start_child_i,3,[{file,"supervisor.erl"},{line,414}]},{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,400}]},{supervisor,'-start_children/2-fun-0-',3,[{file,"supervisor.erl"},{line,384}]},{supervisor,children_map,4,[{file,"supervisor.erl"},{line,1250}]},{supervisor,init_children,2,[{file,"supervisor.erl"},{line,350}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}},{emqx_machine_app,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,142}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.1858.0>], message_queue_len: 1, messages: [{'EXIT',<0.1860.0>,normal}], links: [<0.1858.0>,<0.1646.0>], dictionary: [], trap_exit: true, status: running, heap_size: 1598, stack_size: 29, reductions: 247; neighbours:
2022-09-05T16:21:26.054000+08:00 [error] id: emqx_retainer, line: 140, mfa: emqx_limiter_server:connect/3, msg: bucket_not_found, type: internal
2022-09-05T16:21:26.054000+08:00 [error] Supervisor: {<0.2207.0>,emqx_pool_sup}. Context: start_error. Reason: {{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}. Offender: id={emqx_retainer_dispatcher,1},pid=undefined.
2022-09-05T16:21:26.054000+08:00 [error] crasher: initial call: emqx_retainer_dispatcher:init/1, pid: <0.2208.0>, registered_name: [], error: {{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.2207.0>,emqx_retainer_sup,<0.2204.0>], message_queue_len: 0, messages: [], links: [<0.2207.0>], dictionary: [], trap_exit: true, status: running, heap_size: 2586, stack_size: 29, reductions: 18681; neighbours:
2022-09-05T16:21:26.055000+08:00 [error] Supervisor: {local,emqx_retainer_sup}. Context: start_error. Reason: {shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}. Offender: id=pool_sup,pid=undefined.
2022-09-05T16:21:26.055000+08:00 [error] crasher: initial call: application_master:init/4, pid: <0.2203.0>, registered_name: [], exit: {{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,142}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.2202.0>], message_queue_len: 1, messages: [{'EXIT',<0.2204.0>,normal}], links: [<0.2202.0>,<0.1646.0>], dictionary: [], trap_exit: true, status: running, heap_size: 610, stack_size: 29, reductions: 195; neighbours:
2022-09-05T16:21:26.055000+08:00 [critical] app: emqx_retainer, line: 88, mfa: emqx_machine_boot:start_one_app/1, msg: failed_to_start_app, reason: {emqx_retainer,{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}}}
2022-09-05T16:21:26.055000+08:00 [error] Supervisor: {local,emqx_machine_sup}. Context: start_error. Reason: {'EXIT',{{failed_to_start_app,emqx_retainer,{emqx_retainer,{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}}}},[{emqx_machine_boot,start_one_app,1,[{file,"emqx_machine_boot.erl"},{line,89}]},{lists,foreach,2,[{file,"lists.erl"},{line,1342}]},{emqx_machine_boot,post_boot,0,[{file,"emqx_machine_boot.erl"},{line,38}]},{supervisor,do_start_child_i,3,[{file,"supervisor.erl"},{line,414}]},{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,400}]},{supervisor,'-start_children/2-fun-0-',3,[{file,"supervisor.erl"},{line,384}]},{supervisor,children_map,4,[{file,"supervisor.erl"},{line,1250}]},{supervisor,init_children,2,[{file,"supervisor.erl"},{line,350}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}. Offender: id=emqx_machine_boot,pid=undefined.
2022-09-05T16:21:26.055000+08:00 [error] crasher: initial call: application_master:init/4, pid: <0.1856.0>, registered_name: [], exit: {{{shutdown,{failed_to_start_child,emqx_machine_boot,{'EXIT',{{failed_to_start_app,emqx_retainer,{emqx_retainer,{{shutdown,{failed_to_start_child,pool_sup,{shutdown,{failed_to_start_child,{emqx_retainer_dispatcher,1},{{badmatch,{error,invalid_bucket}},[{emqx_retainer_dispatcher,init,1,[{file,"emqx_retainer_dispatcher.erl"},{line,119}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}}},{emqx_retainer_app,start,[normal,[]]}}}},[{emqx_machine_boot,start_one_app,1,[{file,"emqx_machine_boot.erl"},{line,89}]},{lists,foreach,2,[{file,"lists.erl"},{line,1342}]},{emqx_machine_boot,post_boot,0,[{file,"emqx_machine_boot.erl"},{line,38}]},{supervisor,do_start_child_i,3,[{file,"supervisor.erl"},{line,414}]},{supervisor,do_start_child,2,[{file,"supervisor.erl"},{line,400}]},{supervisor,'-start_children/2-fun-0-',3,[{file,"supervisor.erl"},{line,384}]},{supervisor,children_map,4,[{file,"supervisor.erl"},{line,1250}]},{supervisor,init_children,2,[{file,"supervisor.erl"},{line,350}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,423}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,390}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}}}},{emqx_machine_app,start,[normal,[]]}},[{application_master,init,4,[{file,"application_master.erl"},{line,142}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]}, ancestors: [<0.1855.0>], message_queue_len: 1, messages: [{'EXIT',<0.1858.0>,normal}], links: [<0.1855.0>,<0.1646.0>], dictionary: [], trap_exit: true, status: running, heap_size: 1598, stack_size: 29, reductions: 251; neighbours:

配置文件及日志

如图…和图里的文字

你好,已经确实是 bug, 我们这边会尽快修复

1 个赞

:+1: 感谢反馈 我们就已计划在 5.0.8 中发布这个修复