Skip to content

Bug 2089508 - Keep SnakeYAML class names in GeckoView's consumer rules - #434

Closed
pollym wants to merge 1 commit into
mozilla-firefox:autolandfrom
pollym:fix-perf-harness-keep-rule
Closed

pollym wants to merge 1 commit into
mozilla-firefox:autolandfrom
pollym:fix-perf-harness-keep-rule

Conversation

@pollym

@pollym pollym commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

R8 obfuscation moves renamed classes into the root package, where SnakeYAML's static getPackage().getName() calls throw, crashing DebugConfig.fromFile in obfuscated apps whenever a test harness provides a config file.

here is a try


Lando: link
Bugzilla: bug 2089508

⚠️ This pull request has 4 warnings.
🚫 This pull request has 2 blockers.

…uard rules. r?#geckoview-reviewers

R8 obfuscation moves renamed classes into the root package, where SnakeYAML's
static getPackage().getName() calls throw, crashing DebugConfig.fromFile in
obfuscated apps whenever a test harness provides a config file.
@pollym
pollym requested a review from a team November 5, 2026 11:40

@ohall-m ohall-m left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice, thanks!

@mozilla-code-review mozilla-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

23 issues have been found in this revision.

23 issues are located outside of the files touched by the patch:

  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:327 Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:421 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:339 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • memory/replace/dmd/DMD.h:85 Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:411 Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsTSubstring.h:22 Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]
  • xpcom/threads/TimerThreadMonitor.h:70 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:69 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:71 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:68 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:72 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.

@mozilla-code-review
mozilla-code-review Bot dismissed their stale review November 5, 2026 13:31

This review is now deprecated.

@mozilla-code-review mozilla-code-review Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

23 issues have been found in this revision.

23 issues are located outside of the files touched by the patch:

  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:49 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • mfbt/RefPtr.h:48 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:327 Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:421 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:361 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:339 Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]
  • xpcom/base/nsCOMPtr.h:358 Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]
  • memory/replace/dmd/DMD.h:85 Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:422 Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsReadableUtils.h:411 Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]
  • xpcom/string/nsTSubstring.h:22 Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]
  • xpcom/threads/TimerThreadMonitor.h:70 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:69 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:71 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:68 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.
  • xpcom/threads/TimerThreadMonitor.h:72 Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
    Checker reliability is high, meaning that the false positive ratio is low.

lando-worker Bot pushed a commit that referenced this pull request Nov 5, 2026
…s r=ohall

R8 obfuscation moves renamed classes into the root package, where SnakeYAML's static `getPackage().getName()` calls throw, crashing `DebugConfig.fromFile` in obfuscated apps whenever a test harness provides a config file.

[here is a try](https://treeherder.mozilla.org/jobs?repo=try&revision=aa06c379f356dd2530426d42a6683afb4e2dada8)

Pull request: #434
@lando-worker

lando-worker Bot commented Nov 5, 2026

Copy link
Copy Markdown

Pull request closed by commit 5b89fed

@lando-worker lando-worker Bot closed this Nov 5, 2026
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Nov 5, 2026
…s r=ohall

R8 obfuscation moves renamed classes into the root package, where SnakeYAML's static `getPackage().getName()` calls throw, crashing `DebugConfig.fromFile` in obfuscated apps whenever a test harness provides a config file.

[here is a try](https://treeherder.mozilla.org/jobs?repo=try&revision=aa06c379f356dd2530426d42a6683afb4e2dada8)

Pull request: mozilla-firefox/firefox#434

UltraBlame original commit: 057a5ecddaef500be345a228b6e36fb0ae61bda7
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Nov 5, 2026
…s r=ohall

R8 obfuscation moves renamed classes into the root package, where SnakeYAML's static `getPackage().getName()` calls throw, crashing `DebugConfig.fromFile` in obfuscated apps whenever a test harness provides a config file.

[here is a try](https://treeherder.mozilla.org/jobs?repo=try&revision=aa06c379f356dd2530426d42a6683afb4e2dada8)

Pull request: mozilla-firefox/firefox#434

UltraBlame original commit: 057a5ecddaef500be345a228b6e36fb0ae61bda7
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Nov 5, 2026
…s r=ohall

R8 obfuscation moves renamed classes into the root package, where SnakeYAML's static `getPackage().getName()` calls throw, crashing `DebugConfig.fromFile` in obfuscated apps whenever a test harness provides a config file.

[here is a try](https://treeherder.mozilla.org/jobs?repo=try&revision=aa06c379f356dd2530426d42a6683afb4e2dada8)

Pull request: mozilla-firefox/firefox#434

UltraBlame original commit: 057a5ecddaef500be345a228b6e36fb0ae61bda7
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.

2 participants