Closed Bug 690632 Opened 13 years ago Closed 11 years ago

Plugin Hang w/Flash on FFx8

Categories

(Core :: General, defect)

8 Branch
x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: breckard, Unassigned)

Details

(Keywords: crash)

Crash Data

Seem to have found a reproducible Flash Hang.  Someone should take a look.

Steps to Reproduce, should be semi-easy for a Mozilla person.

1) Visit large flash site.
2) For instance Workday: https://www.myworkday.com/vhr_mozilla/logout.flex#%3Bvhr_mozilla%3Blogout.flex
3) Enter Username and Password

Result:
1) Browser Hangs on Login - Hang lasts for a long time. 1+ min
2) You are allowed to login to the site, but upon logout, browser hangs. Hang lasts for a long time. 1+ min

Going to Activity monitor and force quitting the Shockwave/Flash process brings the browser back to a functioning state.

I can help get any Mozilla employee access to Workday.  Let me know when you start working on the bug and I'll make sure you have access.


Gratuitous About:Support Dump Below


  Application Basics

        Name
        Firefox

        Version
        8.0a2

        User Agent
        Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:8.0a2) Gecko/20110927 Firefox/8.0a2

        Profile Directory

          Show in Finder

        Enabled Plugins

          about:plugins

        Build Configuration

          about:buildconfig

        Crash Reports

          about:crashes

  Extensions

        Name

        Version

        Enabled

        ID

        about:telemetry
        0.6
        true
        ping.telemetry@mozilla.com

        Adblock Plus
        1.3.10
        true
        {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}

        dotjs
        1.0
        false
        jid0-HC7vB1GcMVr7IBB5B5ADUjTJB3U@jetpack

        Test Pilot
        1.1.3
        false
        testpilot@labs.mozilla.com

  Modified Preferences

      Name

      Value

        accessibility.typeaheadfind.flashBar
        0

        browser.places.smartBookmarksVersion
        2

        browser.startup.homepage_override.buildID
        20110927042012

        browser.startup.homepage_override.mstone
        rv:8.0a2

        dom.max_script_run_time
        0

        extensions.lastAppVersion
        8.0a2

        network.cookie.prefsMigrated
        true

        places.database.lastMaintenance
        1317312914

        places.history.expiration.transient_current_max_pages
        120795

        places.history.expiration.transient_optimal_database_size
        161061272

        print.macosx.pagesetup-2
        PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO…

        privacy.sanitize.migrateFx3Prefs
        true

        security.warn_viewing_mixed
        false

  Graphics

        Adapter Description
        0x22600,0x20400

        WebGL Renderer
        NVIDIA Corporation -- NVIDIA GeForce 320M OpenGL Engine -- 2.1 NVIDIA-1.6.36

        GPU Accelerated Windows
        1/1 OpenGL
Bret: Can you please let us know which version of flash you are running?
    File: Flash Player.plugin
    Version: 10.3.183.7
    Shockwave Flash 10.3 r183
should add this info to the about:support page for easier copy/pasting :).
Sampling process 1725 for 3 seconds with 1 millisecond of run time between samples
Sampling completed, processing symbols...
Analysis of sampling firefox (pid 1725) every 1 millisecond
Call graph:
    2220 Thread_22241   DispatchQueue_1: com.apple.main-thread  (serial)
      2219 start
        2219 main
          2219 XRE_main
            2219 nsAppStartup::Run()
              2219 nsAppShell::Run()
                2219 -[NSApplication run]
                  2219 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
                    2219 _DPSNextEvent
                      2219 BlockUntilNextEventMatchingListInMode
                        2219 ReceiveNextEventCommon
                          2219 RunCurrentEventLoopInMode
                            2219 CFRunLoopRunSpecific
                              2219 __CFRunLoopRun
                                2219 __CFRunLoopDoSources0
                                  2219 nsAppShell::ProcessGeckoEvents(void*)
                                    2219 nsBaseAppShell::NativeEventCallback()
                                      2219 NS_ProcessPendingEvents_P(nsIThread*, unsigned int)
                                        2219 nsThread::ProcessNextEvent(int, int*)
                                          2219 nsAppShell::OnProcessNextEvent(nsIThreadInternal*, int, unsigned int)
                                            2219 nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, int, unsigned int)
                                              2219 nsAppShell::ProcessNextNativeEvent(int)
                                                2219 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
                                                  2219 _DPSNextEvent
                                                    2219 BlockUntilNextEventMatchingListInMode
                                                      2219 ReceiveNextEventCommon
                                                        2219 RunCurrentEventLoopInMode
                                                          2219 CFRunLoopRunSpecific
                                                            2219 __CFRunLoopRun
                                                              2219 __CFRunLoopDoObservers
                                                                2219 _handleWindowNeedsDisplay
                                                                  2219 -[NSView displayIfNeeded]
                                                                    2219 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:]
                                                                      2219 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                                                        2219 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]
                                                                          2219 -[NSView _drawRect:clip:]
                                                                            2219 -[NSGrayFrame drawRect:]
                                                                              2219 -[NSFrameView drawThemeContentFill:inView:]
                                                                                2219 -[NSGrayFrame drawWindowBackgroundRect:]
                                                                                  2219 NSRectFillUsingOperation
                                                                                    2219 CGContextFillRect
                                                                                      2219 CGContextFillRects
                                                                                        2219 ripc_DrawRects
                                                                                          2219 ripc_Render
                                                                                            2219 ripc_GetColor
                                                                                              2219 ripc_TilePattern
                                                                                                2219 CGPatternDelegateDrawPattern
                                                                                                  2219 TitlebarDrawCallback(void*, CGContext*)
                                                                                                    2219 -[ChildView drawRect:inTitlebarContext:]
                                                                                                      2219 -[ChildView drawRect:inContext:]
                                                                                                        2219 nsChildView::DispatchWindowEvent(nsGUIEvent&)
                                                                                                          2219 nsChildView::DispatchEvent(nsGUIEvent*, nsEventStatus&)
                                                                                                            2219 HandleEvent(nsGUIEvent*)
                                                                                                              2219 nsViewManager::DispatchEvent(nsGUIEvent*, nsIView*, nsEventStatus*)
                                                                                                                2219 nsViewManager::Refresh(nsView*, nsIWidget*, nsIntRegion const&, unsigned int)
                                                                                                                  2219 PresShell::Paint(nsIView*, nsIWidget*, nsRegion const&, nsIntRegion const&, int, int)
                                                                                                                    2219 nsLayoutUtils::PaintFrame(nsRenderingContext*, nsIFrame*, nsRegion const&, unsigned int, unsigned int)
                                                                                                                      2219 nsDisplayList::PaintForFrame(nsDisplayListBuilder*, nsRenderingContext*, nsIFrame*, unsigned int) const
                                                                                                                        2219 mozilla::layers::BasicShadowLayerManager::EndTransaction(void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*)
                                                                                                                          2219 mozilla::layers::BasicLayerManager::EndTransactionInternal(void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*)
                                                                                                                            2219 mozilla::layers::BasicLayerManager::PaintLayer(gfxContext*, mozilla::layers::Layer*, void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*, mozilla::layers::ReadbackProcessor*)
                                                                                                                              2219 mozilla::layers::BasicLayerManager::PaintLayer(gfxContext*, mozilla::layers::Layer*, void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*, mozilla::layers::ReadbackProcessor*)
                                                                                                                                2219 mozilla::layers::BasicLayerManager::PaintLayer(gfxContext*, mozilla::layers::Layer*, void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*, mozilla::layers::ReadbackProcessor*)
                                                                                                                                  2219 mozilla::layers::BasicThebesLayer::PaintThebes(gfxContext*, void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*, mozilla::layers::ReadbackProcessor*)
                                                                                                                                    2219 mozilla::layers::BasicShadowableThebesLayer::PaintBuffer(gfxContext*, nsIntRegion const&, nsIntRegion const&, nsIntRegion const&, int, void (*)(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*), void*)
                                                                                                                                      2219 mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*)
                                                                                                                                        2219 nsDisplayPlugin::Paint(nsDisplayListBuilder*, nsRenderingContext*)
                                                                                                                                          2219 nsObjectFrame::PaintPlugin(nsDisplayListBuilder*, nsRenderingContext&, nsRect const&, nsRect const&)
                                                                                                                                            2219 nsPluginInstanceOwner::Paint(gfxRect const&, CGContext*)
                                                                                                                                              2219 nsNPAPIPluginInstance::HandleEvent(void*, short*)
                                                                                                                                                2219 mozilla::plugins::PluginModuleParent::NPP_HandleEvent(_NPP*, void*)
                                                                                                                                                  2219 mozilla::plugins::PluginInstanceParent::NPP_HandleEvent(void*)
                                                                                                                                                    2219 mozilla::plugins::PPluginInstanceParent::CallNPP_HandleEvent_IOSurface(mozilla::plugins::NPRemoteEvent const&, unsigned int const&, short*)
                                                                                                                                                      2219 mozilla::ipc::RPCChannel::Call(IPC::Message*, IPC::Message*)
                                                                                                                                                        2208 mozilla::ipc::SyncChannel::WaitForNotify()
                                                                                                                                                          2208 PR_WaitCondVar
                                                                                                                                                            2208 pt_TimedWait
                                                                                                                                                              2207 _pthread_cond_wait
                                                                                                                                                                2198 __semwait_signal
                                                                                                                                                                8 _pthread_cond_wait
                                                                                                                                                                1 pthread_mutex_lock
                                                                                                                                                              1 __spin_lock
                                                                                                                                                        9 mozilla::ipc::RPCChannel::DispatchIncall(IPC::Message const&)
                                                                                                                                                          5 mozilla::plugins::PPluginModuleParent::OnCallReceived(IPC::Message const&, IPC::Message*&)
                                                                                                                                                            4 mozilla::plugins::PPluginInstanceParent::OnCallReceived(IPC::Message const&, IPC::Message*&)
                                                                                                                                                              4 mozilla::plugins::PluginInstanceParent::AnswerNPN_ConvertPoint(double const&, bool const&, double const&, bool const&, NPCoordinateSpace const&, NPCoordinateSpace const&, double*, double*, bool*)
                                                                                                                                                                4 mozilla::plugins::parent::_convertpoint(_NPP*, double, double, NPCoordinateSpace, double*, double*, NPCoordinateSpace)
                                                                                                                                                                  4 nsNPAPIPluginInstance::ConvertPoint(double, double, NPCoordinateSpace, double*, double*, NPCoordinateSpace)
                                                                                                                                                                    4 nsPluginInstanceOwner::ConvertPoint(double, double, NPCoordinateSpace, double*, double*, NPCoordinateSpace)
                                                                                                                                                                      4 NS_NPAPI_ConvertPointCocoa(void*, double, double, NPCoordinateSpace, double*, double*, NPCoordinateSpace)
                                                                                                                                                                        2 -[NSScreen frame]
                                                                                                                                                                          2 _NXGetScreenRect
                                                                                                                                                                            2 CGSGetDisplayBounds
                                                                                                                                                                              2 __spin_lock
                                                                                                                                                                        1 +[NSScreen screens]
                                                                                                                                                                          1 -[NSLock lock]
                                                                                                                                                                            1 pthread_mutex_lock
                                                                                                                                                                        1 -[NSView convertPoint:toView:]
                                                                                                                                                                          1 -[NSView ancestorSharedWithView:]
                                                                                                                                                            1 mozilla::plugins::PPluginScriptableObjectParent::OnCallReceived(IPC::Message const&, IPC::Message*&)
                                                                                                                                                              1 mozilla::plugins::PluginScriptableObjectParent::AnswerNPN_Evaluate(nsCString const&, mozilla::plugins::Variant*, bool*)
                                                                                                                                                                1 mozilla::plugins::parent::_evaluate(_NPP*, NPObject*, _NPString*, _NPVariant*)
                                                                                                                                                          4 mozilla::ipc::AsyncChannel::SendThroughTransport(IPC::Message*) const
                                                                                                                                                            3 MessageLoop::PostTask_Helper(tracked_objects::Location const&, Task*, int, bool)
                                                                                                                                                              3 base::MessagePumpLibevent::ScheduleWork()
                                                                                                                                                                3 write
                                                                                                                                                            1 moz_xmalloc
                                                                                                                                                              1 malloc
                                                                                                                                                                1 malloc_zone_malloc
                                                                                                                                                                  1 szone_malloc_should_clear
                                                                                                                                                                    1 tiny_malloc_from_free_list
                                                                                                                                                        2 IPC::Message::operator=(IPC::Message const&)
                                                                                                                                                          2 Pickle::operator=(Pickle const&)
                                                                                                                                                            2 realloc
                                                                                                                                                              1 malloc_zone_realloc
                                                                                                                                                                1 szone_realloc
                                                                                                                                                                  1 szone_free
                                                                                                                                                              1 szone_size
      1 NS_NPAPI_ConvertPointCocoa(void*, double, double, NPCoordinateSpace, double*, double*, NPCoordinateSpace)
        1 -[NSWindow convertBaseToScreen:]
    2220 Thread_22244   DispatchQueue_2: com.apple.libdispatch-manager  (serial)
      2220 start_wqthread
        2220 _pthread_wqthread
          2220 _dispatch_worker_thread2
            2220 _dispatch_queue_invoke
              2220 _dispatch_mgr_invoke
                2220 kevent
    2220 Thread_22245
      2220 thread_start
        2220 _pthread_start
          2220 google_breakpad::ExceptionHandler::WaitForMessage(void*)
            2220 mach_msg
              2220 mach_msg_trap
    2220 Thread_22249
      2216 thread_start
        2216 _pthread_start
          2216 ThreadFunc(void*)
            2216 base::Thread::ThreadMain()
              2216 MessageLoop::Run()
                2216 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*)
                  2214 event_base_loop
                    2200 kq_dispatch
                      2198 kevent
                      2 kq_dispatch
                    14 IPC::Channel::ChannelImpl::OnFileCanReadWithoutBlocking(int)
                      14 IPC::Channel::ChannelImpl::ProcessIncomingMessages()
                        13 mozilla::ipc::RPCChannel::OnMessageReceived(IPC::Message const&)
                          10 PR_Lock
                            10 pthread_mutex_lock
                              8 __spin_lock
                              1 semaphore_wait
                              1 semaphore_wait_trap
                          3 PR_Unlock
                            3 pt_PostNotifies
                              3 pthread_cond_signal_thread_np
                                3 semaphore_signal_thread_trap
                        1 recvmsg
                  1 -[NSAutoreleasePool drain]
                    1 _CFAutoreleasePoolPop
                      1 pthread_equal
                  1 MessageLoop::DoWork()
                    1 MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&)
                      1 IPC::Channel::Send(IPC::Message*)
                        1 IPC::Channel::ChannelImpl::Send(IPC::Message*)
                          1 IPC::Channel::ChannelImpl::ProcessOutgoingMessages()
                            1 sendmsg
      1 0x16e92d870
        1 cerror
          1 cthread_set_errno_self
      1 0x170277552
        1 cerror
      1 0x170fcf0a0
        1 cerror
      1 0x841f0f
        1 base::MessagePumpLibevent::~MessagePumpLibevent()
          1 0x10100000001
            1 MessageLoop::DoWork()
              1 szone_free_definite_size
    2220 Thread_22250
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsCycleCollectorRunner::Run()
                    2220 PR_WaitCondVar
                      2220 _pthread_cond_wait
                        2220 __semwait_signal
    2220 Thread_22251
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 TimerThread::Run()
                    2220 PR_WaitCondVar
                      2220 pt_TimedWait
                        2219 _pthread_cond_wait
                          2219 __semwait_signal
                        1 cerror
    2220 Thread_22252
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsSocketTransportService::Run()
                    2219 nsSocketTransportService::DoPollIteration(int)
                      2219 nsSocketTransportService::Poll(int, unsigned int*)
                        2219 PR_Poll
                          2219 poll
                            2219 select$DARWIN_EXTSN
                    1 NS_ProcessNextEvent_P(nsIThread*, int)
                      1 nsThread::ProcessNextEvent(int, int*)
                        1 nsHttpConnectionMgr::nsConnEvent::Run()
                          1 nsHttpConnectionMgr::OnMsgPruneDeadConnections(int, void*)
                            1 PL_DHashTableEnumerate
                              1 nsHttpConnectionMgr::PruneDeadConnectionsCB(nsACString_internal const&, nsAutoPtr<nsHttpConnectionMgr::nsConnectionEntry>&, void*)
                                1 nsHttpConnection::CanReuse()
                                  1 nsSocketTransport::IsAlive(int*)
                                    1 PR_Lock
                                      1 pthread_mutex_lock
    2220 Thread_22253
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 js::GCHelperThread::threadLoop(JSRuntime*)
              2220 PR_WaitCondVar
                2220 _pthread_cond_wait
                  2220 __semwait_signal
    2220 Thread_22254
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 XPCJSRuntime::WatchdogMain(void*)
              2219 PR_WaitCondVar
                2219 pt_TimedWait
                  2219 _pthread_cond_wait
                    2218 __semwait_signal
                    1 __spin_lock
              1 js_NextActiveContext(JSRuntime*, JSContext*)
    2220 Thread_22258
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22262
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22263
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsSSLThread::Run()
              2220 PR_WaitCondVar
                2220 _pthread_cond_wait
                  2220 __semwait_signal
    2220 Thread_22264
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsCertVerificationThread::Run()
              2220 PR_WaitCondVar
                2220 _pthread_cond_wait
                  2220 __semwait_signal
    2220 Thread_22266
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22267
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22285
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22286
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22287
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22290
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22305
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsHostResolver::ThreadFunc(void*)
              2220 nsHostResolver::GetHostToLookup(nsHostRecord**)
                2220 PR_WaitCondVar
                  2220 pt_TimedWait
                    2220 _pthread_cond_wait
                      2220 __semwait_signal
    2220 Thread_22307
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsHostResolver::ThreadFunc(void*)
              2220 nsHostResolver::GetHostToLookup(nsHostRecord**)
                2220 PR_WaitCondVar
                  2220 pt_TimedWait
                    2220 _pthread_cond_wait
                      2220 __semwait_signal
    2220 Thread_22308
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22333
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsEventQueue::GetEvent(int, nsIRunnable**)
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 _pthread_cond_wait
                          2220 __semwait_signal
    2220 Thread_22360
      2220 thread_start
        2220 _pthread_start
          2220 google_breakpad::CrashGenerationServer::WaitForMessages(void*)
            2220 google_breakpad::CrashGenerationServer::WaitForOneMessage()
              2220 google_breakpad::ReceivePort::WaitForMessage(google_breakpad::MachReceiveMessage*, unsigned int)
                2220 mach_msg
                  2220 mach_msg_trap
    2220 Thread_22446
      2220 thread_start
        2220 _pthread_start
          2220 _pt_root
            2220 nsThread::ThreadFunc(void*)
              2220 NS_ProcessNextEvent_P(nsIThread*, int)
                2220 nsThread::ProcessNextEvent(int, int*)
                  2220 nsThreadPool::Run()
                    2220 PR_Wait
                      2220 PR_WaitCondVar
                        2220 pt_TimedWait
                          2220 _pthread_cond_wait
                            2220 __semwait_signal

Total number in stack (recursive counted multiple, when >=5):
        23       _pthread_start
        23       thread_start
        20       PR_WaitCondVar
        20       __semwait_signal
        20       _pt_root
        20       _pthread_cond_wait
        16       nsThread::ProcessNextEvent(int, int*)
        15       NS_ProcessNextEvent_P(nsIThread*, int)
        14       nsThread::ThreadFunc(void*)
        11       PR_Wait
        10       nsEventQueue::GetEvent(int, nsIRunnable**)
        6       pt_TimedWait

Sort by top of stack, same collapsed (when >= 5):
        __semwait_signal        44375
        mach_msg_trap        4440
        kevent        4418
        select$DARWIN_EXTSN        2219
        __spin_lock        12
        _pthread_cond_wait        8
Sample analysis of process 1725 written to file /dev/stdout
Not much interesting there: mozilla::plugins::PPluginInstanceParent::CallNPP_HandleEvent_IOSurface is waiting for the plugin process to respond, so we'd need information from the plugin process.
Ok, so we have a reproducible hang on Aurora but it doesn't seem to exist when he runs Nightly/Beta or Release. Is there nothing more we can do here? Bret has indicated that we can run instrument whatever we need to on his machine. I sort of feel like we have an opportunity to do some analysis to understand what is going on. Are we saying that because the plugin process is not responding, there is very little we can do next. Do I tell him to upgrade to Flash 11?
We can get a regression range from nightlies. Even sitting at his machine there probably isn't a lot we could discover, because without Flash symbols it would be very hard to figure out what's going on. We could try a debug build to see if any assertions or interesting things show up, otherwise we'd have to ask Adobe to look at it.
Ok, thanks. I am going to have him upgrade to Flash 11 in case that changes something. The debug build is a good idea. It's going to be hard to get Adobe to look at it without more info.
Maybe Jet, can pull a few strings with Adobe :)?  jet@mozilla.com - Engineering Manager Layout/Gfx
Ben -

The main problem here isn't that Flash hangs.  It does that.  The main problem is that we aren't killing the plugin process.

I sat with Bret the other day and he showed this to me.  We let it sit for about 2 minutes and the browser never killed the plugin process.

When I used the system monitor to kill the plugin, the browser came right back.

So why aren't we killing Flash in this instance?  Is there something special about the call stack?

(Also both of the processes were totally idle which makes me think that there might be some kind of deadlock involved.)
Just upgraded my Flash Plugin to:

    File: Flash Player.plugin
    Version: 11.0.1.152
    Shockwave Flash 11.0 r1

With the above steps, the plugin is now killed when it goes unresponsive.  The workflow looks a little strange, but at least the browser is not hanging.


New Steps:
1) Visit large flash site.
2) For instance Workday: https://www.myworkday.com/vhr_mozilla/logout.flex#%3Bvhr_mozilla%3Blogout.flex
3) Enter Username and Password

Result:
1) Site begins login, throbber rotates
2) Killed plugin graphic appears for a fraction of a second
3) Site completes login

Same basic flow happens on site logout.  The plugin is killed and the graphic appears for a split second, then site logs out.

So, overall, this is working, but seems a little shaky.
Plugin Crash Signature: bp-13b7366c-b620-4afb-8ac3-1bb522111010
Crash Signature: objc_msgSend_vtable5 | _NSDescriptionWithLocaleFunc
Crash Signature: objc_msgSend_vtable5 | _NSDescriptionWithLocaleFunc → [@ objc_msgSend_vtable5 | _NSDescriptionWithLocaleFunc ]
Bret: It would be useful if we could get a guest login into the workday system so we can try to reproduce on some machines here. Who do I talk to about that?
Brendan asked me to add Chris to this bug (at least I think this is the bug he meant).

Bret: Can we get a guest login?
Why are we using the synchronous plugin-painting path here?  I thought that was only for 10.4.

I don't have any idea what might be hanging flash.  I think this needs some quality time in gdb.  It's not obvious to me which thread is the main thread in the crash report in comment 12.

Can anyone else repro this?  Bret, are you in SF or MV?  If it's only on your machine, we should send someone by to poke at this.
A few notes
 - Matt tells me we fall back on the synchronous painting path when we're not using GL layers.
 - based on comment 0, it looks like Bret is getting GL layers
 - but comment 4 shows a basic manager
 - but sometimes we create temporary layer managers to paint content, which are always basic

Another thing to check.
Bret, are you using a persona?
The sync path is expected. We decided to pref async off, See bug 663259 Comment 44. This decision was made because of unresolved bugs.
Re: Chris Jones. I'm in Europe until Nov 17th.  Could mail my machine to someone if
it's urgent.

Re: Matt Woodrow. I am using a persona. Aurora Australis, looks awesome.
I believe that on OSX we always draw personas using a temporary BasicLayerManager, that would explain the use of BasicLayers and the callstack coming from TitlebarDrawCallback.

However if we're always on sync painting because of a pref then this probably won't have any effect.
It appears that we're painting the plugin instance with the BasicLayerManager.  That doesn't seem right, unless the persona uses flash (*shiver*).  This (http://www.getpersonas.com/en-US/persona/67532) appears to be the person; does anyone know how to view its source without installing?
Bret, can you send Marcia some login information for Workday and we can try and reproduce in the lab?
Sheila, working on getting her access now.
Severity: normal → critical
Keywords: crash
Let me know what I can do to help?
(In reply to Sheila Mooney from comment #22)
> Bret, can you send Marcia some login information for Workday and we can try
> and reproduce in the lab?

Marcia, did you get and still have the access?
Flags: needinfo?(mozillamarcia.knous)
I don't see this signature showing up anymore, resolving this as WFM.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(mozillamarcia.knous)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.