Closed
Bug 549911
Opened 15 years ago
Closed 15 years ago
[d2d] crash in _cairo_d2d_acquire_source_image [@ IUnknown::QueryInterface<IDXGISurface>(IDXGISurface**)]
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jrmuizel, Assigned: bas.schouten)
References
Details
Attachments
(2 files)
(deleted),
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
jrmuizel
:
review+
|
Details | Diff | Splinter Review |
Comment 1•15 years ago
|
||
This site is normally a pretty good example of this crash: http://vinothkumarm.blogspot.com/2009/02/police-car.html
1. Wait for the page to load.
2. Scroll down the page. It will probably freeze.
3. Try to switch tabs.
4. Wait and it should crash within 10 seconds.
Assignee | ||
Comment 2•15 years ago
|
||
(In reply to comment #1)
> This site is normally a pretty good example of this crash:
> http://vinothkumarm.blogspot.com/2009/02/police-car.html
>
> 1. Wait for the page to load.
> 2. Scroll down the page. It will probably freeze.
> 3. Try to switch tabs.
> 4. Wait and it should crash within 10 seconds.
Hrm, works like a charm for me. I thought you might be running out of VRAM but it doesn't seem that RAM heavy, and D3D should just swap out stuff to RAM.. I'm not sure I understand why it would crash for you.
Assignee | ||
Comment 3•15 years ago
|
||
Never mind, got it now, thanks!
Assignee: nobody → bas.schouten
Status: NEW → ASSIGNED
Comment 4•15 years ago
|
||
(In reply to comment #2)
> Hrm, works like a charm for me. I thought you might be running out of VRAM but
> it doesn't seem that RAM heavy, and D3D should just swap out stuff to RAM.. I'm
> not sure I understand why it would crash for you.
it doesn't crash every time. It sometimes just completely locks up the browser. The last three crashes I've had in Firefox have been then same: de790838-7d00-4b54-a186-68d2c2100304, 8a22056f-b6c0-401d-a41b-f8d442100304, e300cbef-4520-47c7-a445-e71c02100303.
Is there anything I can do to help you track this down?
Assignee | ||
Comment 5•15 years ago
|
||
So the fact the way this crashes the way it does is because d2dsurf->surface is released and NULL'ed out on an error in acquire_source. This is wrong in the first place. But I still need to figure out why there's an error in the map that causes this to occur. In any case I'm on it.
Assignee | ||
Comment 6•15 years ago
|
||
The problem triggering all of this is nsWindow::Scroll giving us an affectedRect with a y of -4179.. This in turn seems to be caused by the function getting passed in a destRect with a large negative destrect.. no idea what's causing this.
Assignee | ||
Comment 7•15 years ago
|
||
So we get in really odd clip rectangles. We might want to look at why at some point, but that's not D2D specific code. d2d_scroll should be able to deal with it though, fixing that here.
Attachment #430378 -
Flags: review?(jmuizelaar)
Assignee | ||
Comment 8•15 years ago
|
||
At some point acquire/release stored their temporary surface on the cairo_d2d_surface_t structure. This hasn't been the case for a while though! They have little to do with that object, and should leave it alone, properly releasing softTexture now instead, and no longer checking it.
Attachment #430379 -
Flags: review?(jmuizelaar)
Reporter | ||
Comment 9•15 years ago
|
||
Comment on attachment 430378 [details] [diff] [review]
Part 1: Make d2d_scroll robust against clip rects outside the surface
I don't really like doing the QueryInterface() in the scroll code, but can't think of a better way. A comment for the section explaining why we need to constrain the clip would be good to. (i.e. what goes wrong if we don't etc)
Attachment #430378 -
Flags: review?(jmuizelaar) → review+
Reporter | ||
Updated•15 years ago
|
Attachment #430379 -
Flags: review?(jmuizelaar) → review+
Assignee | ||
Comment 10•15 years ago
|
||
Assignee | ||
Updated•15 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•