Closed Bug 631228 Opened 13 years ago Closed 13 years ago

Thunderbird hang when dragging a message from inbox to another IMAP folder, apparently caused by Firefox

Categories

(Core :: DOM: Copy & Paste and Drag & Drop, defect)

x86_64
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 629253
Tracking Status
blocking2.0 --- -

People

(Reporter: benjamin, Unassigned)

Details

(Keywords: hang)

I have been experiencing over the past few days a hang when dragging messages in Thunderbird. Both Firefox and Thunderbird hang. I am using only IMAP, dragging a thread of three messages from the inbox to a folder I've created. Firefox starts showing showing slow-script dialogs and eventually hangs up completely. I'm using stable Thunderbird and Firefox nightlies, so I currently want to blame Firefox, not Tbird.  It's not 100% reproducible, but I'm experiencing the problem a few times per day at least.

The Thunderbird stack is:

>	user32.dll!_NtUserCallNoParam@4() 	
 	user32.dll!_NtUserCallNoParam@4() 	
 	ole32.dll!CCliModalLoop::BlockFn() 	
 	ole32.dll!ModalLoop() 	
 	ole32.dll!ThreadSendReceive() 	
 	ole32.dll!CRpcChannelBuffer::SwitchAptAndDispatchCall() 	
 	ole32.dll!CRpcChannelBuffer::SendReceive2() 	
 	ole32.dll!CCliModalLoop::SendReceive() 	
 	ole32.dll!CAptRpcChnl::SendReceive() 	
 	ole32.dll!CCtxComChnl::SendReceive() 	
 	ole32.dll!NdrExtpProxySendReceive() 	
 	rpcrt4.dll!@NdrpProxySendReceive@4() 	
 	rpcrt4.dll!_NdrClientCall2() 	
 	ole32.dll!_ObjectStublessClient@8() 	
 	ole32.dll!_ObjectStubless@0() 	
 	ole32.dll!PrivDragDrop() 	
 	ole32.dll!CDropTarget::DragOver() 	
 	ole32.dll!CDragOperation::DragOver() 	
 	ole32.dll!_DoDragDrop@16() 	
 	thunderbird.exe!nsDragService::StartInvokingDragSession(aDataObj=0x0c2c2d80, aActionType=0x00000001)  Line 318	C++
 	thunderbird.exe!nsDragService::InvokeDragSession(aDOMNode=0x068a8cbc, anArrayTransferables=0x0a1f3200, aRegion=0x0c9f1e70, aActionType=0x00000003)  Line 263	C++
 	thunderbird.exe!nsBaseDragService::InvokeDragSessionWithImage(aDOMNode=0x068a8cbc, aTransferableArray=0x0a1f3200, aRegion=0x0c9f1e70, aActionType=0x00000003, aImage=0x00000000, aImageX=0x00000000, aImageY=0x00000000, aDragEvent=0x0deca4c0, aDataTransfer=0x0a1ef8c0)  Line 291	C++
 	thunderbird.exe!nsEventStateManager::DoDefaultDragStart(aPresContext=0x05836800, aDragEvent=0x0046f1a0, aDataTransfer=0x0c9f1e70, aDragTarget=0x068a8ca0, aIsSelection=0x00000000)  Line 2242	C++
 	thunderbird.exe!nsEventStateManager::GenerateDragGesture(aPresContext=0x05836800, aEvent=0x068a8ca0)  Line 2004	C++
 	thunderbird.exe!nsEventStateManager::PreHandleEvent(aPresContext=0x05836800, aEvent=0x0046f588, aTargetFrame=0x06f21e98, aStatus=0x0046f4c8, aView=0x058f8700)  Line 1131	C++
 	thunderbird.exe!PresShell::HandleEventInternal(aEvent=0x00000000, aView=0x058f8700, aStatus=0x0046f4c8)  Line 6511	C++
 	thunderbird.exe!PresShell::HandlePositionedEvent(aView=0x058f8700, aTargetFrame=0x068a8ca0, aEvent=0x0046f588, aEventStatus=0x0046f4c8)  Line 6364	C++
 	thunderbird.exe!PresShell::HandleEvent(aView=0x058f8700, aEvent=0x0046f588, aEventStatus=0x0046f4c8)  Line 6228	C++
 	thunderbird.exe!nsViewManager::HandleEvent(aView=0x00000000, aPoint={...}, aEvent=0x0046f588, aCaptured=0x00000000)  Line 1227	C++
 	thunderbird.exe!nsViewManager::DispatchEvent(aEvent=0x058f8700, aView=0x43d2c000, aStatus=0x0046f540)  Line 1203	C++
 	thunderbird.exe!HandleEvent(aEvent=0x058f86a0)  Line 168	C++
 	thunderbird.exe!nsWindow::DispatchEvent(event=0x0046f588, aStatus=nsEventStatus_eIgnore)  Line 2979	C++
 	thunderbird.exe!nsWindow::DispatchWindowEvent(event=0x00000000)  Line 3008	C++
 	thunderbird.exe!nsWindow::DispatchMouseEvent(aEventType=0x0000012c, wParam=0x00000001, lParam=0x01a50079, aIsContextMenuKey=0x00000000, aButton=0x0000)  Line 3390	C++
 	thunderbird.exe!ChildWindow::DispatchMouseEvent(aEventType=0x0000012c, wParam=0x00000001, lParam=0x01a50079, aIsContextMenuKey=0x00000000, aButton=0x0000)  Line 7266	C++
 	thunderbird.exe!nsWindow::ProcessMessage(msg=0x00000200, wParam=0x00000001, lParam=0x01a50079, aRetValue=0x00000001)  Line 4103	C++
 	thunderbird.exe!nsWindow::WindowProc(hWnd=0x00220442, msg=0x00000200, wParam=0x00000001, lParam=0x01a50079)  Line 3727	C++
 	user32.dll!_InternalCallWinProc@20() 	
 	user32.dll!_UserCallWinProcCheckWow@32() 	
 	user32.dll!_DispatchMessageWorker@8() 	
 	user32.dll!_DispatchMessageW@4() 	
 	thunderbird.exe!nsAppShell::ProcessNextNativeEvent(mayWait=0x00000001)  Line 185	C++
 	thunderbird.exe!nsBaseAppShell::DoProcessNextNativeEvent(mayWait=0x00000001)  Line 156	C++
 	thunderbird.exe!nsBaseAppShell::OnProcessNextEvent(thr=0x00b19330, mayWait=0x00000001, recursionDepth=0x00000000)  Line 311	C++
 	xpcom_core.dll!nsThread::ProcessNextEvent(mayWait=0x00000001, result=0x0046f99c)  Line 510	C++
 	xpcom_core.dll!NS_ProcessNextEvent_P(thread=0x00b19330, mayWait=0x00000001)  Line 250	C++
 	thunderbird.exe!nsBaseAppShell::Run()  Line 177	C++
 	thunderbird.exe!nsAppStartup::Run()  Line 184	C++
 	thunderbird.exe!XRE_main(argc=0x00000001, argv=0x00b110a8, aAppData=0x00b17480)  Line 3485	C++

The Firefox stack is:

 	user32.dll!_NtUserCallNoParam@4() 	
 	ole32.dll!CCliModalLoop::BlockFn() 	
 	ole32.dll!ModalLoop() 	
 	ole32.dll!ThreadSendReceive() 	
 	ole32.dll!CRpcChannelBuffer::SwitchAptAndDispatchCall() 	
 	ole32.dll!CRpcChannelBuffer::SendReceive2() 	
 	ole32.dll!CCliModalLoop::SendReceive() 	
 	ole32.dll!CAptRpcChnl::SendReceive() 	
 	ole32.dll!CCtxComChnl::SendReceive() 	
 	ole32.dll!NdrExtpProxySendReceive() 	
 	rpcrt4.dll!@NdrpProxySendReceive@4() 	
 	rpcrt4.dll!_NdrClientCall2() 	
 	ole32.dll!_ObjectStublessClient@8() 	
 	ole32.dll!_ObjectStubless@0() 	
 	ole32.dll!CStdMarshal::Begin_RemQIAndUnmarshal1() 	
 	ole32.dll!CStdMarshal::Begin_QueryRemoteInterfaces() 	
 	ole32.dll!CStdMarshal::QueryRemoteInterfaces() 	
 	ole32.dll!CStdIdentity::CInternalUnk::QueryMultipleInterfaces() 	
 	ole32.dll!CStdIdentity::CInternalUnk::QueryInterface() 	
 	ole32.dll!_IUnknown_QueryInterface_Proxy@12() 	
 	ole32.dll!CDragDataObject::QueryInterface() 	
>	xul.dll!nsDragService::GetDataObjCollection(aDataObj=0x00000000)  Line 369	C++
 	xul.dll!nsDragService::IsDataFlavorSupported(aDataFlavor=0x6f5026a4, _retval=0x0044bdf0)  Line 507	C++
 	xul.dll!nsDOMDataTransfer::CacheExternalFormats()  Line 839	C++
 	xul.dll!nsDOMDataTransfer::nsDOMDataTransfer(aEventType=0x00000579)  Line 99	C++
 	xul.dll!nsContentUtils::SetDataTransferInEvent(aDragEvent=0x00000000)  Line 4914	C++
 	xul.dll!nsDOMDragEvent::GetDataTransfer(aDataTransfer=0x0044bea4)  Line 124	C++
 	xul.dll!nsIDOMDragEvent_GetDataTransfer(cx=0x0647cae0, obj=0x1156fbd0, id=0x0673ea50, vp=0x0044c0e8)  Line 14922	C++
 	mozjs.dll!js::Shape::get(cx=, receiver=, obj=, pobj=, vp=)  Line 256	C++
 	mozjs.dll!js_GetPropertyHelper(cx=0x00000000, obj=0x1156fbd0, id=0x00000000, getHow=0x00000001, vp=0x0044c0e8)  Line 5410	C++
 	mozjs.dll!js::Interpret(cx=, entryFrame=, inlineCallCount=, interpMode=)  Line 4203	C++
 	mozjs.dll!js::RunScript(cx=0x0647cae0, script=0x074bfbb0, fp=0x05500038)  Line 661	C++
 	mozjs.dll!js::Invoke(cx=0x0647cae0, argsRef={...}, flags=0x00000000)  Line 741	C++
 	mozjs.dll!js::ExternalInvoke(cx=0x0647cae0, thisv={...}, fval={...}, argc=0x00000001, argv=0x1a741010, rval=0x0044c6d0)  Line 862	C++
 	mozjs.dll!JS_CallFunctionValue(cx=0x0647cae0, obj=0x0bed59d8, fval=0xffff00071156fb28, argc=0x00000001, argv=0x1a741010, rval=0x0044c6d0)  Line 5054	C++
 	xul.dll!nsJSContext::CallEventHandler(aTarget=0x127eec80, aScope=0x07661578, aHandler=0x1156fb28, aargv=0x123991e0, arv=0x0044c788)  Line 2009	C++
 	xul.dll!nsJSEventListener::HandleEvent(aEvent=0x0ab2e880)  Line 228	C++
 	xul.dll!nsXBLPrototypeHandler::ExecuteHandler(aTarget=0x0a73bc00, aEvent=0x0ab2e880)  Line 333	C++
 	xul.dll!nsXBLEventHandler::HandleEvent(aEvent=0x1bb93de0)  Line 90	C++
 	xul.dll!nsEventListenerManager::HandleEventSubType(aListenerStruct=0x00000000, aListener=0x063b5bc0, aDOMEvent=0x00000000, aCurrentTarget=0x127eec80, aPhaseFlags=0x0e1ecc38, aPusher=0x0044caec)  Line 1127	C++
 	xul.dll!nsEventListenerManager::HandleEventInternal(aPresContext=0x05c2d400, aEvent=0x0044ccf8, aDOMEvent=0x0044cb00, aCurrentTarget=0x127eec80, aFlags=0x00000202, aEventStatus=0x0044cb04, aPusher=0x0044caec)  Line 1224	C++
 	xul.dll!nsEventTargetChainItem::HandleEventTargetChain(aVisitor={...}, aFlags=0x00000206, aCallback=0x0044cb8c, aMayHaveNewListenerManagers=0x00000200, aPusher=0x0044caec)  Line 364	C++
 	xul.dll!nsEventTargetChainItem::HandleEventTargetChain(aVisitor={...}, aFlags=0x00000006, aCallback=0x0044cb8c, aMayHaveNewListenerManagers=0x00000000, aPusher=0x0044caec)  Line 398	C++
 	xul.dll!nsEventDispatcher::Dispatch(aTarget=, aPresContext=, aEvent=, aDOMEvent=, aEventStatus=, aCallback=, aTargets=)  Line 632	C++
 	xul.dll!NS_IsMainThread_P()  Line 138	C++
 	xul.dll!PresShell::HandleEventInternal(aEvent=, aView=, aStatus=)  Line 7017	C++
 	xul.dll!nsTArray_base<nsTArrayDefaultAllocator>::ShiftData(start=0x0044ccf8, oldLen=0x00000000, newLen=0x06240340, elemSize=0x0044cc28)  Line 169	C++
 	xul.dll!PresShell::HandlePositionedEvent(aView=0x06240340, aTargetFrame=0x00000000, aEvent=0x090b2500, aEventStatus=0x0044cc28)  Line 6851	C++
 	xul.dll!PresShell::HandleEvent(aView=, aEvent=, aDontRetargetEvents=, aEventStatus=)  Line 6701	C++
 	xul.dll!nsViewManager::HandleEvent(aView=0x00000000, aEvent=0x0044ccf8)  Line 1108	C++
 	xul.dll!nsViewManager::DispatchEvent(aEvent=0x0044ccf8, aView=0x08c54760, aStatus=0x0044ccb8)  Line 1083	C++
 	xul.dll!AttachedHandleEvent(aEvent=0x08c0e600)  Line 194	C++
 	xul.dll!nsWindow::DispatchEvent(event=0x0044ccf8, aStatus=nsEventStatus_eIgnore)  Line 3744	C++
 	xul.dll!nsNativeDragTarget::DispatchDragDropEvent(aEventType=0x00000579, aPT={...})  Line 196	C++
 	xul.dll!nsNativeDragTarget::ProcessDrag(pData=0x00000000, aEventType=0x00000579, grfKeyState=0x00000001, ptl={...}, pdwEffect=0x0665d6d4)  Line 225	C++
 	xul.dll!nsNativeDragTarget::DragOver(grfKeyState=0x00000001, ptl={...}, pdwEffect=0x1e529f44)  Line 319	C++
 	ole32.dll!CPrivDragDrop::PrivDragDrop() 	
 	rpcrt4.dll!_Invoke@12() 	
 	rpcrt4.dll!_NdrStubCall2@16() 	
 	ole32.dll!_CStdStubBuffer_Invoke@12() 	
 	ole32.dll!SyncStubInvoke() 	
 	ole32.dll!StubInvoke() 	
 	ole32.dll!CCtxComChnl::ContextInvoke() 	
 	ole32.dll!MTAInvoke() 	
 	ole32.dll!STAInvoke() 	
 	ole32.dll!AppInvoke() 	
 	ole32.dll!ComInvokeWithLockAndIPID() 	
 	ole32.dll!ComInvoke() 	
 	ole32.dll!ThreadDispatch() 	
 	ole32.dll!ThreadWndProc() 	
 	user32.dll!_InternalCallWinProc@20() 	
 	user32.dll!_UserCallWinProcCheckWow@32() 	
 	user32.dll!_DispatchMessageWorker@8() 	
 	user32.dll!_DispatchMessageW@4() 	
 	xul.dll!nsAppShell::ProcessNextNativeEvent(mayWait=0x6eaeea00)  Line 335	C++
Keywords: hang
Severity: normal → critical
Note: if I force-kill firefox.exe, Thunderbird comes back up and is fine. There is nothing especially interesting in the tbird activity manager or error console.
I was thinking of bug 629253 - Firefox hangs when dragging two emails from Thunderbird over it
Yeah, this appears to be a straight dup. I'm not actually intentionally dragging the emails over Firefox, but I suppose Windows could be triggering some Firefox code during the drag anyway.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
blocking2.0: ? → -
You need to log in before you can comment on or make changes to this bug.