Skip to content
Back

Function executions fail with cURL error 52 when coinciding with executor maintenance cleanup

  • 0
  • Self Hosted
  • Functions
daniD
13 Jan, 2026, 13:55

Appwrite version: 1.8.0 Executor version: 0.11.4 Function runtime: Python 3.12 SELF-HOSTED

Function executions that occur at the same moment as the executor's hourly maintenance task fail with Internal curl error has occurred within the executor! Error Number: 52.

Evidence:

Executor logs show maintenance and error occurring within the same second:

TypeScript
2026-01-13T12:41:21.526Z Running maintenance task ...
2026-01-13T12:41:21.526Z Maintanance task finished.
2026-01-13T12:41:21.542Z [Error] Internal curl error has occurred within the executor! Error Number: 52
2026-01-13T12:41:26.189Z Successfully removed exc1-...-696484170e82d617cb4a

This pattern repeats every hour at :41:21 for any function scheduled to run at :40. appwrite-worker-functions logs:

TypeScript
2026-01-13T12:41:21.549327647Z [Job] (69663d20b02831.79501694) failed to run.
2026-01-13T12:41:21.549511242Z [Job] (69663d20b02831.79501694) Internal curl error has occurred within the executor! Error Number: 52
2026-01-13T12:41:21.549527872Z [Error] Type: Exception
2026-01-13T12:41:21.549539662Z [Error] Message: Internal curl error has occurred within the executor! Error Number: 52
2026-01-13T12:41:21.549615140Z [Error] File: /usr/src/code/src/Appwrite/Platform/Workers/Functions.php
2026-01-13T12:41:21.549630469Z [Error] Line: 646

Actual behavior:

The maintenance task removes containers without coordination with incoming execution requests, causing a race condition where: Execution request arrives Executor routes to existing container Maintenance simultaneously removes that container cURL gets empty response (error 52)

This function runs every 4 minutes, 15 times an hour, only one out 15 failure, always at the same time: X:40.

Maintenance should not remove containers that have pending or in-flight execution requests so I would like to understand if this is a bug or I am doing something wrong.

Thanks.

TL;DR
Function executions fail with cURL error 52 when happening during executor maintenance cleanup tasks every hour at :41:21. The maintenance task removes containers without coordinating with incoming requests, leading to a race condition. This issue might be a bug, causing the error. Developers are looking for a way to prevent maintenance from removing containers with pending execution requests.
Reply

Reply to this thread by joining our Discord

Reply on Discord

Need support?

Join our Discord

Get community support by joining our Discord server.

Join Discord

Get premium support

Join Appwrite Pro and get email support from our team.

Learn more