Skip to content

fix: use goblin permissive PE parse-mode#960

Merged
supervacuus merged 3 commits intomasterfrom
fix/goblin_pe_permissive_dwarf_debug
Mar 17, 2026
Merged

fix: use goblin permissive PE parse-mode#960
supervacuus merged 3 commits intomasterfrom
fix/goblin_pe_permissive_dwarf_debug

Conversation

@supervacuus
Copy link
Collaborator

This is (at least) a partial fix to getsentry/sentry#104738

As the issue above suggests, goblin was too strict when parsing stripped PE files containing primarily DWARF debug sections, because other sections were incomplete. The permissive parse mode has been extended upstream to the PE resource parser, and this update was released with goblin 0.10.5.

So this PR

  • bumps goblin to 0.10.5
  • bumps scroll to align with goblin
  • enables the permissive parse mode
  • adapts the PE object parser to upstream interface changes

Manually tested object_debug against the same debug file (and others) as in the issue:

Inspecting mingw-w64-clang-x86_64-qt6-base-debug-6.10.1-2-any/clang64/share/qt6/bin/cmake_automoc_parser.debug
File format: pe
Objects:
 - x86_64: a0af23e9-5aab-9c9a-4c4c-44205044422e-1
   code id:      692c10cb1699000
   object kind:  executable
   load address: 0x140000000
   symbol table: false
   debug info:   true
   unwind info:  true
   is malformed: false

Next step: once this is merged and released, sentry-cli should receive a symbolic bump.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

@supervacuus supervacuus force-pushed the fix/goblin_pe_permissive_dwarf_debug branch from 57b5cc4 to 600eed0 Compare March 13, 2026 15:21
Copy link
Member

@jjbayer jjbayer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@supervacuus could you turn the example you listed in the description into a test in symbolic-debuginfo/tests? Thanks!

supervacuus and others added 2 commits March 16, 2026 16:53
Co-authored-by: Joris Bayer <joris.bayer@sentry.io>
@supervacuus
Copy link
Collaborator Author

@supervacuus could you turn the example you listed in the description into a test in symbolic-debuginfo/tests?

Added here: 0e8049e

@supervacuus supervacuus merged commit d29a143 into master Mar 17, 2026
18 checks passed
@supervacuus supervacuus deleted the fix/goblin_pe_permissive_dwarf_debug branch March 17, 2026 08:58
@supervacuus
Copy link
Collaborator Author

@jjbayer, could we trigger a release for this fix? Then we could bump symbolic in sentry-cli as well and proceed with testing to identify any other blockers (or verify that this already resolved the issue).

@loewenheim
Copy link
Contributor

@supervacuus I just cut a release with this and #961.

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.

3 participants