Serverless Function Errors
Lambda timeouts, package size limits, VPC networking and cold starts.
Understanding Serverless errors
Serverless errors are shaped by hard platform limits: execution duration, deployment package size, memory, and concurrency. Unlike a server you control, these cannot be tuned away. The fix is to restructure the workload. VPC-attached functions add a second class of problem, because they lose default internet access and depend on ENI capacity and NAT configuration.
How to debug Serverless errors
- Check the platform limit before changing code: timeout, package size and memory are all documented, and the error is usually the limit being reported literally.
- For timeouts, add timing logs around each external call. A function that times out is nearly always waiting on one downstream dependency.
- Reduce package size with layers, tree-shaking, and by excluding dev dependencies and the provider SDK that the runtime already includes.
- For VPC functions with no internet access, confirm there is a NAT Gateway or the relevant VPC endpoints. A function in a private subnet cannot reach the public internet by default.
- Measure cold start separately from warm invocation in your metrics, and use provisioned concurrency only after confirming cold starts are the actual problem.
Tools worth reaching for
CloudWatch Logs Insightsaws lambda get-function-configurationX-Ray / distributed tracingsam local invoke
All 20 Serverless errors
- API Gateway: {"message": "Endpoint request timed out"} NewAPI Gateway stopped waiting for the integration, which for REST APIs happens at 29 seconds by default whatever the…
- AWS Lambda: ENI limit reached in VPCLambda functions in a VPC create ENIs (Elastic Network Interfaces) and the account or subnet has hit its ENI limit.
- AWS Lambda: Internal server error, malformed Lambda proxy response NewAPI Gateway received something it could not turn into an HTTP response. With proxy integration the function must…
- AWS Lambda: Response payload size exceeded maximum allowed payload size NewSynchronous invocations have a fixed 6 MB limit on the response (and on the request), and it cannot be raised. Your…
- AWS Lambda: Runtime exited with error: signal: killed NewThe function process was killed for exceeding its memory allocation. Lambda reports this rather than an…
- AWS Lambda: Runtime.HandlerNotFound: index.handler is undefined or not exported NewLambda found and loaded the file named in the handler setting, but that file has no export called handler. The usual…
- AWS Lambda: Runtime.ImportModuleError NewThe runtime could not load the handler module. Either the handler string does not match the file and export, a…
- AWS Lambda: Runtime.InvalidEntrypoint (exec format error) NewLambda could not start the container image's entrypoint at all. When the detail says exec format error, the image was…
- AWS Lambda: Runtime.UserCodeSyntaxError: Cannot use import statement outside NewThe Node.js runtime decides whether your handler is an ES module or CommonJS from the file extension and the nearest…
- AWS Lambda: Task timed out after X secondsThe Lambda function did not complete within the configured timeout. Cold starts, slow dependencies, or heavy…
- AWS Lambda: The runtime parameter of nodejs16.x is no longer supported NewThe runtime has passed its deprecation date and Lambda now blocks creating or updating functions that use it. Existing…
- AWS Lambda: TooManyRequestsException: Rate Exceeded. NewLambda refused the invocation because the function hit its concurrency ceiling, which is the account's regional limit…
- AWS Lambda: Unzipped size exceeds 250MB limitThe Lambda deployment package (unzipped) exceeds the 250MB limit. Too many dependencies or large assets.
- Azure Functions: Host not runningThe Azure Functions host failed to start. Usually caused by invalid host.json, missing dependencies, or runtime…
- Azure Functions: No job functions found. Try making your job classes NewThe host started but indexed zero functions, so there is nothing to run. The message talks about public classes, which…
- Cloudflare Worker: Script size exceeds limitThe Cloudflare Worker script exceeds the 1MB (free) or 10MB (paid) compressed size limit.
- Cloudflare Workers: Error 1102: Worker exceeded resource limits NewThe Worker used more CPU time or memory than its plan allows and was stopped mid-request. CPU time counts only while…
- GCP Cloud Functions: Deployment failedCloud Function deployment failed during build or initialisation. Could be a dependency issue, code error, or quota…
- Serverless Framework: UPDATE_ROLLBACK_COMPLETEA CloudFormation stack update failed and rolled back. The deployment was rejected due to resource limits, permissions…
- Vercel: 504 FUNCTION_INVOCATION_TIMEOUT NewThe serverless function exceeded its maximum duration and was killed. The default is short, and the work is usually a…
Other categories
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Ansible 18Unreachable hosts, become passwords, undefined variables and Jinja2 failures.
- API 20Auth headers, payload limits, versioning, idempotency and webhook signatures.
- Apple 20Command line tools, dyld, Homebrew permissions, notarisation and Keychain.
- Auth 20OIDC, SAML, Auth0, Okta, Keycloak, passkeys and MFA failures.
- BigData 17Spark, Kafka, Airflow, Snowflake, Flink and Databricks failures.
- C# 18NuGet restore, null references, EF Core migrations, async deadlocks and Blazor…
- C++ 20Segfaults, linker errors, memory corruption and template deduction failures.
- Caching 20Cache stampedes, stale content, Varnish and CloudFront failures.
- CI/CD 18GitHub Actions, GitLab CI, Jenkins, CircleCI: permissions, runners and…
- Client 21CORS, mixed content, module resolution, memory limits and framework runtime…
- Cloud 25IAM permissions, quotas, service limits and credential failures.
- Dart 20Null safety, pub version solving and build toolchain problems.
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- DNS 20NXDOMAIN, SERVFAIL, timeouts, propagation and delegation problems.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- Elixir 18GenServer timeouts, supervision failures and Mix compilation problems.
- Email 20Delivery failures, relay denial, authentication, SPF, DKIM and DMARC.
- Frontend 23Hydration mismatches, bundler resolution, layout shift and font loading.
- Git 20Merge conflicts, rejected pushes, detached HEAD, LFS and repository corruption.
- Go 19Nil map assignment, concurrent map access, context cancellation and deadlocks.
- GraphQL 19Validation, depth limits, N+1 queries and fragment problems.
- gRPC 17Status codes, deadlines, message limits, TLS and HTTP/2 transport failures.
- HTTP 494xx client errors, 5xx server errors, redirects, headers and protocol problems.
- ICMP 23Destination unreachable, time exceeded, fragmentation needed and redirects.
- Ingress 20404 default backend, missing TLS secrets, IngressClass and path matching.
- Java 19Class loading, dependency resolution, connection pools and JVM version…
- JavaScript 42npm resolution, async pitfalls, hydration, memory limits and runtime type…
- Kubernetes 34CrashLoopBackOff, ImagePullBackOff, OOMKilled, RBAC, scheduling and storage.
- Logging 18Log4j, Logback, Fluentd, Logstash and CloudWatch ingestion problems.
- MessageQueue 20Kafka, RabbitMQ, SQS, NATS and Celery: lag, rebalancing and poison messages.
- Mobile 20Gradle, CocoaPods, Xcode signing, Metro bundler and toolchain mismatches.
- Monitoring 18Prometheus scrapes, Grafana data sources, OpenTelemetry exporters and agent…
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Performance 19GC pauses, thread pool starvation and event loop blocking.
- PHP 20Memory limits, execution timeouts, autoloading, Composer and PDO connections.
- Proxy 20nginx, Envoy, HAProxy, Traefik, Caddy and Cloudflare upstream failures.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Regex 17Catastrophic backtracking, back references, escaping and engine differences.
- Ruby 20Bundler, migrations, native extensions, encoding and asset compilation.
- Rust 19Borrow checker, ownership moves, trait bounds and lifetime mismatches.
- Scala 17Dependency resolution, binary compatibility and type inference failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- Shell 19Command not found, permissions, quoting, expansion and Makefile syntax.
- Storage 19S3 permissions, NFS mounts, quotas, signed URLs and volume attachment.
- Svelte 20Store subscriptions, load functions and server/client boundaries.
- System 26Disk space, systemd units, file descriptors, OOM killer and scheduled jobs.
- Terraform 18State locks, provider auth, drift, dependency cycles and plan-time unknowns.
- Testing 18Jest, pytest, JUnit, Cypress and Playwright: fixtures, snapshots and timeouts.
- TLS 24Untrusted authorities, expiry, hostname mismatch, chains and cipher negotiation.
- TypeScript 19Assignability, missing declarations, strict null checks and generic constraints.
- Virtualization 20VirtualBox, VMware, Hyper-V, WSL, KVM and hypervisor conflicts.
- Web3 17Gas estimation, nonce management and reverted transactions.
- WebAssembly 17Compile errors, memory bounds and host binding mismatches.
- WebServer 20nginx, Apache, IIS and Caddy: binding, permissions, rewrites and TLS.
- Windows 20Installer failures, missing runtimes, update errors and permission problems.