Closed Bug 561895 Opened 14 years ago Closed 13 years ago

Browser stuck and flash hang/crash after reload and flash context menu

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: martijn.martijn, Assigned: benjamin)

References

()

Details

I'm seeing this at http://www.vanderaa.net/afterlife-video-trailer
I did a quick test if it also happens with other sites with flash, but a quick test didn't reproduce it for me on other sites.

To reproduce:
- Move your mouse over the flash embed, at the right side of the page, just under "Audio Excerpts" and "spaces of blank".
- Press F5 to reload the page, quickly -before the page has reloaded- right-click on the flash embed to get the flash context menu.
- After the page has reloaded, click somewhere on the page.

After that, the browser seems to be stuck in some kind of hang state. You are not able to do anything useful with it. You have to wait for the Flash plugin to crash, to be able to make use of the browser again.

Stack trace of the flash crash:
http://crash-stats.mozilla.com/report/index/f3e23386-a6f8-40d8-a55f-fea342100426
0  	ntdll.dll  	KiFastSystemCallRet  	
1 	ntdll.dll 	NtWaitForMultipleObjects 	
2 	KERNELBASE.dll 	GetProcessHeap 	
3 	kernel32.dll 	kernel32.dll@0x4f149 	
4 	user32.dll 	RealMsgWaitForMultipleObjectsEx 	
5 	user32.dll 	MsgWaitForMultipleObjects 	
6 	xul.dll 	mozilla::ipc::RPCChannel::WaitForNotify 	ipc/glue/WindowsMessageLoop.cpp:859
7 	xul.dll 	mozilla::ipc::RPCChannel::Call 	ipc/glue/RPCChannel.cpp:205
8 	xul.dll 	mozilla::plugins::PPluginInstanceChild::CallNPN_GetValue_NPNVnetscapeWindow 	obj-firefox/ipc/ipdl/PPluginInstanceChild.cpp:327
9 	xul.dll 	mozilla::plugins::PluginInstanceChild::CreateWinlessPopupSurrogate 	dom/plugins/PluginInstanceChild.cpp:1224
10 	xul.dll 	mozilla::plugins::PluginInstanceChild::AnswerNPP_SetWindow 	dom/plugins/PluginInstanceChild.cpp:840
11 	xul.dll 	mozilla::plugins::PPluginInstanceChild::OnCallReceived 	obj-firefox/ipc/ipdl/PPluginInstanceChild.cpp:1174
12 	xul.dll 	mozilla::plugins::PPluginModuleChild::OnCallReceived 	obj-firefox/ipc/ipdl/PPluginModuleChild.cpp:415
13 	xul.dll 	mozilla::ipc::RPCChannel::DispatchIncall 	ipc/glue/RPCChannel.cpp:485
14 	xul.dll 	mozilla::ipc::RPCChannel::Incall 	ipc/glue/RPCChannel.cpp:471
15 	xul.dll 	mozilla::ipc::RPCChannel::OnMaybeDequeueOne 	ipc/glue/RPCChannel.cpp:413
16 	xul.dll 	MessageLoop::RunTask 	ipc/chromium/src/base/message_loop.cc:336
17 	xul.dll 	MessageLoop::DeferOrRunPendingTask 	ipc/chromium/src/base/message_loop.cc:344
18 	xul.dll 	MessageLoop::DoWork 	ipc/chromium/src/base/message_loop.cc:444
19 	xul.dll 	base::MessagePumpForUI::DoRunLoop 	ipc/chromium/src/base/message_pump_win.cc:209
20 	xul.dll 	base::MessagePumpWin::RunWithDispatcher 	ipc/chromium/src/base/message_pump_win.cc:52
Btw, I also tested with the latest hourly build and there I could see the same problem (the one at 2010-04-26 with 14:12pm as time).
Blocks: 560993
I can reproduce even after my latest patch. I don't think this needs to block, unless this shows up a lot in the build2 hang stats. I'll record.

Browser:
xul.dll!mozilla::ipc::RPCChannel::WaitForNotify()  Line 883
xul.dll!mozilla::ipc::RPCChannel::Call(msg=0x00001a35, reply=0x0016b510)  Line 201
xul.dll!mozilla::plugins::PPluginInstanceParent::CallNPP_SetWindow(window={...})  Line 204
xul.dll!mozilla::plugins::PluginInstanceParent::NPP_SetWindow(aWindow=0x08d1970c)  Line 534
xul.dll!mozilla::plugins::PluginModuleParent::NPP_SetWindow(instance=0x08baff54, window=0x08d1970c)  Line 419
xul.dll!nsNPAPIPluginInstance::SetWindow(window=0x08d1970c)  Line 1259
xul.dll!nsObjectFrame::PaintPlugin(aRenderingContext={...}, aDirtyRect={...}, aPluginRect={...})  Line 1789
xul.dll!nsDisplayPlugin::Paint(aBuilder=0x0016b9c0, aCtx=0x08a9bb30)  Line 1176
xul.dll!nsDisplayList::PaintThebesLayers(aBuilder=0x0016b9c0, aLayers={...})  Line 850
xul.dll!nsDisplayList::Paint(aBuilder=0x0016b9c0, aCtx=0x00000000, aFlags=0x08d87868)  Line 779
xul.dll!nsLayoutUtils::PaintFrame(aRenderingContext=0x00000000, aFrame=0x00000001, aDirtyRegion={...}, aBackstop=0xffffffff, aFlags=0x00000004)  Line 1259
xul.dll!PresShell::Paint(aDisplayRoot=0x08c83898, aViewToPaint=0x08c83898, aWidgetToPaint=0x08a94718, aDirtyRegion={...}, aPaintDefaultBackground=0x00000000)  Line 5629
xul.dll!nsViewManager::RenderViews(aView=0x08c83898, aWidget=0x08a94718, aRegion={...})  Line 455
xul.dll!nsViewManager::Refresh(aView=0x08c83898, aWidget=0x08a94718, aRegion={...}, aUpdateFlags=0x00000001)  Line 428
xul.dll!nsViewManager::DispatchEvent(aEvent=0x08a94718, aView=0x00000000, aStatus=0x0016bec8)  Line 879
xul.dll!HandleEvent(aEvent=0x08bad608)  Line 161
xul.dll!nsWindow::DispatchEvent(event=0x0016bf74, aStatus=nsEventStatus_eIgnore)  Line 3192
xul.dll!nsWindow::DispatchWindowEvent(event=0x0016bf74, aStatus=nsEventStatus_eIgnore)  Line 3221
xul.dll!nsWindow::OnPaint(aDC=0x00000000)  Line 540
xul.dll!nsWindow::ProcessMessage(msg=0x0000000f, wParam=0x00000000, lParam=0x00000000, aRetValue=0x0016c230)  Line 4239
xul.dll!nsWindow::WindowProc(hWnd=0x00270248, msg=0x0000000f, wParam=0x00000000, lParam=0x00000000)  Line 3938
user32.dll!_InternalCallWinProc@20() 	
user32.dll!_UserCallWinProcCheckWow@32() 	
user32.dll!_DispatchClientMessage@24() 	
user32.dll!___fnDWORD@4() 	
ntdll.dll!_KiUserCallbackDispatcher@12() 	
user32.dll!_NtUserCallHwndLock@8() 	
user32.dll!_UpdateWindow@4() 	
xul.dll!nsWindow::DispatchStarvedPaints(aWnd=0x00270248, aMsg=0x00000000)  Line 3328
user32.dll!_InternalEnumWindows@24() 	
user32.dll!_EnumChildWindows@12() 	
xul.dll!nsWindow::DispatchPendingEvents()  Line 3364
xul.dll!nsWindow::ProcessMessage(msg=0x00000201, wParam=0x00000001, lParam=0x0186065a, aRetValue=0x6f4914c0)  Line 4260
xul.dll!nsWindow::WindowProc(hWnd=0x00270248, msg=0x00000201, wParam=0x00000001, lParam=0x0186065a)  Line 3938
user32.dll!_InternalCallWinProc@20() 	
user32.dll!_UserCallWinProcCheckWow@32() 	
user32.dll!_DispatchMessageWorker@8() 	
user32.dll!_DispatchMessageW@4() 	
xul.dll!nsAppShell::ProcessNextNativeEvent(mayWait=0x00000000)  Line 288
xul.dll!nsBaseAppShell::DoProcessNextNativeEvent(mayWait=0x00000000)  Line 156
xul.dll!nsBaseAppShell::OnProcessNextEvent(thr=0x0061f510, mayWait=0x00000001, recursionDepth=0x00000004)  Line 303
xul.dll!nsThread::ProcessNextEvent(mayWait=0x00000001, result=0x0016c788)  Line 510
xul.dll!NS_ProcessNextEvent_P(thread=0x0061f510, mayWait=0x00000001)  Line 250
xul.dll!nsThread::Shutdown()  Line 468
xul.dll!NS_InvokeByIndex_P(that=0x08bad3d8, methodIndex=0x00000006, paramCount=0x00000000, params=0x00000000)  Line 103
xul.dll!nsProxyObjectCallInfo::Run()  Line 181
xul.dll!nsThread::ProcessNextEvent(mayWait=0x00000001, result=0x0016c80c)  Line 527
xul.dll!NS_ProcessNextEvent_P(thread=0x00000001, mayWait=0x00000001)  Line 250
xul.dll!nsThread::Shutdown()  Line 468
xul.dll!NS_InvokeByIndex_P(that=0x08baf728, methodIndex=0x00000006, paramCount=0x00000000, params=0x00000000)  Line 103
xul.dll!nsProxyObjectCallInfo::Run()  Line 181
xul.dll!nsThread::ProcessNextEvent(mayWait=0x00000001, result=0x0016c890)  Line 527
xul.dll!NS_ProcessNextEvent_P(thread=0x00000001, mayWait=0x00000001)  Line 250
xul.dll!nsThread::Shutdown()  Line 468
xul.dll!NS_InvokeByIndex_P(that=0x08bad478, methodIndex=0x00000006, paramCount=0x00000000, params=0x00000000)  Line 103
xul.dll!nsProxyObjectCallInfo::Run()  Line 181
xul.dll!nsThread::ProcessNextEvent(mayWait=0x00000001, result=0x0016c914)  Line 527
xul.dll!NS_ProcessNextEvent_P(thread=0x00000001, mayWait=0x00000001)  Line 250
xul.dll!nsThread::Shutdown()  Line 468
xul.dll!NS_InvokeByIndex_P(that=0x041cb548, methodIndex=0x00000006, paramCount=0x00000000, params=0x00000000)  Line 103
xul.dll!nsProxyObjectCallInfo::Run()  Line 181
xul.dll!nsThread::ProcessNextEvent(mayWait=0x00000000, result=0x0016c9ac)  Line 527
xul.dll!NS_ProcessPendingEvents_P(thread=0x00000001, timeout=0x00000014)  Line 203
xul.dll!nsBaseAppShell::NativeEventCallback()  Line 131
xul.dll!nsAppShell::EventWindowProc(hwnd=0x001d0752, uMsg=0x0000c15d, wParam=0x00000000, lParam=0x00619c00)  Line 107
user32.dll!_InternalCallWinProc@20() 	
user32.dll!_UserCallWinProcCheckWow@32() 	
user32.dll!_DispatchMessageWorker@8() 	
user32.dll!_DispatchMessageW@4() 	
xul.dll!mozilla::ipc::RPCChannel::SpinInternalEventLoop()  Line 654
xul.dll!mozilla::ipc::RPCChannel::WaitForNotify()  Line 852
xul.dll!mozilla::ipc::RPCChannel::Call(msg=0x08b71860, reply=0x0016cc34)  Line 201
xul.dll!mozilla::plugins::PPluginInstanceParent::CallNPP_HandleEvent(event={...}, handled=0x0016cca0)  Line 353
xul.dll!mozilla::plugins::PluginInstanceParent::NPP_HandleEvent(event=0x0016d154)  Line 799
xul.dll!mozilla::plugins::PluginModuleParent::NPP_HandleEvent(instance=0x08b0dfb4, event=0x0016d154)  Line 486
xul.dll!nsNPAPIPluginInstance::HandleEvent(event=0x0016d154, handled=0x0016cd8c)  Line 1378
xul.dll!nsPluginInstanceOwner::ProcessEvent(anEvent={...})  Line 4630
xul.dll!nsPluginInstanceOwner::MouseDown(aMouseEvent=0x08a9f9a0)  Line 3966
xul.dll!nsEventListenerManager::HandleEventInternal(aPresContext=0x08a70258, aEvent=0x0016d0cc, aDOMEvent=0x0016cecc, aCurrentTarget=0x08af0660, aFlags=0x00000006, aEventStatus=0x0016ced0, aPusher=0x0016cedc)  Line 1174
xul.dll!nsEventListenerManager::HandleEvent(aPresContext=0x08a70258, aEvent=0x0016d0cc, aDOMEvent=0x0016cecc, aCurrentTarget=0x08af0660, aFlags=0x00000006, aEventStatus=0x0016ced0, aPusher=0x0016cedc)  Line 144
xul.dll!nsEventTargetChainItem::HandleEvent(aVisitor={...}, aFlags=0x00000006, aMayHaveNewListenerManagers=0x00000000, aPusher=0x0016cedc)  Line 211
xul.dll!nsEventTargetChainItem::HandleEventTargetChain(aVisitor={...}, aFlags=0x00000006, aCallback=0x0016cf44, aMayHaveNewListenerManagers=0x00000000, aPusher=0x0016cedc)  Line 342
xul.dll!nsEventDispatcher::Dispatch(aTarget=0x08af0660, aPresContext=0x08a70258, aEvent=0x0016d0cc, aDOMEvent=0x00000000, aEventStatus=0x0016cff0, aCallback=0x0016cf44, aTargets=0x00000000)  Line 624
xul.dll!PresShell::HandleEventInternal(aEvent=0x00000000, aView=0x088de920, aStatus=0x0016cff0)  Line 6431
xul.dll!PresShell::HandlePositionedEvent(aView=0x088de920, aTargetFrame=0x08af0660, aEvent=0x0016d0cc, aEventStatus=0x0016cff0)  Line 6272
xul.dll!PresShell::HandleEvent(aView=0x088de920, aEvent=0x0016d0cc, aEventStatus=0x0016cff0)  Line 6136
xul.dll!nsViewManager::HandleEvent(aView=0x00000000, aPoint={...}, aEvent=0x0016d0cc)  Line 1076
xul.dll!nsViewManager::DispatchEvent(aEvent=0x44945000, aView=0x4385c000, aStatus=0x0016d084)  Line 1052
xul.dll!HandleEvent(aEvent=0x088d9860)  Line 161
xul.dll!nsWindow::DispatchEvent(event=0x0016d0cc, aStatus=nsEventStatus_eIgnore)  Line 3192
xul.dll!nsWindow::DispatchWindowEvent(event=0x00000000)  Line 3216
xul.dll!nsWindow::DispatchMouseEvent(aEventType=0x0000012e, wParam=0x00000002, lParam=0x010b04a2, aIsContextMenuKey=0x00000000, aButton=0x0002, aInputSource=0x0001)  Line 3603
xul.dll!ChildWindow::DispatchMouseEvent(aEventType=0x0000012e, wParam=0x00000002, lParam=0x010b04a2, aIsContextMenuKey=0x00000000, aButton=0x0002, aInputSource=0x0001)  Line 7601
xul.dll!nsWindow::ProcessMessage(msg=0x00000204, wParam=0x00000002, lParam=0x010b04a2, aRetValue=0x6f4914c0)  Line 4338
xul.dll!nsWindow::WindowProc(hWnd=0x00c1027c, msg=0x00000204, wParam=0x00000002, lParam=0x010b04a2)  Line 3938
user32.dll!_InternalCallWinProc@20() 	
user32.dll!_UserCallWinProcCheckWow@32() 	
user32.dll!_DispatchMessageWorker@8() 	
user32.dll!_DispatchMessageW@4() 	
xul.dll!nsAppShell::ProcessNextNativeEvent(mayWait=0x00000000)  Line 288
xul.dll!nsBaseAppShell::DoProcessNextNativeEvent(mayWait=0x00000000)  Line 156
xul.dll!nsBaseAppShell::OnProcessNextEvent(thr=0x0061f510, mayWait=0x00000000, recursionDepth=0x00000000)  Line 303
xul.dll!nsThread::ProcessNextEvent(mayWait=0x00000000, result=0x0016d4fc)  Line 510
xul.dll!NS_ProcessNextEvent_P(thread=0x0061f510, mayWait=0x00000000)  Line 250
xul.dll!mozilla::ipc::MessagePump::Run(aDelegate=0x005d2b08)  Line 118

Plugin:
xul.dll!mozilla::ipc::RPCChannel::WaitForNotify()  Line 883
xul.dll!mozilla::ipc::RPCChannel::Call(msg=0x006955a8, reply=0x0275f41c)  Line 201
xul.dll!mozilla::plugins::PPluginInstanceChild::CallNPN_GetValue_NPNVnetscapeWindow(value=0x0275f44c, result=0x0275f450)  Line 352
xul.dll!mozilla::plugins::PluginInstanceChild::CreateWinlessPopupSurrogate()  Line 1238
xul.dll!mozilla::plugins::PluginInstanceChild::AnswerNPP_SetWindow(aWindow={...})  Line 852
xul.dll!mozilla::plugins::PPluginInstanceChild::OnCallReceived(msg={...}, reply=0x00000000)  Line 1186
xul.dll!mozilla::plugins::PPluginModuleChild::OnCallReceived(msg={...}, reply=0x00000000)  Line 422
xul.dll!mozilla::ipc::RPCChannel::DispatchIncall(call={...})  Line 482
xul.dll!mozilla::ipc::RPCChannel::Incall(call={...}, stackDepth=0x00000000)  Line 467
xul.dll!mozilla::ipc::RPCChannel::OnMaybeDequeueOne()  Line 409
xul.dll!MessageLoop::RunTask(task=0x007cdb38)  Line 337
xul.dll!MessageLoop::DeferOrRunPendingTask(pending_task={...})  Line 347
xul.dll!MessageLoop::DoWork()  Line 444
xul.dll!base::MessagePumpForUI::DoRunLoop()  Line 209
xul.dll!base::MessagePumpWin::RunWithDispatcher(delegate=0x0275f6d8, dispatcher=0x00000000)  Line 54
xul.dll!base::MessagePumpWin::Run(delegate=0x0275f6d8)  Line 78
Assignee: nobody → benjamin
Build worked : 
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.3a1pre) Gecko/20100204 Minefield/3.7a1pre
Build Broken :
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.3a1pre) Gecko/20100205 Minefield/3.7a1pre
Pushlog : 
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=458b9ca9f777&tochange=32a13ebe9ba0
I can no longer reproduce this in Fx4, I suspect jimm fixed it somewhere along the way.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.