Closed
Bug 589809
Opened 15 years ago
Closed 15 years ago
[D2D] More corruption and lockups in the UI
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
mozilla2.0b5
| Tracking | Status | |
|---|---|---|
| blocking2.0 | --- | beta5+ |
People
(Reporter: benjamin, Assigned: loic.yhuel)
References
Details
(Keywords: regression)
Attachments
(2 files)
|
1.07 MB,
text/plain
|
Details | |
|
1.80 KB,
patch
|
bas.schouten
:
review+
|
Details | Diff | Splinter Review |
+++ This bug was initially created as a clone of Bug #586909 +++
The attachment shows the results, shortly afterwards it can crash (though it fails to submit a report) or the UI locks up and has to be manually closed.
I see this still on nightly builds, and the symptoms are, after 2-4 hours of browser use:
* text areas stop drawing their borders and backgrounds
* images stop drawing in all cases
* crash, with crash reporter, but the crash reports are empty/useless
I'm running the browser in a debugger to try and catch first-chance exceptions: I found bug 589805, but I don't *think* that is related.
| Reporter | ||
Updated•15 years ago
|
blocking2.0: beta4+ → beta5+
Comment 1•15 years ago
|
||
(In reply to comment #0)
> +++ This bug was initially created as a clone of Bug #586909 +++
>
> The attachment shows the results,
Which attachment?
| Reporter | ||
Comment 2•15 years ago
|
||
I'm getting first-chance exceptions _com_error with the following stack:
KernelBase.dll!_RaiseException@16()
msvcrt.dll!__CxxThrowException@8()
d3d10_1core.dll!ThrowFailure()
d3d10_1core.dll!CDevice::CreateTexture2D_Worker()
d3d10_1core.dll!CDevice::ID3D10Device1_CreateTexture2D_()
d3d10_1core.dll!NMultithread::CDevice::CreateTexture2D()
> xul.dll!cairo_d2d_surface_create(device=0x051a4c00, format=CAIRO_FORMAT_ARGB32, width=0x00000000, height=0x00000000) Line 3479 C++
This is caught by ::CreateTexture2D_Worker, but is it possible that this is causing a resource leak within the d3d10 code?
| Reporter | ||
Comment 3•15 years ago
|
||
Here is a virtual memory report I created from a process stopped at OOM. There is a *lot* of heavy fragmentation, e.g.
400000 1000 MEM_COMMIT
401000 f000 MEM_FREE
410000 1000 MEM_COMMIT
411000 f000 MEM_FREE
420000 1000 MEM_COMMIT
421000 f000 MEM_FREE
430000 1000 MEM_COMMIT
431000 f000 MEM_FREE
(This is one page allocated, 15 pages free). I'm trying to figure out the least terrible way of figuring out who is allocating those pages.
| Assignee | ||
Comment 4•15 years ago
|
||
(In reply to comment #3)
> Created attachment 468438 [details]
> Firefox virtual memory report
>
> Here is a virtual memory report I created from a process stopped at OOM. There
> is a *lot* of heavy fragmentation, e.g.
This is what I reported in the original bug : I see leaks of backbuffers, and leaks of 4KB pages. The crash happens when the biggest free virtual memory becomes smaller than a few MB.
I see many of these 4KB pages allocated when resizing the window. The fragmentation here is normal : 16 pages = 64KB, which is the alignment of Windows virtual memory.
| Assignee | ||
Comment 5•15 years ago
|
||
The IDXGISurface in _cairo_d2d_get_buffer_texture wasn't released, so the reference count on surface->surface increased. With this change the virtual memory leaks I saw when scrolling and resizing window are fixed.
Workaround to allow running PIX :
When we do "newSurf->backBuf->QueryInterface(&newSurf->surface);", PIX returns the original interface instead of the hooked one, so I swapped newSurf->backBuf and newSurf->surface, to get the two interfaces in the reverse order. In this case PIX returns hooked interfaces which will work when used as argument of hooked methods.
Comment 6•15 years ago
|
||
Comment on attachment 468628 [details] [diff] [review]
Fix D2D texture leak, and workaround to allow runnig PIX
Great job, let's see if this fixes all our last issues!
Attachment #468628 -
Flags: review+
Updated•15 years ago
|
Assignee: nobody → hwti
Updated•15 years ago
|
Keywords: checkin-needed
Comment 7•15 years ago
|
||
This fixes it for me. I'll check it in.
Comment 8•15 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/a8f18c4dbc50
http://hg.mozilla.org/mozilla-central/rev/00ff5cfe0b0a
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•15 years ago
|
Keywords: checkin-needed
Target Milestone: --- → mozilla2.0b5
You need to log in
before you can comment on or make changes to this bug.
Description
•