Closed Bug 421768 Opened 16 years ago Closed 15 years ago

Camino hung while reloading webpage(s), lots of memory consumed

Categories

(Camino Graveyard :: General, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: acmiddleton, Unassigned)

References

()

Details

Attachments

(1 file, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.12pre) Gecko/20080118 Camino/1.6b2 (like Firefox/2.0.0.12pre)
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.12pre) Gecko/20080118 Camino/1.6b2 (like Firefox/2.0.0.12pre)

My browser hung after several days of multiple tabs being open, though not repeatable I believe I've seen similar behavior several times now.  It appears that www.nytimes.com and www.startribune are trying to load, but I get the spinning ball cursor and Activity Monitor says Camino is hung.

- think I've seen this 2-3 times before, but takes weeks to recur
- 32 open tabs
- during hang, 8Mbytes free memory, Activity Monitor says 44Mbyes consumed, but after Camino killed, 440Mbytes free
- no log messages
- I'm running 10.3.9 Mac OSX

Reproducible: Sometimes

Steps to Reproduce:
1.  Open a bunch of tabs, iTunes, Mail, occasionally Microsoft Office X.
2.  Wait a few days, display not system goes to sleep (no screen saver, iTunes running in background)
3.  Last user action was to reload www.startribune.com (in this case).
Actual Results:  
Spinning ball cursor.

www.startribune.com and www.nytimes.com activity tab shown as loading.

Expected Results:  
Normal browser.

(Activity Monitor Camino Sample cut & paste when hung, formatting got a bit munged)

Analysis of sampling pid 6687 every 10.000000 milliseconds
Call graph:
    193 Thread_110b
      193 start
        193 start
          193 NSApplicationMain
            193 -[NSApplication run]
              193 0xd809e00
                193 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
                  193 _DPSNextEvent
                    193 BlockUntilNextEventMatchingListInMode
                      193 ReceiveNextEventCommon
                        193 RunCurrentEventLoopInMode
                          193 CFRunLoopRunSpecific
                            193 __CFRunLoopRun
                              193 __CFRunLoopDoSources0
                                193 PL_ProcessPendingEvents
                                  193 PL_HandleEvent
                                    193 handleTimerEvent(TimerEventType*)
                                      193 nsTimerImpl::Fire()
                                        193 nsJSContext::Notify(nsITimer*)
                                          193 JS_GC
                                            193 js_GC
                                              193 JS_DHashTableEnumerate
                                                193 js_MarkGCThing
                                                  193 js_MarkAtom
                                                    192 js_Mark
                                                      191 GetIdentityObject(JSContext*, JSObject*)
                                                        188 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                          183 js_MarkAtom
                                                            182 js_Mark
                                                              182 XPC_WN_GetterSetter(JSContext*, JSObject*, unsigned int, long*, long*)
                                                                182 non-virtual thunk to nsXPCComponents::CanSetProperty(nsID const*, unsigned short const*, char**)
                                                                  181 js_MarkAtom
                                                                    180 js_MarkAtom
                                                                      178 js_MarkAtom
                                                                        176 js_MarkAtom
                                                                          173 js_MarkAtom
                                                                            168 js_MarkAtom
                                                                              99 js_Mark
                                                                                97 GetIdentityObject(JSContext*, JSObject*)
                                                                                  96 nsDOMGCParticipantSH::Mark(nsIXPConnectWrappedNative*, JSContext*, JSObject*, void*, unsigned int*)
                                                                                    96 nsDOMClassInfo::MarkReachablePreservedWrappers(nsIDOMGCParticipant*, JSContext*, void*)
                                                                                      89 js_MarkAtom
                                                                                        47 js_MarkAtom
                                                                                          28 js_MarkAtom
                                                                                            15 js_Mark
                                                                                              15 GetIdentityObject(JSContext*, JSObject*)
                                                                                                13 nsDOMGCParticipantSH::Mark(nsIXPConnectWrappedNative*, JSContext*, JSObject*, void*, unsigned int*)
                                                                                                  12 nsDOMClassInfo::MarkReachablePreservedWrappers(nsIDOMGCParticipant*, JSContext*, void*)
                                                                                                    11 js_MarkAtom
                                                                                                      9 js_MarkAtom
                                                                                                      2 js_Mark
                                                                                                        2 GetIdentityObject(JSContext*, JSObject*)
                                                                                                          2 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                                                                            2 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                                                                    1 nsGenericElement::GetSCCIndex()
                                                                                                      1 nsCOMPtr_base::assign_from_qi(nsQueryInterface, nsID const&)
                                                                                                        1 nsQueryInterface::operator()(nsID const&, void**) const
                                                                                                          1 nsHTMLObjectElement::QueryInterface(nsID const&, void**)
                                                                                                            1 nsGenericHTMLFormElement::QueryInterface(nsID const&, void**)
                                                                                                              1 nsGenericHTMLFormElement::QueryInterface(nsID const&, void**)
                                                                                                  1 nsCOMPtr_base::assign_from_qi(nsQueryInterface, nsID const&)
                                                                                                    1 nsQueryInterface::operator()(nsID const&, void**) const
                                                                                                      1 nsQueryInterface::operator()(nsID const&, void**) const
                                                                                                2 GetIdentityObject(JSContext*, JSObject*)
                                                                                            13 js_MarkAtom
                                                                                          12 js_MarkAtom
                                                                                          7 js_Mark
                                                                                            5 GetIdentityObject(JSContext*, JSObject*)
                                                                                              4 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                                                                4 js_MarkAtom
                                                                                                  2 js_Mark
                                                                                                    2 js_MarkScopeProperty
                                                                                                      1 js_MarkAtom
                                                                                                        1 js_Mark
                                                                                                          1 js_MarkScopeProperty
                                                                                                            1 js_MarkId
                                                                                                              1 js_MarkId
                                                                                                      1 js_MarkScopeProperty
                                                                                                  1 js_MarkAtom
                                                                                                  1 js_MarkAtom
                                                                                                    1 js_Mark
                                                                                                      1 js_SetCallVariable
                                                                                                        1 js_MarkGCThing
                                                                                                          1 js_GetGCThingFlags
                                                                                                            1 js_GetGCThingFlags
                                                                                              1 GetIdentityObject(JSContext*, JSObject*)
                                                                                            1 js_SetCallVariable
                                                                                              1 js_MarkScript
                                                                                                1 js_MarkScript
                                                                                            1 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                                                              1 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                                                        39 js_Mark
                                                                                          38 GetIdentityObject(JSContext*, JSObject*)
                                                                                            36 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                                                              36 js_MarkAtom
                                                                                                34 js_MarkAtom
                                                                                                  34 js_MarkAtom
                                                                                                    30 js_Mark
                                                                                                      30 js_SetCallVariable
                                                                                                        30 js_MarkScript
                                                                                                          21 js_MarkScript
                                                                                                          9 js_MarkAtom
                                                                                                            9 js_MarkAtom
                                                                                                              7 js_Mark
                                                                                                                7 js_SetCallVariable
                                                                                                                  7 js_MarkScript
                                                                                                                    7 js_MarkScript
                                                                                                              2 js_MarkAtom
                                                                                                    4 js_MarkAtom
                                                                                                2 js_MarkAtom
                                                                                            2 nsDOMGCParticipantSH::Mark(nsIXPConnectWrappedNative*, JSContext*, JSObject*, void*, unsigned int*)
                                                                                              2 nsDOMClassInfo::MarkReachablePreservedWrappers(nsIDOMGCParticipant*, JSContext*, void*)
                                                                                                2 nsGenericElement::GetSCCIndex()
                                                                                                  2 nsGenericElement::GetSCCIndex()
                                                                                          1 js_SetCallVariable
                                                                                            1 js_MarkScript
                                                                                              1 js_MarkScript
                                                                                        3 js_MarkAtom
                                                                                      3 nsDOMClassInfo::MarkReachablePreservedWrappers(nsIDOMGCParticipant*, JSContext*, void*)
                                                                                      2 nsMarkedJSFunctionHolder_base::Set(nsISupports*, nsIDOMGCParticipant*)
                                                                                        2 nsMarkedJSFunctionHolder_base::Set(nsISupports*, nsIDOMGCParticipant*)
                                                                                      1 0x9dedcc
                                                                                        1 0x9dedcc
                                                                                      1 nsGenericElement::GetSCCIndex()
                                                                                        1 nsGenericElement::GetSCCIndex()
                                                                                  1 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                                                    1 js_MarkAtom
                                                                                      1 js_MarkAtom
                                                                                        1 js_Mark
                                                                                          1 js_SetCallVariable
                                                                                            1 js_MarkGCThing
                                                                                              1 js_GetGCThingFlags
                                                                                                1 js_GetGCThingFlags
                                                                                2 js_SetCallVariable
                                                                                  2 js_MarkScript
                                                                                    2 js_MarkScript
                                                                              68 js_MarkAtom
                                                                                35 js_MarkAtom
                                                                                  25 js_MarkAtom
                                                                                  8 js_Mark
                                                                                    8 js_SetCallVariable
                                                                                      8 js_MarkScript
                                                                                        8 js_MarkScript
                                                                                  2 js_MarkAtom
                                                                                    1 js_MarkAtom
                                                                                    1 js_MarkAtom
                                                                                      1 js_Mark
                                                                                        1 js_SetCallVariable
                                                                                          1 js_MarkScript
                                                                                            1 js_MarkScript
                                                                                21 js_MarkAtom
                                                                                12 js_Mark
                                                                                  12 js_SetCallVariable
                                                                                    11 js_MarkScript
                                                                                      9 js_MarkScript
                                                                                      2 js_MarkAtom
                                                                                        2 js_MarkAtom
                                                                                          2 js_Mark
                                                                                            2 js_FreeRegExpStatics
                                                                                              2 js_FreeRegExpStatics
                                                                                    1 js_MarkGCThing
                                                                                      1 js_GetGCThingFlags
                                                                                        1 js_GetGCThingFlags
                                                                              1 js_MarkAtom
                                                                            4 js_Mark
                                                                              4 js_SetCallVariable
                                                                                4 js_MarkScript
                                                                                  3 js_MarkAtom
                                                                                    3 js_MarkAtom
                                                                                      2 js_Mark
                                                                                        2 js_SetCallVariable
                                                                                          2 js_MarkScript
                                                                                            2 js_MarkScript
                                                                                      1 js_MarkAtom
                                                                                  1 js_MarkScript
                                                                            1 js_GetGCThingFlags
                                                                              1 js_GetGCThingFlags
                                                                          2 js_Mark
                                                                            2 js_SetCallVariable
                                                                              2 js_MarkScript
                                                                                2 js_MarkScript
                                                                          1 js_MarkAtom
                                                                        1 js_Mark
                                                                          1 js_SetCallVariable
                                                                            1 js_MarkScript
                                                                              1 js_MarkScript
                                                                        1 js_MarkAtom
                                                                      2 js_MarkAtom
                                                                    1 js_MarkAtom
                                                                  1 non-virtual thunk to nsXPCComponents::CanSetProperty(nsID const*, unsigned short const*, char**)
                                                            1 js_MarkAtom
                                                          5 xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)
                                                        2 GetIdentityObject(JSContext*, JSObject*)
                                                        1 nsDOMGCParticipantSH::Mark(nsIXPConnectWrappedNative*, JSContext*, JSObject*, void*, unsigned int*)
                                                          1 nsCOMPtr_base::assign_from_qi(nsQueryInterface, nsID const&)
                                                            1 nsQueryInterface::operator()(nsID const&, void**) const
                                                              1 nsQueryInterface::operator()(nsID const&, void**) const
                                                      1 XPC_WN_GetterSetter(JSContext*, JSObject*, unsigned int, long*, long*)
                                                        1 XPC_WN_GetterSetter(JSContext*, JSObject*, unsigned int, long*, long*)
                                                    1 js_MarkAtom
    193 Thread_1203
      193 _pthread_body
        193 PR_Select
          193 nsThread::Main(void*)
            193 nsSocketTransportService::Run()
              193 nsSocketTransportService::Poll(unsigned int*)
                193 PR_OpenDir
                  193 poll
                    193 select
                      193 select
    193 Thread_1303
      193 _pthread_body
        193 forkThreadForFunction
          193 -[NSUIHeartBeat _heartBeatThread:]
            159 +[NSThread sleepUntilDate:]
              159 syscall_thread_switch
                159 syscall_thread_switch
            27 -[NSProgressIndicator heartBeat:]
              19 CGSFlushSurface
                19 _CGSFlushSurfaceInline
                  19 mach_msg
                    19 mach_msg_trap
                      19 mach_msg_trap
              8 -[NSImage compositeToPoint:operation:]
                8 -[NSImage compositeToPoint:fromRect:operation:]
                  8 -[NSImage _composite:delta:fromRect:toPoint:]
                    8 -[NSBitmapImageRep _drawFromRect:toRect:operation:alpha:compositing:flipped:ignoreContext:]
                      6 CGContextDrawImage
                        6 ripc_DrawImage
                          6 ripc_DrawImageObject
                            5 ripl_BltImage
                              5 ripd_Lock
                                5 CGSDeviceLock
                                  5 _CGSLockWindow
                                    5 _CGSSynchronizeWindow
                                      5 _CGSSynchronizeWindowBackingStore
                                        5 mach_msg
                                          5 mach_msg_trap
                                            5 mach_msg_trap
                            1 0x90c5f46c
                              1 0x90c5f46c
                      1 0x9745e730
                        1 0x9745e730
                      1 CGGStateSetCompositeOperation
                        1 renderingStateCopy
                          1 renderingStateCopy
            2 CFArrayAppendValue
              2 _CFArrayReplaceValues
                1 -[NSObject retain]
                  1 0x90b493a0
                    1 0x90b493a0
                1 _CFArrayReplaceValues
            2 NSPopAutoreleasePool
              1 NSPopAutoreleasePool
              1 objc_msgSend
                1 objc_msgSend
            2 _NSRemoveHandler2
              2 _NSRemoveHandler2
            1 +[NSDate dateWithTimeIntervalSinceNow:]
              1 -[NSCFDate initWithTimeIntervalSinceReferenceDate:]
                1 _internal_object_dispose
                  1 free
                    1 free
    193 Thread_1403
      193 _pthread_body
        193 PR_Select
          193 nsThread::Main(void*)
            193 TimerThread::Run()
              193 PR_WaitCondVar
                193 PR_Unlock
                  193 _pthread_cond_wait
                    193 semaphore_timedwait_signal_trap
                      193 semaphore_timedwait_signal_trap
    193 Thread_1503
      193 _pthread_body
        193 PR_Select
          193 nsSSLThread::Run()
            193 PR_WaitCondVar
              193 _pthread_cond_wait
                193 semaphore_wait_signal_trap
                  193 semaphore_wait_signal_trap
    193 Thread_1603
      193 _pthread_body
        193 PR_Select
          193 nsCertVerificationThread::Run()
            193 PR_WaitCondVar
              193 _pthread_cond_wait
                193 semaphore_wait_signal_trap
                  193 semaphore_wait_signal_trap
    193 Thread_1703
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JNI_CreateJavaVM_Impl
            193 JNI_CreateJavaVM_Impl
              193 mach_msg
                193 mach_msg_trap
                  193 mach_msg_trap
    193 Thread_1803
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_GetInterfaceVersion
            193 JVM_GetMethodIxModifiers
              193 __divdi3
                193 JVM_GetClassAccessFlags
                  193 mach_msg
                    193 mach_msg_trap
                      193 mach_msg_trap
    193 Thread_1903
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_FindClassFromClass
            193 JVM_SetPrimitiveField
              193 JVM_Interrupt
                193 JVM_Close
                  193 JVM_GetCPClassNameUTF
                    193 JVM_GetCPMethodClassNameUTF
                      193 0xf82116c
                        193 0xf823fb0
                          193 0xf823fb0
                            193 0xf82a580
                              193 JVM_MonitorWait
                                193 __cmpdi2
                                  193 _mh_dylib_header
                                    193 JVM_GetClassAccessFlags
                                      193 mach_msg
                                        193 mach_msg_trap
                                          193 mach_msg_trap
    193 Thread_1a03
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_FindClassFromClass
            193 JVM_SetPrimitiveField
              193 JVM_Interrupt
                193 JVM_Close
                  193 JVM_GetCPClassNameUTF
                    193 JVM_GetCPMethodClassNameUTF
                      193 0xf82116c
                        193 0xf823ec0
                          193 0xf823ec0
                            193 0xf823fb0
                              193 0xf82a580
                                193 JVM_MonitorWait
                                  193 __cmpdi2
                                    193 _mh_dylib_header
                                      193 JVM_GetClassAccessFlags
                                        193 mach_msg
                                          193 mach_msg_trap
                                            193 mach_msg_trap
    193 Thread_1b03
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_GetCPMethodSignatureUTF
            193 JVM_GetCPMethodSignatureUTF
              193 JVM_GetClassAccessFlags
                193 mach_msg
                  193 mach_msg_trap
                    193 mach_msg_trap
    193 Thread_1c03
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_FindClassFromClass
            193 JVM_RaiseSignal
              193 JVM_RaiseSignal
                193 semaphore_wait_trap
                  193 semaphore_wait_trap
    193 Thread_1d03
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_FindClassFromClass
            193 JVM_SocketAvailable
              193 JVM_GetFieldIxModifiers
                193 __divdi3
                  193 JVM_GetClassAccessFlags
                    193 mach_msg
                      193 mach_msg_trap
                        193 mach_msg_trap
    193 Thread_1e03
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_FindClassFromClass
            193 JVM_SetPrimitiveField
              193 JVM_Interrupt
                193 JVM_Close
                  193 JVM_GetCPClassNameUTF
                    193 JVM_GetCPMethodClassNameUTF
                      193 0xf82116c
                        193 0xf823fb0
                          193 0xf82a580
                            193 JVM_MonitorWait
                              193 __cmpdi2
                                193 _mh_dylib_header
                                  193 JVM_GetClassAccessFlags
                                    193 mach_msg
                                      193 mach_msg_trap
                                        193 mach_msg_trap
    193 Thread_1f03
      193 _pthread_body
        193 ReadSchedulerThreadEntryPoint
          193 TSWaitOnSemaphoreCommon
            193 _pthread_cond_wait
              193 semaphore_timedwait_signal_trap
                193 semaphore_timedwait_signal_trap
    193 Thread_2003
      193 _pthread_body
        193 forkThreadForFunction
          193 +[NSURLConnection(NSURLConnectionInternal) _resourceLoadLoop:]
            193 -[NSRunLoop run]
              193 -[NSRunLoop runMode:beforeDate:]
                193 CFRunLoopRunSpecific
                  193 __CFRunLoopRun
                    193 mach_msg
                      193 mach_msg_trap
                        193 mach_msg_trap
    193 Thread_2103
      193 _pthread_body
        193 __CFSocketManager
          193 select
            193 select
    193 Thread_2203
      193 _pthread_body
        193 forkThreadForFunction
          193 +[NSURLCache _diskCacheSyncLoop:]
            193 -[NSRunLoop run]
              193 -[NSRunLoop runMode:beforeDate:]
                193 CFRunLoopRunSpecific
                  193 __CFRunLoopRun
                    193 mach_msg
                      193 mach_msg_trap
                        193 mach_msg_trap
    193 Thread_2303
      193 _pthread_body
        193 CAPThread::Entry(CAPThread*)
          193 HALRunLoop::OwnThread(void*)
            193 CFRunLoopRunSpecific
              193 __CFRunLoopRun
                193 mach_msg
                  193 mach_msg_trap
                    193 mach_msg_trap
    193 Thread_2403
      193 _pthread_body
        193 JVM_RaiseSignal
          193 JVM_FindClassFromClass
            193 JVM_SetPrimitiveField
              193 JVM_Interrupt
                193 JVM_Close
                  193 JVM_GetCPClassNameUTF
                    193 JVM_GetCPMethodClassNameUTF
                      193 0xf82116c
                        193 0xf824310
                          193 0xf824310
                            193 0xf8c8d8c
                              193 0xf8c79e4
                                193 JVM_MonitorWait
                                  193 __cmpdi2
                                    193 _mh_dylib_header
                                      193 JVM_GetClassAccessFlags
                                        193 mach_msg
                                          193 mach_msg_trap
                                            193 mach_msg_trap

Total number in stack (recursive counted multiple, when >=5):
        30       js_MarkAtom
        21       js_Mark
        19       _pthread_body
        14       js_SetCallVariable
        13       mach_msg
        13       mach_msg_trap
        12       js_MarkScript
        11       JVM_RaiseSignal
        7       JVM_GetClassAccessFlags
        6       GetIdentityObject(JSContext*, JSObject*)
        6       JVM_FindClassFromClass
        6       xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)

Sort by top of stack, same collapsed (when >= 5):
        mach_msg_trap        2147
        select        386
        semaphore_timedwait_signal_trap        386
        semaphore_wait_signal_trap        386
        semaphore_wait_trap        193
        syscall_thread_switch        159
        js_MarkAtom        102
        js_MarkScript        56
        xpc_MarkForValidWrapper(JSContext*, XPCWrappedNative*, void*)        8
        GetIdentityObject(JSContext*, JSObject*)        5
Sample analysis of process 6687 written to file /dev/stdout
Sampling process 6687 each 10 msecs 300 times
In the future, please *attach* samples to bugs rather than pasting them in, as it makes the bug (and the sample report) much more difficult to read. :)
By the way, I keep seeing this with trunk builds every so often myself; see also bug 415532 and, in particular, bug 412223.

cl
Adding attachment as cut & paste lost formatting.
Comments regarding similar open tickets:

- 415532, if my hang was related to closing tabs, I hadn't closed any tabs or windows for quite some time prior (or opened) to hang.

- 412223, Camino was in a hung state for many hours, I didn't think it would recover.  I'll let someone wiser than me determine if 421768 and 412223 should be merged.
I don't see any Flash at all in this sample (which probably rules out bug 412223, as I *always* saw Flash all over those samples), just a whole ton of JS. In that respect, it reminds me somewhat of bug 418388 (though the samples don't look at all the same there, either).

Allen, have you seen this at all since 1.6 was released? Any chance you could try it on Mac OS X 10.4?
(In reply to comment #5)
> I don't see any Flash at all in this sample (which probably rules out bug
> 412223, as I *always* saw Flash all over those samples), just a whole ton of
> JS. In that respect, it reminds me somewhat of bug 418388 (though the samples
> don't look at all the same there, either).
> 
> Allen, have you seen this at all since 1.6 was released? Any chance you could
> try it on Mac OS X 10.4?
> 

I've confirmed the same behavior on 1.6, on two different 10.3.9 systems:
- 760Mbyte iMac, my main system, because of OS upgrades and system restores from backup, integrity could be questioned.
- 1G mini-mac, system is pretty much stock.  I just loaded 1.6, opened 15 tabs of alternating startribune and nytimes, and overnight camino hung.

I don't have immediate plans to upgrade my systems to 10.4, but if I get a chance I will try running the experiment on a 10.4 and 10.5 systems I have access too.
I haven't yet tested for the leak on a 10.4 system, but I've confirmed a similar leak occurs with the latest Firefox 2.0.0.14. However, the system doesn't run out of memory for several days, where Camino takes about a half day.

Seeing Firefox 3.0beta fixes thousands of leaks, I don't think I need to open a ticket against Firefox.
This leak hasn't appeared since I disable the flash block, last night.  In all my other testing flash block was enabled.  Available RAM didn't decrease at all, though as expected, CPU consumption increased.

I will continue to test this configuration indefinitely, and will update this bug if needed.

My previous testing with firefox had the flash block add on installed.
Disabling flash block just slows down the leak.  After several days, all available memory is consumed, and swapping occurs, forcing me to restart Camino.

(I've just updated to latest Shockwave Flash 9.0 r124)
Given that this is all in core, and Gecko 1.8 is maintenance only, the next step here would be to try your reproducible case with a current nightly build (note that the first time you run a nightly, you'll lose cookies and cookie/popup exception lists, due to unfortunate Gecko decisions, so you'll want to use Troubleshoot Camino or back up your profile).
Sorry, I forgot that you are running 10.3.9; nightly builds only support 10.4+. If you can't test on 10.4+, we really need a reduced test-case.
Philip, Allen mentions in his comments (comment 8/9) that disabling Flashblock seems to help slow the development of this problem; is there anything that jumps out at you from a Flashblock perspective?
I've been seeing similar behavior as well; for more samples, see http://forums.mozillazine.org/viewtopic.php?t=652865 for more examples.  Note that in every case, the high CPU remains *even if I close all the tabs*
> is there anything that
> jumps out at you from a Flashblock perspective?

I've seen heavy CPU usage on some heavily AJAXed websites that interact with their flash objects. Apparently the AJAX code doesn't expect the Flash object to disappear and goes into an tight endless loop trying to get a response from the Flash which of course we have removed from the DOM. But this doesn't explain the high CPU usage *after* closing the tabs.

There is another bug open for Firefox about sockets for MPEG streaming media being kept open even after a tab has been closed (confirmed with wireshark). If the Flash is an embedded flash media player (like youtube) this might be relevant.
Comment on attachment 324341 [details]
Sample of spinning Camino with no windows open

This is from trunk, not branch, and has a completely different stack, so it's almost certainly unrelated.
Attachment #324341 - Attachment is obsolete: true
Without being able to test on a nightly build there's nothing we can really do here (per comment 10). Given that, I'm going to go ahead and close this as INCOMPLETE; if you do get a chance to try a nightly build and still have issues it's probably best to open a new bug anyway since there have been so many changes in core.
Status: UNCONFIRMED → RESOLVED
Closed: 15 years ago
Resolution: --- → INCOMPLETE
Subjective comments regarding 1.6.7 (v1.8.1.21 2009032711)

- seems to take longer for free memory to fill up.  And the problem is very noticeable with www.startribune.com opened, a site ladened with Flash ads.

- Since opening ticket, I've seen reference to some known issue with 10.3.9 library that maybe related to memory leak.  Opera browser seems to behave in a similar manner.  (Safari doesn't work well anymore).

- I'll try to test a nightly build or next major release, and open bug if problem persists, unless I get around to upgrading my OS (10.3.9).
Resolution: INCOMPLETE → FIXED
Not FIXED because we can't point to any specific code changes, whatever the current state may be.
Resolution: FIXED → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: