Closed Bug 28444 Opened 25 years ago Closed 25 years ago

Free memory read: nsTimerGtk

Categories

(Core :: XUL, defect, P3)

Sun
Solaris
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: bruce, Assigned: pavlov)

Details

This happens from a number of other calling locations .. something evil is going on. **** Purify instrumented ./mozilla-bin.pure (pid 3080) **** FMR: Free memory read (32 times): * This is occurring while in: nsTimerGtk::FireTimeout() [nsTimerGtk.cpp:54] nsTimerExpired [nsTimerGtk.cpp:165] g_timeout_dispatch [gmain.c:1147] g_main_dispatch [gmain.c:647] g_main_iterate [gmain.c:854] g_main_run [gmain.c:912] gtk_main [gtkmain.c:475] nsAppShell::Run() [nsAppShell.cpp:304] nsAppShellService::Run() [nsAppShellService.cpp:400] nsProfile::LoadDefaultProfileDir(nsCString&) [nsProfile.cpp:330] nsProfile::StartupWithArgs(nsICmdLineService*) [nsProfile.cpp:249] main1(int,char**,nsISplashScreen*) [nsAppRunner.cpp:589] main [nsAppRunner.cpp:770] _start [crt1.o] * Reading 4 bytes from 0x97b2f8 in the heap. * Address 0x97b2f8 is 16 bytes into a freed block at 0x97b2e8 of 24 bytes. * This block was allocated from: malloc [rtlib.o] __bUiLtIn_nEw [libxpcom.so] __builtin_new [rtlib.o] nsRenderingContextGTK::PushState() [nsRenderingContextGTK.cpp:286] nsTableRowFrame::PaintChildren(nsIPresContext*,nsIRenderingContext&,const nsRect&,nsFramePaintLayer) [nsTableRowFrame.cpp:431] nsTableRowFrame::Paint(nsIPresContext*,nsIRenderingContext&,const nsRect&,nsFramePaintLayer) [nsTableRowFrame.cpp:389] PresShell::Paint(nsIView*,nsIRenderingContext&,const nsRect&) [nsPresShell.cpp:2824] nsView::Paint(nsIRenderingContext&,const nsRect&,unsigned int,int&) [nsView.cpp:286] nsViewManager2::RenderDisplayListElement(DisplayListElement2*,nsIRenderingContex t&) [nsViewManager2.cpp:706] nsViewManager2::RenderViews(nsIView*,nsIRenderingContext&,const nsRect&,int&) [nsViewManager2.cpp:655] nsViewManager2::Refresh(nsIView*,nsIRenderingContext*,const nsRect*,unsigned int) [nsViewManager2.cpp:568] nsViewManager2::DispatchEvent(nsGUIEvent*,nsEventStatus*) [nsViewManager2.cpp:1126] HandleEvent(nsGUIEvent*) [nsView.cpp:68] nsWidget::DispatchEvent(nsGUIEvent*,nsEventStatus&) [nsWidget.cpp:1363] nsWidget::DispatchWindowEvent(nsGUIEvent*) [nsWidget.cpp:1254] nsWindow::DoPaint(int,int,int,int,nsIRegion*) [nsWindow.cpp:560] nsWindow::Update() [nsWindow.cpp:606] nsViewManager2::Composite() [nsViewManager2.cpp:928] vm_timer_callback(nsITimer*,void*) [nsViewManager2.cpp:84] nsTimerGtk::FireTimeout() [nsTimerGtk.cpp:48] nsTimerExpired [nsTimerGtk.cpp:165] g_timeout_dispatch [gmain.c:1147] g_main_dispatch [gmain.c:647] g_main_iterate [gmain.c:854] g_main_run [gmain.c:912] gtk_main [gtkmain.c:475] nsAppShell::Run() [nsAppShell.cpp:304] nsAppShellService::Run() [nsAppShellService.cpp:400] nsProfile::LoadDefaultProfileDir(nsCString&) [nsProfile.cpp:330] nsProfile::StartupWithArgs(nsICmdLineService*) [nsProfile.cpp:249] * There have been 24 frees since this block was freed from: free [rtlib.o] __bUiLtIn_dElEtE [libxpcom.so] __builtin_delete [rtlib.o] nsGraphicsState::~nsGraphicsState() [nsGraphicsStateGTK.cpp:38] nsRenderingContextGTK::PopState(int&) [nsRenderingContextGTK.cpp:351] nsTableRowFrame::PaintChildren(nsIPresContext*,nsIRenderingContext&,const nsRect&,nsFramePaintLayer) [nsTableRowFrame.cpp:442] nsTableRowFrame::Paint(nsIPresContext*,nsIRenderingContext&,const nsRect&,nsFramePaintLayer) [nsTableRowFrame.cpp:389] PresShell::Paint(nsIView*,nsIRenderingContext&,const nsRect&) [nsPresShell.cpp:2824] nsView::Paint(nsIRenderingContext&,const nsRect&,unsigned int,int&) [nsView.cpp:286] nsViewManager2::RenderDisplayListElement(DisplayListElement2*,nsIRenderingContex t&) [nsViewManager2.cpp:706] nsViewManager2::RenderViews(nsIView*,nsIRenderingContext&,const nsRect&,int&) [nsViewManager2.cpp:655] nsViewManager2::Refresh(nsIView*,nsIRenderingContext*,const nsRect*,unsigned int) [nsViewManager2.cpp:568] nsViewManager2::DispatchEvent(nsGUIEvent*,nsEventStatus*) [nsViewManager2.cpp:1126] HandleEvent(nsGUIEvent*) [nsView.cpp:68] nsWidget::DispatchEvent(nsGUIEvent*,nsEventStatus&) [nsWidget.cpp:1363] nsWidget::DispatchWindowEvent(nsGUIEvent*) [nsWidget.cpp:1254] nsWindow::DoPaint(int,int,int,int,nsIRegion*) [nsWindow.cpp:560] nsWindow::Update() [nsWindow.cpp:606] nsViewManager2::Composite() [nsViewManager2.cpp:928] vm_timer_callback(nsITimer*,void*) [nsViewManager2.cpp:84] nsTimerGtk::FireTimeout() [nsTimerGtk.cpp:48] nsTimerExpired [nsTimerGtk.cpp:165] g_timeout_dispatch [gmain.c:1147] g_main_dispatch [gmain.c:647] g_main_iterate [gmain.c:854] g_main_run [gmain.c:912] gtk_main [gtkmain.c:475] nsAppShell::Run() [nsAppShell.cpp:304] nsAppShellService::Run() [nsAppShellService.cpp:400] nsProfile::LoadDefaultProfileDir(nsCString&) [nsProfile.cpp:330]
reassigning to pavlov for triage.
Assignee: trudelle → pavlov
Fix already done, checked in, etc.
yeah, gave bruce a fix and he checked it in. Eat that PDT.
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
verified
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.