Pasting huge string into address bar hangs tab
Categories
(Firefox :: Address Bar, defect, P3)
Tracking
()
People
(Reporter: dveditz, Unassigned)
Details
(Keywords: csectype-dos, hang)
Attachments
(1 file)
|
3.90 MB,
text/plain
|
Details |
Pasting really long strings into the URL bar causes that tab (or the addressbar on that tab) to hang. While on that tab it's sluggish, but once it responds to my click to switch to another tab those all appear to work fine.
Bug 1684667 sounds similar and was marked fixed, but that seemed to have something to do with URL highlighting. The text I'm pasting is just long strings of "AAAAAAAA", split across multiple lines.
In the attached text file the first line is 2000 characters, and each subsequent line is a doubling of the previous. If you copy and paste the last line (~2M characters) Firefox takes a pause but does eventually get back to work. If you copy and paste the whole file (~4M characters) that tab seems permanently dead/beachballed. It is possible to close the tab using the X in the tab strip.
This is based on a problem reported to our security alias by Ahmed Elsayed. I modified the testcase to try to distinguish between simply large pastes (possibly multiline) and any complications introduced by URL parsing (Ahmed's testcase was 297,103 URLs).
Comment 2•5 years ago
|
||
In My case,
firefox version is:85.0.1 (64-bit)
| Reporter | ||
Comment 3•5 years ago
|
||
On which versions did you test this?
I tried Release (85) and Nightly (87), both on Mac. If my file doesn't hang you I can send you the original 30Mb/300K line testcase, but they were a lot of URLs for a real site that we shouldn't risk hammering on while we test this if we don't have to.
Comment 4•5 years ago
|
||
Interesting, we improved the handling of long strings a lot, but of course there will always be a case where the string is so long that summing up all the work needed it's still too much.
I suspect this is not so common, compared to long but not extreme strings, that now should work decently enough. For now let's just put into the backlog, we'll have to profile this and see where we can avoid some more work.
Comment 5•5 years ago
|
||
Perhaps it's an idea to just bail out from any non-essential processing routines depending on a certain kMaxQueryInputLength?
Description
•