Dart & Flutter Errors
Null safety, pub version solving and build toolchain problems.
Understanding Dart errors
Dart errors are dominated by null safety at runtime and version solving at build time. The null-check operator failure (! on a null) is Dart's equivalent of a NullPointerException and almost always means an assumption about initialisation order was wrong. Pub version solving failures are dependency-graph conflicts and are solved by reading the constraint that pub reports as unsatisfiable, not by deleting the lockfile.
How to debug Dart errors
- Read the full
pub getoutput. It names the two packages whose constraints conflict. Deletingpubspec.lockhides that information without fixing anything. - Replace
!with a null check plus a meaningful error, or withlate finalwhere initialisation genuinely happens before first use. The crash location is where the assumption broke. - Run
flutter doctor -vbefore debugging any build failure. It catches missing Android SDK components and licence acceptance, which produce misleading Gradle errors. - Use
dart pub deps --style=treeto see the resolved graph and find which transitive dependency is pinning an old version. - Clear derived state with
flutter cleanonly after you have read the error. It resets the symptom and loses the evidence.
Tools worth reaching for
flutter doctor -vdart pub depsdart analyzeflutter run --verbose
All 10 Dart errors
- Dart: LateInitializationError: Field 'x' has not been initialized Newlate promises the compiler that a non nullable field will hold a value before anything reads it, and that promise was…
- Dart: Null check operator used on a null valueThe ! null-assertion was applied to an expression that was null at runtime, throwing in null-safe Dart/Flutter code.
- Dart: type 'Null' is not a subtype of type 'String' in type cast NewA cast met a null at runtime, and with sound null safety the failure lands on the cast rather than on first use…
- Flutter: A RenderFlex overflowed by 42 pixels on the right NewA Row or Column laid out children that want more space than the parent offered, so the excess is painted as the yellow…
- Flutter: No Material widget found NewWidgets such as TextField, ListTile and InkWell paint ink on the nearest Material ancestor and throw when there is…
- Flutter: setState() called after dispose() NewAn asynchronous callback finished after its widget left the tree, so the State it wants to update no longer exists…
- Flutter: setState() or markNeedsBuild() called during build NewSomething changed state while the framework was already building the tree, so it is being asked to rebuild a widget it…
- Flutter: the current Dart SDK version is X but package requires Y NewA package's environment constraint in pubspec.yaml excludes the Dart SDK bundled with your Flutter version. Dart and…
- Flutter: Vertical viewport was given unbounded height NewA scrolling widget was placed somewhere with no height to fill, typically inside a Column or another scrollable, and…
- Flutter/Dart: pub get failed (version solving failed)pub could not find a set of package versions satisfying all constraints, usually conflicting SDK or transitive…
Other categories
- AI 35Rate limits, context windows, GPU memory and model-serving failures.
- Ansible 10Unreachable hosts, become passwords, undefined variables and Jinja2 failures.
- API 14Auth headers, payload limits, versioning, idempotency and webhook signatures.
- Apple 10Command line tools, dyld, Homebrew permissions, notarisation and Keychain.
- Auth 11OIDC, SAML, Auth0, Okta, Keycloak, passkeys and MFA failures.
- BigData 11Spark, Kafka, Airflow, Snowflake, Flink and Databricks failures.
- C# 12NuGet restore, null references, EF Core migrations, async deadlocks and Blazor…
- C++ 11Segfaults, linker errors, memory corruption and template deduction failures.
- Caching 10Cache 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.
- Database 41Connections, deadlocks, constraints, replication and memory limits.
- DNS 10NXDOMAIN, SERVFAIL, timeouts, propagation and delegation problems.
- Docker 27Daemon connectivity, disk space, image pulls, ports and architecture mismatches.
- Elixir 9GenServer timeouts, supervision failures and Mix compilation problems.
- Email 8Delivery 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 13Validation, depth limits, N+1 queries and fragment problems.
- gRPC 10Status 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 8404 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 9Log4j, Logback, Fluentd, Logstash and CloudWatch ingestion problems.
- MessageQueue 14Kafka, RabbitMQ, SQS, NATS and Celery: lag, rebalancing and poison messages.
- Mobile 17Gradle, CocoaPods, Xcode signing, Metro bundler and toolchain mismatches.
- Monitoring 12Prometheus scrapes, Grafana data sources, OpenTelemetry exporters and agent…
- Network 35Refused connections, timeouts, resets, MTU problems and port exhaustion.
- Performance 6GC pauses, thread pool starvation and event loop blocking.
- PHP 11Memory limits, execution timeouts, autoloading, Composer and PDO connections.
- Proxy 17nginx, Envoy, HAProxy, Traefik, Caddy and Cloudflare upstream failures.
- Python 35Imports, virtual environments, encoding, concurrency and dependency conflicts.
- Regex 8Catastrophic backtracking, back references, escaping and engine differences.
- Ruby 11Bundler, migrations, native extensions, encoding and asset compilation.
- Rust 19Borrow checker, ownership moves, trait bounds and lifetime mismatches.
- Scala 6Dependency resolution, binary compatibility and type inference failures.
- Security 25JWT validation, CSRF, OAuth grants, SELinux, SSH host keys and CSP.
- Serverless 11Lambda timeouts, package size limits, VPC networking and cold starts.
- Shell 13Command not found, permissions, quoting, expansion and Makefile syntax.
- Storage 13S3 permissions, NFS mounts, quotas, signed URLs and volume attachment.
- Svelte 10Store 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 8VirtualBox, VMware, Hyper-V, WSL, KVM and hypervisor conflicts.
- Web3 7Gas estimation, nonce management and reverted transactions.
- WebAssembly 7Compile errors, memory bounds and host binding mismatches.
- WebServer 10nginx, Apache, IIS and Caddy: binding, permissions, rewrites and TLS.
- Windows 10Installer failures, missing runtimes, update errors and permission problems.