Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Receiving a lot of Uncaught signal: 2's in Cloud Run

Hey everyone.

I just deployed a small python application in Cloud Run. It's a Celery task manager, which runs a few background jobs that basically consist of some data manipulation and storing it in a Postgres Database. Because its a bunch of I/O tasks, I decided to run the tasks using Celery's ThreadPoolExecutor option, as that seems to make more sense than run a task on every core.

However, ever since deployment, I see a lot of Uncaught signal: 2's in my application logs whenever I run some tasks.

Example:

Uncaught signal: 2, pid=4849, tid=4849, fault_addr=0

AFAIK, signal 2 refers to a SIGINT (so basically a ctrl+c command). And I just cannot really wrap my head around how/why this would happen from within the container. Furthermore, the application still seems to work as intended, so I also don't really see where the signals are originating from.

Does anyone happen to have experience with a case like this and has some knowledge on how to prevent this?
Thanks in advance!

0 1 254
1 REPLY 1

Hi @sjorstt

Welcome to Google Cloud Community!

What container port are you using right now in Cloud Run? I suggest changing it to 3000. Also, you can try to increase your request timeout.

You can check your Cloud Run logs for more context around when the signal was received, as it may provide insights into what triggered it. Look for patterns or recurring issues that might indicate the root cause.

I hope the above information is helpful.