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•25 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
•