Closed Bug 29945 Opened 25 years ago Closed 25 years ago

MLK: We leak some gtk_superwin structs.

Categories

(Core :: XUL, defect, P3)

x86
Linux
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: bruce, Assigned: blizzard)

Details

Attachments

(1 file)

We don't appear to leak any nsWindow objects. We aren't clobbering the mSuperWin member variable on nsWindow so far as I could tell. Steps to reproduce: 1) Launch viewer. Let it load sample #0 by default. 2) Go to http://www.cybersight.com/~bruce/ 3) Quit. 4) Note that 2 gtk_superwin objects, one of each allocation point as indicated below have leaked. MLK: 112 bytes leaked in 2 blocks * This memory was allocated from: malloc [rtlib.o] calloc [rtlib.o] g_malloc0 [gmem.c:242] gtk_type_new [gtktypeutils.c:374] gdk_superwin_new [gdksuperwin.c:114] nsWindow::CreateNative(_GtkObject*) [nsWindow.cpp:1543] nsWidget::CreateWidget(nsIWidget*,const nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*,void*) [nsWidget.cpp:1156] nsWidget::Create(nsIWidget*,const nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*) [nsWidget.cpp:1223] nsView::CreateWidget(const nsID&,nsWidgetInitData*,void*,int) [nsView.cpp:1268] nsScrollPortView::CreateScrollControls(void*) [nsScrollPortView.cpp:153] nsScrollPortFrame::CreateScrollingView(nsIPresContext*) [nsScrollPortFrame.cpp:299] nsScrollPortFrame::Init(nsIPresContext*,nsIContent*,nsIFrame*,nsIStyleContext*,nsIFrame*) [nsScrollPortFrame.cpp:115] nsCSSFrameConstructor::InitAndRestoreFrame(nsIPresContext*,nsFrameConstructorState&,nsIContent*,nsIFrame*,nsIStyleContext*,nsIFrame*,nsIFrame*) [nsCSSFrameConstructor.cpp:5271] nsCSSFrameConstructor::BeginBuildingScrollFrame(nsIPresShell*,nsIPresContext*,nsFrameConstructorState&,nsIContent*,nsIStyleContext*,nsIFrame*,nsIAtom*,nsIDocument*,nsIFrame*&,nsCOMPtr<nsIStyleContext>&,nsIFrame*&) [nsCSSFrameConstructor.cpp:4591] nsCSSFrameConstructor::ConstructRootFrame(nsIPresShell*,nsIPresContext*,nsIContent*,nsIFrame*&) [nsCSSFrameConstructor.cpp:2652] StyleSetImpl::ConstructRootFrame(nsIPresContext*,nsIContent*,nsIFrame*&) [nsStyleSet.cpp:942] PresShell::InitialReflow(int,int) [nsPresShell.cpp:1205] HTMLContentSink::StartLayout() [nsHTMLContentSink.cpp:3054] HTMLContentSink::OpenBody(const nsIParserNode&) [nsHTMLContentSink.cpp:2681] CNavDTD::OpenBody(const nsIParserNode*) [CNavDTD.cpp:2622] CNavDTD::OpenContainer(const nsIParserNode*,nsHTMLTag,int,nsEntryStack*) [CNavDTD.cpp:2874] CNavDTD::HandleDefaultStartToken(CToken*,nsHTMLTag,nsIParserNode*) [CNavDTD.cpp:1077] CNavDTD::HandleStartToken(CToken*) [CNavDTD.cpp:1391] CNavDTD::HandleToken(CToken*,nsIParser*) [CNavDTD.cpp:765] CNavDTD::BuildModel(nsIParser*,nsITokenizer*,nsITokenObserver*,nsIContentSink*) [CNavDTD.cpp:504] nsParser::BuildModel() [nsParser.cpp:1231] nsParser::ResumeParse(nsIDTD*,int) [nsParser.cpp:1146] nsParser::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned int,unsigned int) [nsParser.cpp:1524] nsDocumentOpenInfo::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned int,unsigned int) [nsURILoader.cpp:266] InterceptStreamListener::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned int,unsigned int) [nsCachedNetData.cpp:1125] * Block of 56 bytes (2 times); last block at 0xceafe8 MLK: 112 bytes leaked in 2 blocks * This memory was allocated from: malloc [rtlib.o] calloc [rtlib.o] g_malloc0 [gmem.c:242] gtk_type_new [gtktypeutils.c:374] gdk_superwin_new [gdksuperwin.c:114] nsWindow::CreateNative(_GtkObject*) [nsWindow.cpp:1543] nsWidget::CreateWidget(nsIWidget*,const nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*,void*) [nsWidget.cpp:1156] nsWidget::Create(void*,const nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*) [nsWidget.cpp:1241] nsView::CreateWidget(const nsID&,nsWidgetInitData*,void*,int) [nsView.cpp:1263] DocumentViewerImpl::MakeWindow(void*,const nsRect&,nsScrollPreference) [nsDocumentViewer.cpp:912] DocumentViewerImpl::Init(void*,nsIDeviceContext*,nsIPref*,const nsRect&,nsScrollPreference) [nsDocumentViewer.cpp:472] nsDocShell::SetupNewViewer(nsIContentViewer*) [nsDocShell.cpp:2006] nsWebShell::SetupNewViewer(nsIContentViewer*) [nsWebShell.cpp:809] nsDocShell::CreateContentViewer(const char*,int,nsIChannel*,nsIStreamListener**) [nsDocShell.cpp:1876] nsWebShell::DoContent(const char*,int,const char*,nsIChannel*,nsIStreamListener**,int*) [nsWebShell.cpp:1631] nsDocumentOpenInfo::DispatchContent(nsIChannel*,nsISupports*) [nsURILoader.cpp:389] nsDocumentOpenInfo::OnStartRequest(nsIChannel*,nsISupports*) [nsURILoader.cpp:252] InterceptStreamListener::OnStartRequest(nsIChannel*,nsISupports*) [nsCachedNetData.cpp:1100] nsHTTPServerListener::FinishedResponseHeaders() [nsHTTPResponseListener.cpp:680] nsHTTPServerListener::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned int,unsigned int) [nsHTTPResponseListener.cpp:309] nsOnDataAvailableEvent::HandleEvent() [nsAsyncStreamListener.cpp:373] nsStreamListenerEvent::HandlePLEvent(PLEvent*) [nsAsyncStreamListener.cpp:97] PL_HandleEvent [plevent.c:526] PL_ProcessPendingEvents [plevent.c:487] nsEventQueueImpl::ProcessPendingEvents() [nsEventQueue.cpp:298] event_processor_callback(void*,int,GdkInputCondition) [nsAppShell.cpp:141] our_gdk_io_invoke(_GIOChannel*,GIOCondition,void*) [nsAppShell.cpp:54] g_io_unix_dispatch [giounix.c:131] g_main_dispatch [gmain.c:647] g_main_iterate [gmain.c:854] * Block of 56 bytes (2 times); last block at 0xc89660
Attached patch patch to fix mem leak (deleted) — Splinter Review
Here's a patch that should fix it.
Status: NEW → ASSIGNED
Checked in.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Verified in Purify!
Status: RESOLVED → VERIFIED
Please ignore the spam. Changing address.
Assignee: blizzard → blizzard
Status: VERIFIED → NEW
bustage from my reassign
Status: NEW → RESOLVED
Closed: 25 years ago25 years ago
bustage from my reassign
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: