When running RabbitMQ version 4.0, I encountered a problem where a function was undefined.
[test@rabbitmq4-2:~/workspace/rabbitmq-server-4.0/deps/rabbit] ((v4.0.0))$ rabbitmqctl status
Status of node rabbit@rabbitmq4-2 ...
Error:
{:undef, [{:rabbit_amqp1_0, :list_local, [], []}, {:rabbit_networking, :local_connections, 0, [file: ~c"rabbit_networking.erl", line: 464]}, {:rabbit, :status, 0, [file: ~c"rabbit.erl", lin
e: 771]}]}
I traced the function call chain. The call and the definition are completely normal. Although the list_local/0 function is also defined in other files, the reference here is in the form of a fully qualified name.
When I changed the name of list_local/0 to something like list_local_my/0, it ran normally. I'm wondering why this is the case and how to reproduce such a scenario?