Closed
Bug 1034309
Opened 10 years ago
Closed 8 years ago
Extremely slow image load - MessagePumpForNonMainThreads may delay events for minutes
Categories
(Core :: IPC, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: mayhemer, Assigned: mayhemer)
References
Details
Attachments
(1 file)
572.68 KB,
application/x-zip
|
Details |
m-c@caefe18d7ffe + few local changes (unrelated), opt build, win7. Loading a page with 5 images each having ~5 MB (jpgs). Loading from the HTTP cache (content valid). Problem: the 5 images load all extremely slowly. Reason is that the MessagePumpForNonMainThreads from some reason doesn't process events immediately when they are dispatched to the target thread (here the ImageDecoder), in this case data-availability event from Cache I/O thread to ImageDecoder threads. In the log search for "NotifyChunkListenerEvent::NotifyChunkListenerEvent" that is dispatched from IO thread to the Image thread. "NotifyChunkListenerEvent::Run" then is logged when the even is actually run. (Checked this is NOT an HTTP cache bug) Filtered log snippet (68ed4a0, 195eaf20) of "timestamp,threadnames,cache2:5,nsThread:5" : 2014-07-03 21:14:59.992000 UTC - [Cache2 I/O] 5196[911360]: CacheFile::NotifyChunkListener() [this=195fc540, listener=13ba6f68, target=68ed4a0, rv=0x00000000, idx=10, chunk=a35c740] 2014-07-03 21:14:59.992000 UTC - [Cache2 I/O] 5196[911360]: NotifyChunkListenerEvent::NotifyChunkListenerEvent() [this=195eaf20] 2014-07-03 21:14:59.992000 UTC - [Cache2 I/O] 5196[911360]: THRD(68ed4a0) Dispatch [195eaf20 0] delay of more then 1 minute... 2014-07-03 21:16:02.485000 UTC - [ImageDecoder #7] 4304[72af0c0]: THRD(68ed4a0) ProcessNextEvent [0 0] 2014-07-03 21:16:02.485000 UTC - [ImageDecoder #7] 4304[72af0c0]: THRD(68ed4a0) running [195eaf20] 2014-07-03 21:16:02.485000 UTC - [ImageDecoder #7] 4304[72af0c0]: NotifyChunkListenerEvent::Run() [this=195eaf20] The stack the event is run at is: xul.dll!mozilla::net::NotifyChunkListenerEvent::Run() Line 91 C++ xul.dll!nsThread::ProcessNextEvent(false, 0x230ff75f) Line 768 C++ xul.dll!NS_ProcessNextEvent(0x018ed4a0, false) Line 284 C++ xul.dll!mozilla::ipc::MessagePumpForNonMainThreads::Run(0x0a380140) Line 337 C++ xul.dll!MessageLoop::RunHandler() Line 223 C++ xul.dll!MessageLoop::Run() Line 197 C++ xul.dll!nsThread::ThreadFunc(0x068ed4a0) Line 357 C++ nss3.dll!_PR_NativeRunThread(0x0a37c3d0) Line 419 C nss3.dll!pr_root(0x072af0c0) Line 90 C
Assignee | ||
Comment 1•10 years ago
|
||
I'll expose the test case on my web and link here.
Assignee | ||
Comment 2•10 years ago
|
||
Test case: http://janbambas.cz/moz/bug1034309/ Make sure the images all go from cache (304 or even unvalidated cache load), load the page once and then F5 will do.
Nothing off the top of my head. We use this pump on all threads now so if there is a race it's somehow not a very common one or we would have seen this before now.
Flags: needinfo?(bent.mozilla)
Comment hidden (obsolete) |
Comment hidden (obsolete) |
Assignee | ||
Comment 8•8 years ago
|
||
Haven't seen this for a while.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•