If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Some strange leak happen in while loading google/yahoo repeatedly




DOM: Core & HTML
8 years ago
a year ago


(Reporter: romaxa, Unassigned)


1.9.2 Branch

Firefox Tracking Flags

(platform-rel ?)


(Whiteboard: [platform-rel-Yahoo!])



8 years ago
I was testing 1.9.2 branch with valgrind on simple test:
load repeatedly google.com/yahoo.com

and I found some strange leak:

Any ideas what it could be?

==1700== 216 bytes in 9 blocks are possibly lost in loss record 79 of 194
==1700==    at 0x4020C19: malloc (in /targets/x86-product/usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==1700==    by 0x562AAFB: PR_Malloc (prmem.c:467)
==1700==    by 0x5622363: _PR_Getfd (prfdcach.c:141)
==1700==    by 0x563AE7E: pt_SetMethods (ptio.c:3318)
==1700==    by 0x563B21A: PR_OpenFile (ptio.c:3574)
==1700==    by 0x563B2B3: PR_Open (ptio.c:3582)
==1700==    by 0x535C488: nsLocalFile::OpenNSPRFileDesc(int, int, PRFileDesc**) (nsLocalFileUnix.cpp:395)
==1700==    by 0x4A2FDC5: nsFileInputStream::Open(nsIFile*, int, int) (nsFileStreams.cpp:216)
==1700==    by 0x4A2FE91: nsFileInputStream::Init(nsIFile*, int, int, int) (nsFileStreams.cpp:253)
==1700==    by 0x4AA902F: nsFileChannel::MakeFileInputStream(nsIFile*, nsCOMPtr<nsIInputStream>&, nsCString&) (nsNetUtil.h:912)
==1700==    by 0x4AA9B75: nsFileChannel::OpenContentStream(int, nsIInputStream**, nsIChannel**) (nsFileChannel.cpp:371)
==1700==    by 0x4A2C17E: nsBaseChannel::Open(nsIInputStream**) (nsBaseChannel.cpp:506)
==1700==    by 0x4EC54B7: nsXBLService::FetchBindingDocument(nsIContent*, nsIDocument*, nsIURI*, nsIURI*, int, nsIDocument**) (nsXBLService.cpp:1299)
==1700==    by 0x4EC583D: nsXBLService::LoadBindingDocumentInfo(nsIContent*, nsIDocument*, nsIURI*, nsIPrincipal*, int, nsIXBLDocumentInfo**) (nsXBLService.cpp:1180)
==1700==    by 0x4EC5CAF: nsXBLService::GetBinding(nsIContent*, nsIURI*, int, nsIPrincipal*, int*, nsXBLBinding**, nsTArray<nsIURI*>&) (nsXBLService.cpp:863)
==1700==    by 0x4EC66C1: nsXBLService::GetBinding(nsIContent*, nsIURI*, int, nsIPrincipal*, int*, nsXBLBinding**) (nsXBLService.cpp:834)
==1700==    by 0x4EC683A: nsXBLService::LoadBindings(nsIContent*, nsIURI*, nsIPrincipal*, int, nsXBLBinding**, int*) (nsXBLService.cpp:577)
==1700==    by 0x4B66273: nsCSSFrameConstructor::AddFrameConstructionItemsInternal(nsFrameConstructorState&, nsIContent*, nsIFrame*, nsIAtom*, int, int, nsStyleContext*,
==1700==    by 0x4B66A11: nsCSSFrameConstructor::AddFrameConstructionItems(nsFrameConstructorState&, nsIContent*, int, nsIFrame*, nsCSSFrameConstructor::FrameConstructio
==1700==    by 0x4B6F91C: nsCSSFrameConstructor::ContentAppended(nsIContent*, int) (nsCSSFrameConstructor.cpp:6464)
==1700==    by 0x4BAADB0: PresShell::ContentAppended(nsIDocument*, nsIContent*, int) (nsPresShell.cpp:5161)
==1700==    by 0x4D5FF86: nsNodeUtils::ContentAppended(nsIContent*, int) (nsNodeUtils.cpp:133)
==1700==    by 0x4D0C819: nsContentSink::NotifyAppend(nsIContent*, unsigned int) (nsContentSink.cpp:1380)
==1700==    by 0x4E4A192: SinkContext::FlushTags() (nsHTMLContentSink.cpp:1378)
==1700==    by 0x4E4A1E4: HTMLContentSink::FlushTags() (nsHTMLContentSink.cpp:3181)
==1700==    by 0x4E49E08: HTMLContentSink::FlushPendingNotifications(mozFlushType) (nsHTMLContentSink.cpp:3159)
==1700==    by 0x4D39FC5: nsDocument::FlushPendingNotifications(mozFlushType) (nsDocument.cpp:6280)
==1700==    by 0x4BA8C88: PresShell::FlushPendingNotifications(mozFlushType) (nsPresShell.cpp:4984)
==1700==    by 0x4BA3576: PresShell::ReflowEvent::Run() (nsPresShell.cpp:7254)
==1700==    by 0x536A8B1: nsThread::ProcessNextEvent(int, int*) (nsThread.cpp:527)
==1700==    by 0x533316C: NS_ProcessPendingEvents_P(nsIThread*, unsigned int) (nsThreadUtils.cpp:200)
==1700==    by 0x531049E: nsBaseAppShell::NativeEventCallback() (nsBaseAppShell.cpp:121)
==1700==    by 0x5306278: nsAppShell::EventProcessorCallback(_GIOChannel*, GIOCondition, void*) (nsAppShell.cpp:71)
==1700==    by 0x41336C6: g_io_unix_dispatch (giounix.c:162)
==1700==    by 0x40FEE3B: g_main_context_dispatch (gmain.c:1836)
==1700==    by 0x41023C4: g_main_context_iterate (gmain.c:2467)
==1700==    by 0x41026B7: g_main_loop_run (gmain.c:2675)
==1700==    by 0x42AC258: gtk_main (gtkmain.c:1200)
==1700==    by 0x8054973: start_server (main.c:415)
==1700==    by 0x8054BBE: main (main.c:513)


8 years ago
Version: Trunk → 1.9.2 Branch

Comment 1

8 years ago
no real ideas.  are you leaking any xpcom objects?  maybe the file channel?

Comment 2

8 years ago
According to valgrind that was created in frame constructor... but I'm not sure which object I should addref to cause this leak...
platform-rel: --- → ?
Last Resolved: a year ago
Resolution: --- → INCOMPLETE
Whiteboard: [platform-rel-Yahoo!]
You need to log in before you can comment on or make changes to this bug.