Closed
Bug 3730
Opened 26 years ago
Closed 25 years ago
[DOGFOOD]MLK: 1424 bytes leaked XP Observer list for Image Requests leaking.
Categories
(Core :: Graphics: ImageLib, defect, P3)
Tracking
()
VERIFIED
FIXED
M12
People
(Reporter: bruce, Assigned: pnunn)
References
Details
(Whiteboard: [PDT-])
A comment in ImageRequestImpl::~ImageRequestImpl() indicates that image lib is supposed to manage the destruction of the observer list. However, that doesn't appear to be happening. MLK: 1424 bytes leaked in 89 blocks * This memory was allocated from: malloc [rtlib.o] PR_Malloc [prmem.c:38] XP_AddObserver [obs.c:159] ImageRequestImpl::Init(void*,const char*,nsIImageRequestObserver*,const unsigned int*,unsigned int,unsigned int,unsigned int,ilINetContext*) [nsImageRequest.cpp:86] ImageGroupImpl::GetImage(const char*,nsIImageRequestObserver*,const unsigned int*,unsigned int,unsigned int,unsigned int) [nsImageGroup.cpp:233] nsFrameImageLoader::Init(nsIPresContext*,nsIImageGroup*,const nsString&,const unsigned int*,nsIFrame*,const nsSize&,unsigned int(*)(nsIPresContext&,nsIFrame*,int),int,int) [nsFrameImageLoader.cpp:156] nsPresContext::StartLoadImage(const nsString&,const unsigned int*,nsIFrame*,const nsSize&,unsigned int(*)(nsIPresContext&,nsIFrame*,int),int,int,nsIFrameImageLoader**) [nsPresContext.cpp:734] nsHTMLImageLoader::StartLoadImage(nsIPresContext*,nsIFrame*,unsigned int(*)(nsIPresContext&,nsIFrame*,int),int,int&) [nsImageFrame.cpp:197] nsHTMLImageLoader::GetDesiredSize(nsIPresContext*,const nsHTMLReflowState&,nsIFrame*,unsigned int(*)(nsIPresContext&,nsIFrame*,int),nsHTMLReflowMetrics&) [nsImageFrame.cpp:270] nsImageFrame::GetDesiredSize(nsIPresContext*,const nsHTMLReflowState&,nsHTMLReflowMetrics&) [nsImageFrame.cpp:502] nsImageFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsImageFrame.cpp:530] nsInlineReflow::ReflowFrame(nsIFrame*,int,unsigned int&) [nsInlineReflow.cpp:316] nsBlockFrame::ReflowInlineFrame(nsBlockReflowState&,nsLineBox*,nsIFrame*,int*) [nsBlockFrame.cpp:2650] nsBlockFrame::ReflowLine(nsBlockReflowState&,nsLineBox*,int*) [nsBlockFrame.cpp:1816] nsBlockFrame::ReflowDirtyLines(nsBlockReflowState&) [nsBlockFrame.cpp:1564] nsBlockFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsBlockFrame.cpp:984] nsAreaFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsAreaFrame.cpp:509] nsContainerFrame::ReflowChild(nsIFrame*,nsIPresContext&,nsHTMLReflowMetrics&,con st nsHTMLReflowState&,unsigned int&) [nsContainerFrame.cpp:371] nsTableCellFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsTableCellFrame.cpp:501] nsContainerFrame::ReflowChild(nsIFrame*,nsIPresContext&,nsHTMLReflowMetrics&,con st nsHTMLReflowState&,unsigned int&) [nsContainerFrame.cpp:371] nsTableRowFrame::InitialReflow(nsIPresContext&,nsHTMLReflowMetrics&,RowReflowSta te&,unsigned int&,nsTableCellFrame*,int) [nsTableRowFrame.cpp:808] nsTableRowFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsTableRowFrame.cpp:1418] nsContainerFrame::ReflowChild(nsIFrame*,nsIPresContext&,nsHTMLReflowMetrics&,con st nsHTMLReflowState&,unsigned int&) [nsContainerFrame.cpp:371] nsTableRowGroupFrame::ReflowMappedChildren(nsIPresContext&,nsHTMLReflowMetrics&, RowGroupReflowState&,unsigned int&,nsTableRowFrame*,nsReflowReason,int) [nsTableRowGroupFrame.cpp:420] nsTableRowGroupFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsTableRowGroupFrame.cpp:948] nsContainerFrame::ReflowChild(nsIFrame*,nsIPresContext&,nsHTMLReflowMetrics&,con st nsHTMLReflowState&,unsigned int&) [nsContainerFrame.cpp:371] nsTableFrame::ResizeReflowPass1(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&,nsTableRowGroupFrame*,nsReflowReason,int) [nsTableFrame.cpp:2599] nsTableFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsTableFrame.cpp:2455] nsContainerFrame::ReflowChild(nsIFrame*,nsIPresContext&,nsHTMLReflowMetrics&,con st nsHTMLReflowState&,unsigned int&) [nsContainerFrame.cpp:371] nsTableOuterFrame::Reflow(nsIPresContext&,nsHTMLReflowMetrics&,const nsHTMLReflowState&,unsigned int&) [nsTableOuterFrame.cpp:958] * Block of 16 bytes (89 times); last block at 0xc1beb0
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Arrrgggh. I mistakenly closed this bug when I was accepting it. All attempts to remedy the situation resulted in "comment stutter". This bug is reopened because it never should have been closed. arrrghhhg. -pnunn
Reporter | ||
Updated•26 years ago
|
Status: RESOLVED → REOPENED
if.cpp: il_image_destroyed_notify() if.cpp: IL_DestroyGroupContext() destroys the image observerlist. But this appears to be about the image REQUEST observer in mozilla/gfx/src/nsImageRequest.cpp. Kipp has been working with this code. The status of this bug may have changed. Anyone have Purify?
I need more time on this one. It looks to me like things are freed properly, but obviously, they aren't. pushing to M7. -pn
Bruce: I'm having trouble tracking this down. If you run across any additional info, it would be great. thnx. -pn
Comment 9•25 years ago
|
||
-> m10
Updated•25 years ago
|
Summary: MLK: XP Observer list for Image Requests leaking. → MLK: 1424 bytes leaked XP Observer list for Image Requests leaking.
Summary: MLK: 1424 bytes leaked XP Observer list for Image Requests leaking. → [DOGFOOD]MLK: 1424 bytes leaked XP Observer list for Image Requests leaking.
Comment 10•25 years ago
|
||
Is this a Solaris only issue? Does this have big cumulative effect? The PDT asked that I ask....
Comment 11•25 years ago
|
||
No comments, setting to [PDT-]
Assignee | ||
Comment 12•25 years ago
|
||
I think my checkin today will take care of this leak. I haven't checked it with purify yet, but it looks fine with bloaty. -pn
Status: ASSIGNED → RESOLVED
Closed: 26 years ago → 25 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 13•25 years ago
|
||
bruce, would you verify? -pn
Reporter | ||
Comment 14•25 years ago
|
||
I haven't done a build in a long time (and don't have the time to do one for some time yet). Would it be possible to do this with the other tools that exist for non-Bruce people?
Assignee | ||
Comment 15•25 years ago
|
||
Bruce: I'm running purify on NT today. I'll double check the fix. -pn
Comment 16•25 years ago
|
||
Thanks, Pam!
Comment 17•25 years ago
|
||
[nagged pnunn by e-mail re: verifying this bug.]
Updated•25 years ago
|
QA Contact: elig → pnunn
Comment 18•25 years ago
|
||
No feedback received from pnunn after several nags over a 5 week timeframe; therefore, QA assigning to pnunn.
Assignee | ||
Comment 19•24 years ago
|
||
I just checked my purify on this and the leak is gone....so count it verified. -P
Status: RESOLVED → VERIFIED
QA Contact: pnunn → elig
You need to log in
before you can comment on or make changes to this bug.
Description
•