Skip to content

fix(strawberry): Prevent AttributeError on missing graphql_span (#4991)#5731

Open
harryautomazione wants to merge 1 commit intogetsentry:masterfrom
harryautomazione:fix/issue-4991-strawberry
Open

fix(strawberry): Prevent AttributeError on missing graphql_span (#4991)#5731
harryautomazione wants to merge 1 commit intogetsentry:masterfrom
harryautomazione:fix/issue-4991-strawberry

Conversation

@harryautomazione
Copy link

Problem

In the Strawberry integration (SentryAsyncExtension / SentrySyncExtension), hooks like resolve(), on_parse(), and on_validate() access self.graphql_span with the assumption that .on_operation() had already initialized it.
Under some configurations (e.g., cached execution, isolated field-runs, or custom execution paths), .on_operation() might be bypassed, leading to AttributeError: ... has no attribute 'graphql_span'.

Solution

Added defensive getattr(self, "graphql_span", None) checks in those hooks to safely bypass child span creation if the root span was not created. This preserves operation execution and output correctly without crashing the application.

Fixes #4991

@harryautomazione harryautomazione requested a review from a team as a code owner March 22, 2026 16:27
@github-actions
Copy link
Contributor

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


New Features ✨

  • (asgi) Add option to disable suppressing chained exceptions by alexander-alderman-webb in #5714
  • (logging) Separate ignore lists for events/breadcrumbs and sentry logs by sl0thentr0py in #5698

Bug Fixes 🐛

Anthropic

  • Set exception info on streaming span when applicable by alexander-alderman-webb in #5683
  • Patch AsyncStream.close() and AsyncMessageStream.close() to finish spans by alexander-alderman-webb in #5675
  • Patch Stream.close() and MessageStream.close() to finish spans by alexander-alderman-webb in #5674

Other

Documentation 📚

  • Add note on AI PRs to CONTRIBUTING.md by sentrivana in #5696

Internal Changes 🔧

  • Add -latest alias for each integration test suite by sentrivana in #5706
  • Use date-based branch names for toxgen PRs by sentrivana in #5704
  • 🤖 Update test matrix with new releases (03/19) by github-actions in #5703
  • Add client report tests for span streaming by sentrivana in #5677

Other

  • Update CHANGELOG.md by sentrivana in #5685

🤖 This preview updates automatically when you update the PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Strawberry uncaught exception

1 participant