Closed Bug 775848 Opened 10 years ago Closed 10 years ago

BasicShadowLayerManager::mRepeatTransaction is uninitialized

Categories

(Core :: Graphics, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla17
Tracking Status
firefox16 + fixed

People

(Reporter: dholbert, Assigned: karlt)

References

Details

Attachments

(1 file)

This changeset for Bug 771219...
 https://hg.mozilla.org/mozilla-central/rev/265258de61ec
added a boolean member-var BasicShadowLayerManager::mRepeatTransaction, which isn't necessarily ever set, though it is read, during "BasicShadowLayerManager::EndTransaction().

We should probably be initializing it, to false I imagine.

I ran across this due to the following valgrind warning, near startup:
==19324== Conditional jump or move depends on uninitialised value(s)
==19324==    at 0x99B01F3: mozilla::layers::BasicShadowLayerManager::EndTransaction(void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegi
on const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) (BasicLayerManager.cpp:1001)
==19324==    by 0x8291D2A: nsDisplayList::PaintForFrame(nsDisplayListBuilder*, nsRenderingContext*, nsIFrame*, unsigned int) const (nsDisplayList.cpp:651)
==19324==    by 0x82915D2: nsDisplayList::PaintRoot(nsDisplayListBuilder*, nsRenderingContext*, unsigned int) const (nsDisplayList.cpp:549)
==19324==    by 0x82C85B7: nsLayoutUtils::PaintFrame(nsRenderingContext*, nsIFrame*, nsRegion const&, unsigned int, unsigned int) (nsLayoutUtils.cpp:1786)
==19324==    by 0x82F4FB3: PresShell::Paint(nsIView*, nsIWidget*, nsRegion const&, nsIntRegion const&, bool) (nsPresShell.cpp:5278)
==19324==    by 0x8A692C6: nsViewManager::Refresh(nsView*, nsIWidget*, nsIntRegion const&, bool) (nsViewManager.cpp:339)
==19324==    by 0x8A6A77E: nsViewManager::DispatchEvent(nsGUIEvent*, nsIView*, nsEventStatus*) (nsViewManager.cpp:768)
==19324==    by 0x8A64DBC: HandleEvent(nsGUIEvent*) (nsView.cpp:127)
==19324==    by 0x956F934: nsWindow::DispatchEvent(nsGUIEvent*, nsEventStatus&) (nsWindow.cpp:474)
==19324==    by 0x95739A8: nsWindow::OnExposeEvent(_GdkEventExpose*) (nsWindow.cpp:2213)
==19324==    by 0x957B622: expose_event_cb(_GtkWidget*, _GdkEventExpose*) (nsWindow.cpp:5091)
==19324==    by 0xE1F3DD7: _gtk_marshal_BOOLEAN__BOXED (gtkmarshalers.c:86)
Attached patch InitializeSplinter Review
Assignee: nobody → karlt
Status: NEW → ASSIGNED
Attachment #647032 - Flags: review?(bgirard)
Not sure how much repeating the transaction unnecessarily could affect performance.
It should happen only once per layer manager.
But this should be a trivial fix for Aurora.
Comment on attachment 647032 [details] [diff] [review]
Initialize

Wow sorry about that. I think the repeat transaction wont do anything expensive (draw/upload) since it will have completed before. That said I rather just patch it and not take the risk. Let's uplift this to aurora.
Attachment #647032 - Flags: review?(bgirard) → review+
Duplicate of this bug: 778071
https://hg.mozilla.org/mozilla-central/rev/701fd0265295
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
Comment on attachment 647032 [details] [diff] [review]
Initialize

[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 771219
User impact if declined: possible performance impact in rare situations, valgrind warnings.
Testing completed (on m-c, etc.): on m-c.
Risk to taking this patch (and alternatives if risky): none.
String or UUID changes made by this patch: none.
Attachment #647032 - Flags: approval-mozilla-aurora?
Comment on attachment 647032 [details] [diff] [review]
Initialize

low risk, approving.
Attachment #647032 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.