Hello -
Thanks for using RabbitMQ. I'm a member of the core engineering team.
Carefully look at the first 16 octets
in this error log message:
2023-02-26 16:43:12.635470+00:00 [error] <0.1056.0> operation none caused a connection exception frame_error: "type 3, first 16 octets = <<\"{\\\"payload\\\":{\\\"res\">>: {invalid_frame_end_marker,\n
99}"
2023-02-26 16:43:15.638860+00:00 [error] <0.1056.0> closing AMQP connection <0.1056.0> (10.244.0.18:60608 -> 10.244.0.21:5672):
2023-02-26 16:43:15.638860+00:00 [error] <0.1056.0> fatal_frame_error
It looks as though your client application tried to publish a message containing a RabbitMQ error log message (invalid_frame_end_marker
) BACK to RabbitMQ and then another error happened.
What you should do at this point is share a git repository containing a complete, runnable set of code that I can use to reproduce this issue. Basically I should just clone the repo, and execute a command. Assume there is a 3-node RabbitMQ cluster available, or, provide your complete minikube configuration.
Thanks - Luke
Hm I can't imagine how an error message would make its way back into a published message, but stranger things have happened, I guess...
The one place it looks, on first glance at least, that an error message would be sent back is here, passing
args
from the receivedconnection.close
back toconnection.close-ok
:https://github.com/lenkan/deno-amqp/blob/master/src/amqp_connection.ts#L82-L92
But then when encoding the frame, this is ignored:
https://github.com/lenkan/deno-amqp/blob/master/src/amqp_codec.ts#L1927
Concerning the repository for reproduction. I have stripped out A LOT, but still: I'm not comfortable making this available publicly as it contains somewhat confidential information. Can I invite you to a private repository?
While creating the test case I had no luck reproducing the issue outside of a minikube cluster. The repository itself can be run using devspace (
devspace dev
) - Is this alright?This of course requires "devspace": https://www.devspace.sh/