Search code examples
google-cloud-platformrabbitmqgoogle-cloud-rundramatiq

Error when running RabbitMQ in Cloud Run -> Uncaught signal: 10, pid=418, tid=418, fault_addr=0


I am trying to deploy a webserver with dramatiq and RabbitMQ and it seems like RabbitMQ is failing to start in Cloud Run.

The error messages I see are:

Uncaught signal: 10, pid=418, tid=418, fault_addr=0.

and many instances of:

Container Sandbox: Unsupported syscall getsockopt(0x44,0x1,0xc,0x3e18e39fc540,0x3e18e39fc548,0x0).

I used 4GB of memory, so I think it should be enough. Also important: the container does run locally. Any ideas?


Solution

  • Your container runs in a sandox (GVisor) and it prevents some dangerous or abnormal system calls or CPU instructions. Try to change the RabbitMQ client to check if it's better.

    In addition of this answer, I have 2 remarks:

    • Keep in mind that Cloud Run can't run in background connexion to RabbitMQ and consume the messages. The CPU is allowed to your instance is processing a request; when not, the CPU is throttle (about 5% of the CPU power). I'm not sure that Cloud Run is the best platform to use Rabbit MQ (if you need to be always connected)
    • A new sandbox is in the pipe. I don't know if it will solve your issue or not. Stay tuned.