Closed
Bug 860213
Opened 12 years ago
Closed 12 years ago
Saving a canvas to disk makes firefox hang
Categories
(Toolkit :: Downloads API, defect)
Tracking
()
VERIFIED
FIXED
mozilla23
People
(Reporter: pere.jobs, Assigned: jhorak)
References
Details
(Keywords: hang, regression)
Attachments
(3 files, 2 obsolete files)
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0
Build ID: 20130329030832
Steps to reproduce:
1. Loaded http://ophir.lojkine.free.fr/interference/interference.html
2. Clicked "Sauvagarder la pemière imge", or right-click on the second and chose "Save to disk"
Actual results:
1. Firefox asks where I want to save the image.
2. I choose a location
3. Firefox saves the image, I can open it with another application
4. Firefox freezes
Expected results:
Firefox shouldn't have freezed
![]() |
||
Updated•12 years ago
|
Attachment #735674 -
Attachment mime type: text/plain → text/html
![]() |
||
Comment 1•12 years ago
|
||
FWIW, WFM using Mozilla/5.0 (Windows NT 6.1; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0 ID:20130409194949 CSet: 5bb6421fee94
Does toggling "browser.download.manager.scanWhenDone" in about:config make any Difference?
Is your Download Dir a common local Path?
Flags: needinfo?(pere.jobs)
Reporter | ||
Comment 2•12 years ago
|
||
browser.download.manager.scanWhenDone was set to true, I set it to false, but the issue didn't disappear.
One interesting thing is that while firefox is freezed, it doesn't use 100% CPU.
Flags: needinfo?(pere.jobs)
Reporter | ||
Comment 3•12 years ago
|
||
I attached gdb to firefox during the freeze, and ran bt. I don't know if it can help, but here is the result.
I don't use a debug build, so most function names are missing.
Comment 4•12 years ago
|
||
I can also reproduce this issue, with the latest Nightly, build ID: 20130415030812, on an Ubuntu 12.10 32-bit machine, with both "browser.download.manager.scanWhenDone" set to true (default value) and false.
Status: UNCONFIRMED → NEW
Component: Untriaged → File Handling
Ever confirmed: true
Comment 5•12 years ago
|
||
Reproducible on the latest Aurora - build ID: 20130415004014
Reproducible on the latest Beta - build ID: 20130408165307
Note:
I will investigate if this issue is a regression. With Firefox 4, "Sauvagarder la pemière imge" is not displayed as a link, so I can't save the image.
Comment 6•12 years ago
|
||
This issue is also reproducible with Firefox 20.0.1 and 19.0.2, but it doesn't reproduce on Firefox 18.0.1, so the regression is recent, between version 18 and 19.
![]() |
||
Comment 7•12 years ago
|
||
Regression window(m-c)
Good:
http://hg.mozilla.org/mozilla-central/rev/aa5e3b445810
Mozilla/5.0 (X11; Linux i686; rv:19.0) Gecko/19.0 Firefox/19.0 ID:20121009030547
Bad:
http://hg.mozilla.org/mozilla-central/rev/1301a72b1c39
Mozilla/5.0 (X11; Linux i686; rv:19.0) Gecko/19.0 Firefox/19.0 ID:20121012030610
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=aa5e3b445810&tochange=1301a72b1c39
Inlocal build,
Last Good: 4210c1f677e5
First Bad: 0008531f1429
Triggered by:
0008531f1429 Jan Horak — Bug 797349 - Add support for metadata::download-uri for later display in file manager by GIO. r=Neil
I guess landing of Bug 797349 triggers https://bugzilla.gnome.org/show_bug.cgi?id=637095 .
Workaround: In a terminal run the following 2 commands:
rm -rf ~/.local/share/gvfs-metadata
pkill gvfsd-metadata
Then, the Firefox will be back to normal.
Blocks: 797349
Component: File Handling → Download Manager
Keywords: hang,
regression
Product: Firefox → Toolkit
Version: 20 Branch → 19 Branch
![]() |
||
Updated•12 years ago
|
status-firefox-esr17:
--- → unaffected
tracking-firefox20:
--- → ?
tracking-firefox21:
--- → ?
tracking-firefox22:
--- → ?
tracking-firefox23:
--- → ?
Comment 8•12 years ago
|
||
We've already shipped this several times, without more data on significant user impact there's no need to track this but a low risk fix would be considered for uplift.
status-firefox20:
--- → affected
status-firefox21:
--- → affected
status-firefox22:
--- → affected
status-firefox23:
--- → affected
Assignee | ||
Comment 9•12 years ago
|
||
Yes, looks like g_daemon_vfs_local_file_set_attributes is blocking ui when calling gvfs_metadata_call_set_sync. Looks like bug in GIO(?).
Attachment #736925 -
Attachment is obsolete: true
Assignee | ||
Comment 10•12 years ago
|
||
Looks like mSource->GetSpec() doesn't return valid URI but: image/jpeg;base64,/9j/4AAQSkZJRgABAQAAA
QABAAD/2wBDAAMCAgICAgM...
This might confuse GIO. So we can check whenever uri is valid (any hint for appropriate function?) and/or use async version of g_file_set_attribute, ie. g_file_set_attributes_async which will run blocking operation in new thread.
Affected code: http://dxr.mozilla.org/mozilla-central/toolkit/components/downloads/nsDownloadManager.cpp#l2672
Assignee | ||
Comment 11•12 years ago
|
||
Attached patch use async version of g_file_set_attribute. This avoids UI lock when DBUS call reaches timeout.
Attachment #740843 -
Flags: review?(neil)
Comment 12•12 years ago
|
||
Comment on attachment 740843 [details] [diff] [review]
Use async version of set metadata v1
[Sorry for the delay.]
>+ nsCString msg("Set file metadata failed: ");
>+ msg.Append(err->message);
>+ NS_WARNING(msg.get());
Just skimmed the patch, but this probably needs to be in an #ifdef debug patch to avoid a useless variable. (You could call NS_DebugBreak directly to avoid the extra variable, but that doesn't avoid the #ifdef, since NS_DebugBreak is available in release too.)
Comment 13•12 years ago
|
||
Comment on attachment 740843 [details] [diff] [review]
Use async version of set metadata v1
One other nit:
>+void gio_set_metadata_done(GObject *source_obj, GAsyncResult *res, gpointer user_data)
This should be static void.
Attachment #740843 -
Flags: review?(neil) → feedback+
Assignee | ||
Comment 14•12 years ago
|
||
Thanks for feedback, attaching fixed patch.
Attachment #740843 -
Attachment is obsolete: true
Attachment #745121 -
Flags: review?(neil)
Updated•12 years ago
|
Attachment #745121 -
Flags: review?(neil) → review+
Assignee | ||
Updated•12 years ago
|
Keywords: checkin-needed
Comment 15•12 years ago
|
||
Assignee: nobody → jhorak
Keywords: checkin-needed
Comment 16•12 years ago
|
||
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla23
Comment 17•12 years ago
|
||
Verified as fixed on:
Mozilla/5.0 (X11; Linux i686; rv:23.0) Gecko/20100101 Firefox/23.0 (20130703181823)
Mozilla/5.0 (X11; Linux i686; rv:25.0) Gecko/20130703 Firefox/25.0 (20130703031323)
The images are saved immediately and with no hangs, freezes, non-responsiveness.
Updated•12 years ago
|
QA Contact: ioana.budnar
You need to log in
before you can comment on or make changes to this bug.
Description
•