Dragging a URL from the URL bar stalls other software
Categories
(Core :: DOM: Copy & Paste and Drag & Drop, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox76 | --- | wontfix |
firefox77 | --- | verified |
firefox78 | --- | verified |
People
(Reporter: bugzilla, Assigned: emk)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0
Steps to reproduce:
I dragged a URL from the Firefox URL bar to software like EverNote or EditPad Pro (certainly others, too). This freezes both software (Firefox and the other) and you have to kill one or the other from the Task manager to recover, but the URL is never drawn.
No problem when I draw it from Firefox to WordPad for example or from Brave to EverNote. This shows that the problem comes from Firefox, but it’s not in all situations.
Running Windows 7, Firefox 76, all 64 bits, EverNote 6.24.8919 or EditPad Pro 8.1.1.
Actual results:
Firefox and other software stall.
Expected results:
Copy the URL and not freeze both software.
Comment 1•5 years ago
|
||
Bugbug thinks this bug should belong to this component, but please revert this change in case of error.
Comment 2•5 years ago
|
||
Because this bug's Severity is normal
and has not been changed, and this bug's priority is --
(none,) indicating it has has not been previously triaged, the bug's Severity is being updated to --
(default, untriaged.)
It actually is not related to the address bar, because I encounter it also when I drag a link from a web page to these pieces of software. EditPad freezes as soon as the link is on top of its window, not even when it is dropped.
Comment 4•5 years ago
|
||
Thanks for the report maison !
I've managed to reproduce this issue by using Evernote 6.24.2 on Windows 10.64bit.
Notes:
- It seems that if Firefox gets closed, evernote seems to unfreeze but this is not the case the other way around (Firefox seems to remain freezed if evernote gets closed).
- This issues seems reproducible only on Windows platforms (I tried to reproduce this issue on macOS 10.14 and Ubuntu 18.04 but failed to do so).
- Confirmed that this issue is encountered while trying to drop links from random websites in Evernote as well.
Affected Versions
- Firefox 76.0 (BuildId:20200429185419)
- Firefox 77.0b5 (BuildId:20200512163137)
- Firefox 78.0a1 (BuildId:20200513215059)
Unaffected Versions
- 68.8.0esr (BuildId:20200429190206)
This issue seems to be a regression:
- Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=90cec6ee12acbf6a739af07d0976112dcd40185c&tochange=859aa752f8e799c0e6c1983f2b3c874aa9119401
- Possible Culprit: Bug 1602615
Moving this to DOM: Drag & Drop for now. Please feel free to change this if necessary.
Comment 5•5 years ago
|
||
Hi Masatoshi!
It seems that Mozregression pointed out Bug 1602615 - Add a support for free-threaded IStream to handle Internet shortcuts. r=jmathies
for causing this regression.
Can you please have a look?
Thanks!
Assignee | ||
Comment 6•5 years ago
|
||
Confirmed.
Workaround: flip the browser.shell.shortcutFavicons
pref to false.
Assignee | ||
Comment 7•5 years ago
|
||
If the drop target did not initiate an async operation, DoDragDrop
will
block on the main thread until the data transfer completes. Although the
ObtainCachedIconFile
callback itself will run off the main thread,
ObtainCachedIconFile
will end up with calling NotifyIconObservers that
heavily relies on the main thread. So ObtainCachedIconFile will have no
chance to run the callback.
To complete the data transfer, however, the ObtainCachedIconFile
callback
must signal the event object to unblock CMemStream::Read
. Deadlock.
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Comment 8•5 years ago
|
||
Masatoshi, do you have a reviewer for this patch? Should we mark it as wontfix for 77?
Assignee | ||
Comment 9•5 years ago
|
||
I already asked for review but I got no response yet.
ni for review ping.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Comment 11•5 years ago
|
||
bugherder |
Assignee | ||
Comment 12•5 years ago
|
||
Comment on attachment 9149340 [details]
Bug 1636740 - Block CMemStream::Read only if the drop target initiated an async operation. r?jmathies,aklotz,masayuki
Beta/Release Uplift Approval Request
- User impact if declined: Some third-party apps and Firefox will freeze when the user drop a link from Firefox to those apps.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): This will change the behavior to "safe-side" to prevent deadlocks. Also, this change does not affect apps the support async operation such as File Explorer.
- String changes made/needed: none
Updated•5 years ago
|
Comment 13•5 years ago
|
||
I can confirm that this issue is fixed using Firefox 78.0a1 (BuildId:20200520213050) on Windows 10 64bit.
Firefox is stable now after dragging a URL from the address bar or random links from random webpages inside third party softwares.
Tested with:
- Evernote 6.24.2
- EditPad Lite 8.1.1
- Microsoft Word 2016
- Libre Office 6.4.4.2
Leaving a ni? on myself as a reminder to verify this once it lands in beta.
Comment 14•5 years ago
|
||
Comment on attachment 9149340 [details]
Bug 1636740 - Block CMemStream::Read only if the drop target initiated an async operation. r?jmathies,aklotz,masayuki
S2, minimal patch, verified on nightly, uplift approved for our last beta, thanks.
Comment 15•5 years ago
|
||
bugherder uplift |
Updated•5 years ago
|
Comment 16•5 years ago
|
||
This issue is verified fixed using Firefox 77.0b9 (BuildId:20200521224544) on Windows 10 64bit.
Tested with:
- Evernote 6.24.2
- EditPad Lite 8.1.1
- Libre Office 6.4.4.2
Reporter | ||
Comment 17•4 years ago
|
||
I can confirm it as well. Thank you !
Description
•