You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RabbitMQ每10分钟触发进程崩溃报错,请求协助排查问题

排查RabbitMQ每10分钟出现的function_clause错误

Hey, let's break down this recurring RabbitMQ issue you're facing. First, let's lay out the error details clearly to align on what we're troubleshooting:

2021-09-09 13:25:30.084 [error] <0.14464.32> 崩溃报告:进程<0.14464.32>(无关联邻居进程)崩溃,原因:第79行的rabbit_mgmt_wm_node:find_type(rabbit@controller1, [])无匹配的函数子句
2021-09-09 13:25:30.085 [error] <0.14457.32> Ranch监听器rabbit_web_dispatch_sup_15672,连接进程<0.14457.32>,流1的请求进程<0.14464.32>因function_clause(函数子句不匹配)退出,堆栈跟踪信息:[{rabbit_mgmt_wm_no...

This error comes from a mismatched function clause in the RabbitMQ Management Plugin's rabbit_mgmt_wm_node module—specifically, the find_type/2 function doesn't have a definition to handle an empty list ([]) as its second argument when called for the rabbit@controller1 node. Here's how to dig into this step by step:

1. Check Management Plugin & Server Version Compatibility

First, confirm your RabbitMQ server and the rabbitmq_management plugin run the exact same version. Mismatched versions are a top cause of these function-related crashes.

  • Run this command to list plugin versions:
    rabbitmqctl plugins list -v
    
  • Compare the rabbitmq_management version with your server version (get it via rabbitmqctl version). If they don't match, reinstall the plugin to match the server version.

2. Pinpoint the Triggering HTTP Request

This error is tied to a web request hitting the RabbitMQ Management API (it's logged under the Ranch listener for rabbit_web_dispatch_sup). To find which API call is causing this:

  • Enable HTTP request logging in your rabbitmq.conf by adding:
    management.log_http_requests = true
    
  • Restart RabbitMQ, then wait for the next error occurrence. Check the logs for the HTTP request URL made right before the crash—this will show you which endpoint (like a node status check) is sending an empty parameter to the find_type function.

3. Validate Node & Cluster Health

The error references node rabbit@controller1—make sure this node is healthy in your cluster:

  • Run:
    rabbitmqctl cluster_status
    
  • Look for signs of network partitions, offline nodes, or misconfigured cluster membership. An unstable node can cause unexpected API behavior.

4. Temporary Mitigation & Long-Term Fix

  • Temporary fix: If you find the error is triggered by a monitoring tool (like Prometheus, Zabbix, or custom scripts), adjust the tool's API request to avoid sending an empty list parameter to the node-related endpoint.
  • Long-term fix: If you're on an older RabbitMQ version, this bug might already be patched in a newer release. Upgrade to the latest stable version of RabbitMQ (and matching management plugin) to resolve known management API issues.

内容的提问来源于stack exchange,提问作者Keng Warraphol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 11:38:14