Closed Bug 1919750 Opened 8 months ago Closed 8 months ago

Unable to load https://doc.smeg.it/qr/91477B344/FR when http2.allow-push=false

Categories

(Core :: Networking: HTTP, defect, P1)

defect

Tracking

()

RESOLVED FIXED
132 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 133+ fixed
firefox130 --- unaffected
firefox131 --- unaffected
firefox132 --- fixed

People

(Reporter: gerard-majax, Assigned: valentin)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files, 1 obsolete file)

Earlier today I was trying to load https://doc.smeg.it/qr/91477B344/FR and could not (Nightly, tarball, Linux). Several colleagues could reproduce, including :calixte who ran mozregression and tracked to bug 1915848. Stable (as a Snap) and Chromium were working, while at the same time Nightly was not.

Absolutely nothing was present in devtools when trying to debug that.

Switch the pref to true instantly made the URL work again, but reverting it to false still makes it working for the moment. There may be connection-reuse involved?

Set release status flags based on info from the regressing bug 1915848

:valentin, since you are the author of the regressor, bug 1915848, could you take a look? Also, could you set the severity field?

For more information, please visit BugBot documentation.

This is a server bug caused by Firefox sending SETTINGS_TYPE_MAX_CONCURRENT = 0 when push is disabled.
The spec allows it, but Chrome doesn't do that, and server implementations are broken 🙁
I'll post a patch to match Chrome's behaviour
This server seems to be running Microsoft-HTTPAPI/2.0 🤷

Assignee: nobody → valentin.gosu
Severity: -- → S3
Flags: needinfo?(valentin.gosu)
Priority: -- → P1
Attached file max_concurrent_firefox_bad.pcapng (obsolete) —

pcap of the bug reproducing.

Pushed by valentin.gosu@gmail.com: https://hg.mozilla.org/integration/autoland/rev/d1389b1014e7 Don't send SETTINGS_TYPE_MAX_CONCURRENT when push is disabled r=necko-reviewers,kershaw
Status: NEW → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
Attachment #9425837 - Attachment is obsolete: true
Blocks: 1933747
Attachment #9440509 - Flags: approval-mozilla-esr128?

esr128 Uplift Approval Request

  • User impact if declined: Potential HTTP/2 websites failing to load with Fortigate SSL inspection or specific HTTP server implementations
  • Code covered by automated testing: no
  • Fix verified in Nightly: yes
  • Needs manual QE test: yes
  • Steps to reproduce for manual QE testing: See bug 1919750 comment 0
  • Risk associated with taking this patch: Risk is low to none
  • Explanation of risk level: I should have requested uplift along with bug 1915848. This change aligns us with Chrome, and avoids triggering web servers that implement HTTP/2 incorrectly.
  • String changes made/needed: none
  • Is Android affected?: yes
Flags: qe-verify+

This will be uplifted now for 128.6esr and then uplifted to a separate branch for 128.5.1esr

Attachment #9440509 - Flags: approval-mozilla-esr128? → approval-mozilla-esr128+

Unfortunately QA is unable to reproduce the issue using old builds without the fix thus we can't verify if this is indeed fixed or not. The URL from comment 0 loads without issues regardless the value of the network.http.http2.allow-push pref. We also checked the latest ESR build 128.5.1 with the fix and we got the same behavior.

Builds used:
Nightly from 2024-09-19 (.tar.bz2 & .deb)
ESR 128.5.0 20241118130310 (.tar.bz2 & .deb)

Hardware/Software used:
2 x Ubuntu 22.04 VM and physical machines
1 x Ubuntu 24.04

If there are any other specific steps to reproduce this please let me know and I'll try again, but till then I'll remove the qa-verify+ flag based on the above.

Flags: qe-verify+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size:

OSZAR »