Closed Bug 2030700 Opened 5 months ago Closed 4 months ago

Crash in [@ mozilla::net::HttpBaseChannel::DoApplyContentConversionsInternal]

Categories

(Core :: Networking: Cache, defect, P2)

defect

Tracking

()

RESOLVED FIXED
153 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr140 --- disabled
firefox149 --- disabled
firefox150 --- disabled
firefox151 --- disabled
firefox152 --- disabled
firefox153 --- fixed

People

(Reporter: aryx, Assigned: jesup)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, regression, Whiteboard: [necko-triaged])

Crash Data

Attachments

(2 files)

26 diagnostic asserts from 25 installs of Firefox 151.0a1.

Crash report: https://crash-stats.mozilla.org/report/index/f4974bfb-5d01-41d3-8a0c-613760260409

MOZ_CRASH Reason:

MOZ_DIAGNOSTIC_ASSERT(XRE_IsParentProcess())

Top 10 frames:

0  xul.dll  mozilla::net::HttpBaseChannel::DoApplyContentConversionsInternal(nsIStreamLis...  netwerk/protocol/http/HttpBaseChannel.cpp:1582
1  xul.dll  mozilla::net::HttpBaseChannel::DoApplyContentConversions(nsIStreamListener*, ...  netwerk/protocol/http/HttpBaseChannel.cpp:1475
1  xul.dll  mozilla::net::HttpChannelChild::DoOnStartRequest(nsIRequest*)  netwerk/protocol/http/HttpChannelChild.cpp:603
2  xul.dll  mozilla::net::HttpChannelChild::OnStartRequest(mozilla::net::nsHttpResponseHe...  netwerk/protocol/http/HttpChannelChild.cpp:522
2  xul.dll  mozilla::net::HttpChannelChild::ProcessOnStartRequest::<lambda_1>::operator()...  netwerk/protocol/http/HttpChannelChild.cpp:363
2  xul.dll  std::invoke(mozilla::net::HttpChannelChild::ProcessOnStartRequest::<lambda_1>&)  /builds/worker/fetches/vs/VC/Tools/MSVC/14.50.35717/include/type_traits:1678
2  xul.dll  std::_Func_impl_no_alloc<`lambda at /builds/worker/checkouts/gecko/netwerk/pr...  /builds/worker/fetches/vs/VC/Tools/MSVC/14.50.35717/include/functional:883
3  xul.dll  mozilla::net::ChannelEventQueue::FlushQueue()  netwerk/ipc/ChannelEventQueue.cpp:81
4  xul.dll  mozilla::net::ChannelEventQueue::MaybeFlushQueue()  netwerk/ipc/ChannelEventQueue.h:348
4  xul.dll  mozilla::net::ChannelEventQueue::CompleteResume()  netwerk/ipc/ChannelEventQueue.h:333
Severity: -- → S3
Flags: needinfo?(rjesup)
Priority: -- → P2
Whiteboard: [necko-triaged]
See Also: → 2005275

It's very weird we're getting these for sites like about:blank and about:newtab (and one file:/// link)

Flags: needinfo?(rjesup)

Early compression dictionary code had a window where cache entries could be
written with dcb or dcz in the Content-Encoding response-head metadata but
with already-decompressed data in the body. When such an entry is later served,
the mismatch causes crashes in content processes (MOZ_DIAGNOSTIC_ASSERT in
DoApplyContentConversionsInternal).

In OnCacheEntryCheck, doom any cache entry whose stored Content-Encoding
contains "dcb" or "dcz" and treat it as ENTRY_NOT_WANTED so the channel falls
through to a normal network fetch.

Assignee: nobody → rjesup
Status: NEW → ASSIGNED

Track how often OnCacheEntryCheck encounters and dooms stale cache entries
with dcb/dcz Content-Encoding. The counter lets us monitor when the stale-entry
population from early compression dictionary builds has died out, at which
point the purge check and this metric can be removed. Expires at Firefox 140.

Pushed by rjesup@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/e2022b40bf02 https://hg.mozilla.org/integration/autoland/rev/6752ce1edda8 Purge stale cache entries with dcb/dcz Content-Encoding r=necko-reviewers,kershaw https://github.com/mozilla-firefox/firefox/commit/a87fabb3a569 https://hg.mozilla.org/integration/autoland/rev/b2affaecbfae Add Glean counter for stale dcb/dcz cache entry purges r=necko-reviewers,kershaw
Pushed by abutkovits@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/98a82c10f5ec https://hg.mozilla.org/integration/autoland/rev/08cc049b3bbd Revert "Bug 2030700 - Add Glean counter for stale dcb/dcz cache entry purges r=necko-reviewers,kershaw" for causing glean related bustages.
Flags: needinfo?(rjesup)

Reverted this because it was causing build bustages in nsHttpChannel.cpp.

  • Revert link
  • Push with failures
  • Failure Log
  • Failure line: /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpChannel.cpp:X:7: error: no member named 'stale_dcb_dcz_cache_entries_purged' in namespace 'mozilla::glean::http'; did you mean 'glean::http3::stale_dcb_dcz_cache_entries_purged'?
Flags: needinfo?(rjesup)
Pushed by rjesup@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/bdf960a4ea81 https://hg.mozilla.org/integration/autoland/rev/95e21ace111a Purge stale cache entries with dcb/dcz Content-Encoding r=necko-reviewers,kershaw https://github.com/mozilla-firefox/firefox/commit/cbfd2657dc2b https://hg.mozilla.org/integration/autoland/rev/afa2c07d6e94 Add Glean counter for stale dcb/dcz cache entry purges r=necko-reviewers,kershaw
Pushed by rjesup@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/f16048428dca https://hg.mozilla.org/integration/autoland/rev/ebe05d37b168 Purge stale cache entries with dcb/dcz Content-Encoding r=necko-reviewers,kershaw
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 153 Branch

Since nightly and release are affected, beta will likely be affected too.
For more information, please visit BugBot documentation.

Regressed by: 2013420
No longer regressed by: compression-dictionary
Flags: needinfo?(rjesup)
QA Whiteboard: [qa-triage-done-c154/b153]

I'm seeing some crash volume under this signature but most of the machines involved appear to be old so I'd chalk it up to flaky hardware.

See Also: → 2064971
You need to log in before you can comment on or make changes to this bug.