MOZ_DIAGNOSTIC_ASSERT(equal) (aLoadState should contain the same URI passed to this function.)
Categories
(Core :: Networking, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox-esr128 | --- | unaffected |
firefox129 | --- | unaffected |
firefox130 | + | verified |
firefox131 | --- | verified |
People
(Reporter: jjaschke, Assigned: valentin)
References
(Regression)
Details
(Keywords: regression, Whiteboard: [necko-triaged][necko-priority-queue])
Crash Data
Attachments
(2 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
The diagnostic assert introduced in Bug 1901139 is responsible for some crash reports.
Steps to reproduce:
- Go to https://coder.com/docs/enterprise
- Scroll to bottom
- Click on the link "Make an edit."
- Crash
Comment 2•2 months ago
|
||
Copying crash signatures from duplicate bugs.
Comment 3•2 months ago
|
||
:edgar, since you are the author of the regressor, bug 1901139, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
Reporter | ||
Comment 4•2 months ago
|
||
Taking over since Edgar is on leave.
Marking S2 for now, fix incoming likely today.
Reporter | ||
Comment 5•2 months ago
|
||
The issue in this specific test case seems to be that the URL in the link contains a /./
: https://github.com/coder/coder/edit/main/docs/./enterprise.md
The mentioned assert seems to compare the URI with a coalesced version of the URL (where the /./
has been replaced with /
), which fails. I guess the bug here is in nsIURI::Equals()
, but I'll do a quick fix in here to make sure the current issue is fixed and can be uplifted.
Assignee | ||
Comment 6•2 months ago
|
||
It seems that there's a bug in the path coalescing code coming from bug 1904582.
As far as I can tell the problem is with the basename's mLen field - when comparing a normalized url vs a reparsed url the two lengths don't match so equals returns false.
Assignee | ||
Updated•2 months ago
|
Assignee | ||
Comment 7•2 months ago
|
||
mBasename.mLen is only supposed to cover the length of the name apart from
the extension. When there is an extension, we must subtract 1 + the length of
the extension in order to get the correct basename length.
Assignee | ||
Comment 8•2 months ago
|
||
[Tracking Requested - why for this release]:
Incorrect URL parsing may trigger asserts and return the wrong basename for a file.
Updated•2 months ago
|
Comment 10•2 months ago
|
||
bugherder |
Assignee | ||
Comment 11•2 months ago
|
||
mBasename.mLen is only supposed to cover the length of the name apart from
the extension. When there is an extension, we must subtract 1 + the length of
the extension in order to get the correct basename length.
Original Revision: https://phabricator.services.mozilla.com/D218529
Updated•2 months ago
|
Comment 12•2 months ago
|
||
beta Uplift Approval Request
- User impact if declined: Incorrect URL parsing may trigger asserts and return the wrong basename for a file.
- Code covered by automated testing: yes
- Fix verified in Nightly: yes
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: Follow instructions in bug 1911529 comment 0
- Risk associated with taking this patch: low
- Explanation of risk level: This code is covered by tests and fuzzing.
- String changes made/needed: none
- Is Android affected?: yes
Updated•2 months ago
|
Comment 13•2 months ago
|
||
uplift |
Updated•2 months ago
|
Updated•2 months ago
|
Comment 14•2 months ago
|
||
Issue is reproducible on a 2024-08-05 Nightly build on Windows 10.
Verified as fixed on Firefox 130.0b2 and Firefox Nightly 131.0a1 on Windows 10, Ubuntu 22, macOS 14.
Description
•