Closed Bug 1623044 Opened 5 years ago Closed 5 years ago

Crash in [@ (anonymous namespace)::NotifyBlockingDecision] via AntiTracking

Categories

(Core :: Privacy: Anti-Tracking, defect, P1)

x86_64
All
defect

Tracking

()

RESOLVED FIXED
mozilla76
Tracking Status
firefox-esr68 --- unaffected
firefox74 --- unaffected
firefox75 --- unaffected
firefox76 + fixed

People

(Reporter: achronop, Assigned: dimi)

References

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file, 2 obsolete files)

This bug is for crash report bp-c3e590c4-37f2-4d90-b116-72c630200316.

Top 10 frames of crashing thread:

0 libxul.so  toolkit/components/antitracking/ContentBlockingNotifier.cpp:230
1 libxul.so mozilla::ContentBlockingNotifier::OnDecision toolkit/components/antitracking/ContentBlockingNotifier.cpp:447
2 libxul.so ThirdPartyUtil::AnalyzeChannel dom/base/ThirdPartyUtil.cpp:504
3 libxul.so mozilla::net::CookieServiceChild::TrackCookieLoad netwerk/cookie/CookieServiceChild.cpp:136
4 libxul.so mozilla::dom::ContentChild::UpdateCookieStatus dom/ipc/ContentChild.cpp:2092
5 libxul.so mozilla::dom::Document::StartDocumentLoad dom/base/Document.cpp:3117
6 libxul.so nsHTMLDocument::StartDocumentLoad dom/html/nsHTMLDocument.cpp:463
7 libxul.so nsContentDLF::CreateInstance layout/build/nsContentDLF.cpp:127
8 libxul.so nsDocShell::NewContentViewerObj docshell/base/nsDocShell.cpp:7872
9 libxul.so nsDocShell::CreateContentViewer docshell/base/nsDocShell.cpp:7616

The crash reason is MOZ_DIAGNOSTIC_ASSERT(aDecision == ContentBlockingNotifier::BlockingDecision::eAllow)

Priority: -- → P1

Ehsan, are you able to look at this?

Flags: needinfo?(ehsan)

This is spiking on Nightly since build 20200325213906

Redirecting to baku since Ehsan is out for a bit.

Flags: needinfo?(ehsan) → needinfo?(amarchesini)

This should be related to changes recently made for fission, I'll check it

Assignee: nobody → dlee
Status: NEW → ASSIGNED
Flags: needinfo?(amarchesini)
Blocks: 1625504

This is a topcrash for Thunderbird daily. I can't speculate on Firefox

Crash Signature: [@ (anonymous namespace)::NotifyBlockingDecision] → [@ (anonymous namespace)::NotifyBlockingDecision] @ `anonymous namespace'::NotifyBlockingDecision]
OS: Linux → All
Summary: Crash in [@ (anonymous namespace)::NotifyBlockingDecision] → Crash in [@ (anonymous namespace)::NotifyBlockingDecision] via AntiTracking
See Also: → 1625251

The root cause of this bug is that when opening the devtools (about:devtools-toolbox), the about page may also embed a 3rd-party frame with chrome URL, ex, chrome://devtools/content/debugger/index.html.

Although the frame has system privilege and it is not a tracker, we may still deny the storage access permission when setting cookiebehavior to REJCET ALL, which trigger the MOZ_ASSERT here that asserts while notifying blocking events for windows with system principal.

baku, steven,
I would like to check with you do you think we should always allow storage permission for system privileged windows no matter what cookiebehavior is set? or we should respect cookiebehavior for system content.
If the latter case is the case we want, the solution for this bug will be not notifying content blocking events when we block storage access for system content, because no UX requires that info.

Flags: needinfo?(senglehardt)
Flags: needinfo?(amarchesini)

If the latter case is the case we want, the solution for this bug will be not notifying content blocking events when we block storage access for system content, because no UX requires that info.

I prefer this. What I want to avoid is an about page, with privileged permissions, to run a webpage. That webpage should have the correct storage permissions.

Flags: needinfo?(amarchesini)

(In reply to Andrea Marchesini [:baku] from comment #8)

If the latter case is the case we want, the solution for this bug will be not notifying content blocking events when we block storage access for system content, because no UX requires that info.

I prefer this. What I want to avoid is an about page, with privileged permissions, to run a webpage. That webpage should have the correct storage permissions.

This sounds right to me as well. Thanks Baku and Dimi!

Flags: needinfo?(senglehardt)
Attachment #9136880 - Attachment is obsolete: true
Attachment #9136879 - Attachment is obsolete: true

talked offline with baku, since the behavior before Bug 1612378 is always allowing permission for system window, we'll follow it.

Pushed by dlee@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c8e724edea2a Allow list checks should return allow for a system window. r=timhuang,baku
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla76
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: