Closed Bug 542337 Opened 15 years ago Closed 15 years ago

[OOPP] hang in test_plugin_clipping2.xhtml

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Windows 7
defect
Not set
normal

Tracking

(status1.9.2 .4-fixed)

RESOLVED FIXED
Tracking Status
status1.9.2 --- .4-fixed

People

(Reporter: benjamin, Assigned: bent.mozilla)

References

Details

(Whiteboard: [fixed-lorentz])

Attachments

(4 files, 2 obsolete files)

The latest revision of test_plugin_clipping2, http://hg.mozilla.org/projects/electrolysis/rev/be4144ff7790, causes a hang on Windows. Parent stack: _NtUserCallHwndLock@8() _NtUserCallHwndLock@8() > nsWindow::Update() Line 2188 C++ nsViewManager::UpdateWidgetsForView(aView=0x04787d78) Line 1465 C++ nsViewManager::ForceUpdate() Line 1718 C++ nsViewManager::Composite() Line 552 C++ nsViewManager::UpdateViewAfterScroll(aView=0x04787d78, aUpdateRegion={...}) Line 622 C++ nsGfxScrollFrameInner::ScrollVisual(aPixDelta={...}) Line 1704 C++ nsGfxScrollFrameInner::ScrollToImpl(aPt={...}) Line 1781 C++ nsGfxScrollFrameInner::ScrollTo(aScrollPosition={...}, aMode=INSTANT) Line 1358 C++ nsHTMLScrollFrame::ScrollTo(aScrollPosition={...}, aMode=INSTANT) Line 414 C++ nsNSElementTearoff::SetScrollTop(aScrollTop=0x00000097) Line 1261 C++ NS_InvokeByIndex_P(that=0x099519b8, methodIndex=0x00000007, paramCount=0x00000001, params=0x0046c174) Line 103 C++ XPCWrappedNative::CallMethod(ccx={...}, mode=CALL_SETTER) Line 2727 C++ XPCWrappedNative::SetAttribute(ccx={...}) Line 2550 C++ XPC_WN_GetterSetter(cx=0x095336a0, obj=0x02ba8700, argc=0x00000001, argv=0x07229c64, vp=0x0046c458) Line 1792 C++ js_Invoke(cx=0x095336a0, argc=0x00000001, vp=0x07229c5c, flags=0x00000002) Line 1376 C++ Child stack: > mozilla::ipc::SyncChannel::WaitForNotify() Line 501 C++ mozilla::ipc::RPCChannel::Call(msg=0x036a77d8, reply=0x02c8d5e8) Line 120 C++ mozilla::plugins::PPluginModuleChild::CallNPN_UserAgent(userAgent=0x00613e3c) Line 94 C++ mozilla::plugins::PluginModuleChild::GetUserAgent() Line 314 C++ mozilla::plugins::child::_useragent(aNPP=0x03658ed8) Line 884 C++ NPN_UserAgent(instance=0x03658ed8) Line 1215 C++ drawToDC(instanceData=0x036aa908, dc=0x990119fd, x=0x00000000, y=0x00000000, width=0x0000012c, height=0x000000c8) Line 146 C++ pluginDraw(instanceData=0x036aa908) Line 222 C++ handleEventInternal(instanceData=0x036aa908, pe=0x02c8d798, result=0x02c8d794) Line 402 C++ PluginWndProc(hWnd=0x00130b02, uMsg=0x0000000f, wParam=0x00000000, lParam=0x00000000) Line 473 C++ _InternalCallWinProc@20() _UserCallWinProcCheckWow@32() _CallWindowProcAorW@24() _CallWindowProcW@20() mozilla::plugins::PluginInstanceChild::PluginWindowProc(hWnd=0x00130b02, message=0x0000000f, wParam=0x00000000, lParam=0x00000000) Line 700 C++ _InternalCallWinProc@20() _UserCallWinProcCheckWow@32() _DispatchClientMessage@24() ___fnDWORD@4() _KiUserCallbackDispatcher@12() _NtUserPeekMessage@20() __PeekMessage@24() _PeekMessageW@20() PeekKeyAndIMEMessage(msg=0x02c8db08, hwnd=0x00000000) Line 83 C++ nsAppShell::ProcessNextNativeEvent(mayWait=0x00000001) Line 270 C++
Attached patch Patch, v1 (obsolete) — Splinter Review
Attachment #423675 - Flags: review?(jmathies)
Attachment #423675 - Flags: review?(jmathies) → review+
Comment on attachment 423675 [details] [diff] [review] Patch, v1 +// If this window hosts a plugin window from another process then we cannot use +// the windows UpdateWindow function to update it. Doing so sends a synchronous +// WM_PAINT message to the plugin process which may call back to this process +// in respons. As this process minor typo in your last comment needs a touch up.
Pushed changeset d034c49accf6 to e10s. Also added a ValidateWindow call.
http://hg.mozilla.org/mozilla-central/rev/877d48ef5d8c http://hg.mozilla.org/mozilla-central/rev/3a0f317aa4e9 Removed the ValidateWindow call because... there is no such function. Please re-open if that call was important!
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Sigh. It was supposed to be ValidateRect. I'll add it back.
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1264629905.1264630563.32537.gz#err0 WINNT 5.2 mozilla-central opt test mochitests-4/5 on 2010/01/27 14:05:05 s: win32-slave42 TEST-UNEXPECTED-FAIL | automation.py | application timed out after 330 seconds with no output PROCESS-CRASH | automation.py | application crashed (minidump found) Thread 20 (crashed) Thread 20 (crashed) 0 crashinjectdll.dll!CrashingThread(void *) [crashinjectdll.cpp:f54bb3222492 : 13 + 0x0] eip = 0x00ba1000 esp = 0x03afffbc ebp = 0x03afffec ebx = 0x00000000 esi = 0x00000000 edi = 0x00000000 eax = 0x00000000 ecx = 0x03afffb4 edx = 0x7c8285ec efl = 0x00010246 Found by: given as instruction pointer in context 1 kernel32.dll + 0x24828 eip = 0x77e64829 esp = 0x03afffc0 ebp = 0x03afffec Found by: call frame info Thread 0 0 ntdll.dll + 0x285ec eip = 0x7c8285ec esp = 0x0012d00c ebp = 0x0012d01c ebx = 0x06c97600 esi = 0x06c97600 edi = 0x04488880 eax = 0x07f3c000 ecx = 0x034f2000 edx = 0x00000808 efl = 0x00200286 Found by: given as instruction pointer in context 1 xul.dll!nsWindow::Update() [nsWindow.cpp:f54bb3222492 : 2190 + 0x5] eip = 0x60c1ac91 esp = 0x0012d024 ebp = 0x0012d054 Found by: previous frame's frame pointer 2 xul.dll!nsViewManager::UpdateWidgetsForView(nsView *) [nsViewManager.cpp:f54bb3222492 : 1464 + 0xb] eip = 0x60af7379 esp = 0x0012d02c ebp = 0x0012d054 Found by: call frame info with scanning 3 xul.dll!nsViewManager::ForceUpdate() [nsViewManager.cpp:f54bb3222492 : 1715 + 0x7] eip = 0x60b1d610 esp = 0x0012d05c ebp = 0x0012d0c0 Found by: previous frame's frame pointer 4 xul.dll!nsViewManager::Composite() + 0x10 eip = 0x60959d61 esp = 0x0012d068 ebp = 0x0012d0c0 Found by: call frame info with scanning 5 xul.dll!nsGfxScrollFrameInner::ScrollVisual(nsIntPoint) [nsGfxScrollFrame.cpp:f54bb3222492 : 1707 + 0x10] eip = 0x60cc234f esp = 0x0012d0c8 ebp = 0x0012d1dc Found by: previous frame's frame pointer 6 xul.dll!nsGfxScrollFrameInner::ScrollToImpl(nsPoint) + 0x93 eip = 0x609ed615 esp = 0x0012d1e4 ebp = 0x0012d218 Found by: previous frame's frame pointer 7 xul.dll!nsGfxScrollFrameInner::ScrollTo(nsPoint,nsIScrollableFrame::ScrollMode) [nsGfxScrollFrame.cpp:f54bb3222492 : 1357 + 0x15] eip = 0x6075df94 esp = 0x0012d220 ebp = 0x0012d240 Found by: previous frame's frame pointer 8 xul.dll!nsXULScrollFrame::ScrollTo(nsPoint,nsIScrollableFrame::ScrollMode) [nsGfxScrollFrame.h:f54bb3222492 : 413 + 0x1d] eip = 0x6075e01c esp = 0x0012d248 ebp = 0x0012d274 Found by: previous frame's frame pointer 9 xul.dll!nsNSElementTearoff::SetScrollTop(int) [nsGenericElement.cpp:f54bb3222492 : 1258 + 0x1a] eip = 0x60cd7fe2 esp = 0x0012d25c ebp = 0x0012d274 Found by: call frame info 10 xul.dll!NS_InvokeByIndex_P [xptcinvoke.cpp:f54bb3222492 : 102 + 0x2] eip = 0x6086863c esp = 0x0012d27c ebp = 0x0012d288 Found by: previous frame's frame pointer 11 xul.dll!XPCWrappedNative::CallMethod(XPCCallContext &,XPCWrappedNative::CallMode) [xpcwrappednative.cpp:f54bb3222492 : 2727 + 0x1c] eip = 0x606a21e1 esp = 0x0012d290 ebp = 0x0012d520 Found by: call frame info 12 xul.dll!XPC_WN_GetterSetter(JSContext *,JSObject *,unsigned int,int *,int *) [xpcwrappednativejsops.cpp:f54bb3222492 : 1792 + 0x16] eip = 0x606aa577 esp = 0x0012d528 ebp = 0x035ed340 Found by: previous frame's frame pointer 13 mozjs.dll!js_Invoke [jsinterp.cpp:f54bb3222492 : 1376 + 0x16] eip = 0x60231540 esp = 0x0012d5f4 ebp = 0x0012d698 Found by: call frame info 14 mozjs.dll!js_InternalInvoke [jsinterp.cpp:f54bb3222492 : 1439 + 0x11] eip = 0x60233bd3 esp = 0x0012d6a0 ebp = 0x0012d6cc Found by: previous frame's frame pointer 15 mozjs.dll!JSScopeProperty::set(JSContext *,JSObject *,int *) [jsscope.h:f54bb3222492 : 857 + 0x2d] eip = 0x60200bc8 esp = 0x0012d6d4 ebp = 0x073bdee0 Found by: previous frame's frame pointer 16 mozjs.dll!js_SetPropertyHelper [jsobj.cpp:f54bb3222492 : 5405 + 0x13] eip = 0x602187c5 esp = 0x0012d6fc ebp = 0x050b6144 Found by: call frame info with scanning 17 mozjs.dll!js_SetProperty [jsobj.cpp:f54bb3222492 : 5518 + 0x1a] eip = 0x60217a4c esp = 0x0012d754 ebp = 0x0012d9b4 Found by: call frame info 18 mozjs.dll!js_Interpret [jsops.cpp:f54bb3222492 : 1319 + 0x17] eip = 0x6022a8fe esp = 0x0012d770 ebp = 0x0012d9b4 Found by: call frame info 19 mozjs.dll!js_Invoke [jsinterp.cpp:f54bb3222492 : 1384 + 0x5] eip = 0x6023139b esp = 0x0012d9bc ebp = 0x0012da50 Found by: previous frame's frame pointer 20 mozjs.dll!js_InternalInvoke [jsinterp.cpp:f54bb3222492 : 1439 + 0x11] eip = 0x60233bd3 esp = 0x0012da58 ebp = 0x0012da80 Found by: previous frame's frame pointer 21 mozjs.dll!JS_CallFunctionValue [jsapi.cpp:f54bb3222492 : 5120 + 0x26] eip = 0x60253fa7 esp = 0x0012da88 ebp = 0x0012db1c Found by: previous frame's frame pointer 22 xul.dll!nsJSContext::CallEventHandler(nsISupports *,void *,void *,nsIArray *,nsIVariant * *) [nsJSEnvironment.cpp:f54bb3222492 : 2168 + 0x24] eip = 0x60704cf1 esp = 0x0012dab0 ebp = 0x0012db1c Found by: call frame info 23 xul.dll!nsGlobalWindow::RunTimeout(nsTimeout *) [nsGlobalWindow.cpp:f54bb3222492 : 8095 + 0x77] eip = 0x60640485 esp = 0x0012db24 ebp = 0x0012dbf8 Found by: previous frame's frame pointer 24 xul.dll!nsGlobalWindow::TimerCallback(nsITimer *,void *) [nsGlobalWindow.cpp:f54bb3222492 : 8439 + 0x8] eip = 0x6070b91a esp = 0x0012dc00 ebp = 0x0012dc1c Found by: previous frame's frame pointer 25 xul.dll!nsTimerImpl::Fire() [nsTimerImpl.cpp:f54bb3222492 : 427 + 0x6] eip = 0x606f5735 esp = 0x0012dc24 ebp = 0x603cccd0 Found by: previous frame's frame pointer 26 nspr4.dll!_PR_MD_UNLOCK [w95cv.c:f54bb3222492 : 344 + 0x6] eip = 0x603d9f4f esp = 0x0012dc3c ebp = 0x07e0c190 Found by: call frame info with scanning 27 xul.dll!nsTimerEvent::Run() [nsTimerImpl.cpp:f54bb3222492 : 519 + 0x4] eip = 0x606f5560 esp = 0x0012dc44 ebp = 0x07e0c190 Found by: call frame info with scanning 28 xul.dll!nsThread::ProcessNextEvent(int,int *) [nsThread.cpp:f54bb3222492 : 527 + 0x4] eip = 0x606ad3d6 esp = 0x0012dc4c ebp = 0x07e0c190 Found by: call frame info 29 xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate *) [MessagePump.cpp:f54bb3222492 : 142 + 0x19] eip = 0x606e35a8 esp = 0x0012dc7c ebp = 0x606ad3d6 Found by: call frame info with scanning 30 xul.dll + 0x9c727b eip = 0x60fb727c esp = 0x0012dcac ebp = 0x00000001 Found by: call frame info 31 xul.dll!MessageLoop::RunHandler() [message_loop.cc:f54bb3222492 : 194 + 0xd] eip = 0x60831a30 esp = 0x0012dcbc ebp = 0x00000001 Found by: stack scanning 32 ntdll.dll + 0x2e24b eip = 0x7c82e24c esp = 0x0012dcd4 ebp = 0x00000001 Found by: stack scanning 33 xul.dll!_IsNonwritableInCurrentImage + 0x19 eip = 0x608f8594 esp = 0x0012dce8 ebp = 0x00000001 Found by: stack scanning 34 xul.dll!MessageLoop::Run() [message_loop.cc:f54bb3222492 : 168 + 0x6] eip = 0x608319f8 esp = 0x0012dcf8 ebp = 0x00000001 Found by: stack scanning 35 xul.dll!nsBaseAppShell::Run() [nsBaseAppShell.cpp:f54bb3222492 : 174 + 0x13] eip = 0x60830b49 esp = 0x0012dd30 ebp = 0x00000001 Found by: stack scanning 36 nspr4.dll!PR_GetEnv + 0xa eip = 0x603cbdc0 esp = 0x0012dd34 ebp = 0x00000001 Found by: call frame info 37 xul.dll!nsAppShell::Run() [nsAppShell.cpp:f54bb3222492 : 239 + 0xa] eip = 0x6085b3da esp = 0x0012dd3c ebp = 0x00000001 Found by: stack scanning 38 0x7c7fffff eip = 0x7c800000 esp = 0x0012dd68 ebp = 0x00000001 Found by: stack scanning 39 0x77e3ffff eip = 0x77e40000 esp = 0x0012dd88 ebp = 0x00000001 Found by: stack scanning
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attached patch Followup patch, v1 (obsolete) — Splinter Review
Bah. Apparently UpdateWindow recursively updates child windows, too. This is more complicated but avoids child windows.
Attachment #423894 - Flags: review?(jmathies)
Attachment #423894 - Flags: review?(jmathies) → review+
Looks like the same issue. http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1264651664.1264652704.20733.gz 8783 INFO Running chrome://mochikit/content/chrome/widget/tests/test_plugin_scroll_consistency.html... 8784 INFO TEST-PASS | chrome://mochikit/content/chrome/widget/tests/test_plugin_scroll_consistency.html | Consistency check: Initial state: NEXT ERROR TEST-UNEXPECTED-FAIL | automation.py | application timed out after 330 seconds with no output Thread 22 (crashed) 0 crashinjectdll.dll!CrashingThread(void *) [crashinjectdll.cpp:9259fdc3570c : 13 + 0x0] eip = 0x00ba1000 esp = 0x03afffbc ebp = 0x03afffec ebx = 0x00000000 esi = 0x00000000 edi = 0x00000000 eax = 0x00000000 ecx = 0x03afffb4 edx = 0x7c8285ec efl = 0x00010246 Found by: given as instruction pointer in context 1 kernel32.dll + 0x24828 eip = 0x77e64829 esp = 0x03afffc0 ebp = 0x03afffec Found by: call frame info Thread 0 0 ntdll.dll + 0x285ec eip = 0x7c8285ec esp = 0x0012d02c ebp = 0x0012d03c ebx = 0x039b6560 esi = 0x039b6560 edi = 0x034ba460 eax = 0x05f2e000 ecx = 0x00000020 edx = 0x00000000 efl = 0x00200206 Found by: given as instruction pointer in context 1 xul.dll!nsWindow::Update() [nsWindow.cpp:9259fdc3570c : 2190 + 0x5] eip = 0x60c134bd esp = 0x0012d044 ebp = 0x0012d074 Found by: previous frame's frame pointer 2 xul.dll!nsViewManager::UpdateWidgetsForView(nsView *) [nsViewManager.cpp:9259fdc3570c : 1464 + 0xb] eip = 0x60af8790 esp = 0x0012d04c ebp = 0x0012d074 Found by: call frame info with scanning 3 xul.dll!nsViewManager::ForceUpdate() [nsViewManager.cpp:9259fdc3570c : 1715 + 0x7] eip = 0x60b1f665 esp = 0x0012d07c ebp = 0x0012d0e0 Found by: previous frame's frame pointer 4 xul.dll!nsViewManager::Composite() + 0x10 eip = 0x6095ab27 esp = 0x0012d088 ebp = 0x0012d0e0 Found by: call frame info with scanning 5 xul.dll!nsGfxScrollFrameInner::ScrollVisual(nsIntPoint) [nsGfxScrollFrame.cpp:9259fdc3570c : 1707 + 0x10] eip = 0x60cc79f2 esp = 0x0012d0e8 ebp = 0x0012d1fc Found by: previous frame's frame pointer 6 xul.dll!nsGfxScrollFrameInner::ScrollToImpl(nsPoint) + 0x93 eip = 0x609f5ae8 esp = 0x0012d204 ebp = 0x0012d238 Found by: previous frame's frame pointer 7 xul.dll!nsGfxScrollFrameInner::ScrollTo(nsPoint,nsIScrollableFrame::ScrollMode) [nsGfxScrollFrame.cpp:9259fdc3570c : 1357 + 0x15] eip = 0x60650a43 esp = 0x0012d240 ebp = 0x0012d260 Found by: previous frame's frame pointer 8 xul.dll!nsXULScrollFrame::ScrollTo(nsPoint,nsIScrollableFrame::ScrollMode) [nsGfxScrollFrame.h:9259fdc3570c : 413 + 0x1d] eip = 0x60650961 esp = 0x0012d268 ebp = 0x0012d294 Found by: previous frame's frame pointer 9 xul.dll!nsNSElementTearoff::SetScrollTop(int) [nsGenericElement.cpp:9259fdc3570c : 1258 + 0x1a] eip = 0x60cd234c esp = 0x0012d27c ebp = 0x0012d294 Found by: call frame info 10 xul.dll!NS_InvokeByIndex_P [xptcinvoke.cpp:9259fdc3570c : 102 + 0x2] eip = 0x6086907c esp = 0x0012d29c ebp = 0x0012d2a8 Found by: previous frame's frame pointer 11 xul.dll!XPCWrappedNative::CallMethod(XPCCallContext &,XPCWrappedNative::CallMode) [xpcwrappednative.cpp:9259fdc3570c : 2727 + 0x1c] eip = 0x606d7f81 esp = 0x0012d2b0 ebp = 0x0012d540 Found by: call frame info 12 xul.dll!XPC_WN_GetterSetter(JSContext *,JSObject *,unsigned int,int *,int *) [xpcwrappednativejsops.cpp:9259fdc3570c : 1792 + 0x16] eip = 0x606cfee7 esp = 0x0012d548 ebp = 0x03504ca0 Found by: previous frame's frame pointer 13 mozjs.dll!js_Invoke [jsinterp.cpp:9259fdc3570c : 1376 + 0x14] eip = 0x60222545 esp = 0x0012d614 ebp = 0x0012d6b0 Found by: call frame info 14 mozjs.dll!js_InternalInvoke [jsinterp.cpp:9259fdc3570c : 1439 + 0x11] eip = 0x6023b603 esp = 0x0012d6b8 ebp = 0x0012d6e4 Found by: previous frame's frame pointer 15 mozjs.dll!JSScopeProperty::set(JSContext *,JSObject *,int *) [jsscope.h:9259fdc3570c : 857 + 0x2d] eip = 0x60256ff8 esp = 0x0012d6ec ebp = 0x05125ec0 Found by: previous frame's frame pointer 16 mozjs.dll!js_SetPropertyHelper [jsobj.cpp:9259fdc3570c : 5405 + 0x13] eip = 0x60239f75 esp = 0x0012d714 ebp = 0x0012d7cc Found by: call frame info with scanning 17 mozjs.dll!js_Interpret [jsops.cpp:9259fdc3570c : 1890 + 0x11] eip = 0x602289b8 esp = 0x0012d76c ebp = 0x0012d9bc Found by: call frame info 18 mozjs.dll!js_Invoke [jsinterp.cpp:9259fdc3570c : 1384 + 0x5] eip = 0x602223ac esp = 0x0012d9c4 ebp = 0x0012da50 Found by: previous frame's frame pointer 19 mozjs.dll!js_InternalInvoke [jsinterp.cpp:9259fdc3570c : 1439 + 0x11] eip = 0x6023b603 esp = 0x0012da58 ebp = 0x0012da80 Found by: previous frame's frame pointer 20 mozjs.dll!JS_CallFunctionValue [jsapi.cpp:9259fdc3570c : 5120 + 0x26] eip = 0x60252a57 esp = 0x0012da88 ebp = 0x0012db1c Found by: previous frame's frame pointer 21 xul.dll!nsJSContext::CallEventHandler(nsISupports *,void *,void *,nsIArray *,nsIVariant * *) [nsJSEnvironment.cpp:9259fdc3570c : 2168 + 0x24] eip = 0x60757f51 esp = 0x0012dab0 ebp = 0x0012db1c Found by: call frame info 22 xul.dll!nsGlobalWindow::RunTimeout(nsTimeout *) [nsGlobalWindow.cpp:9259fdc3570c : 8095 + 0x77] eip = 0x60692145 esp = 0x0012db24 ebp = 0x0012dbf8 Found by: previous frame's frame pointer 23 xul.dll!nsGlobalWindow::TimerCallback(nsITimer *,void *) [nsGlobalWindow.cpp:9259fdc3570c : 8439 + 0x8] eip = 0x6075fdd7 esp = 0x0012dc00 ebp = 0x0012dc1c Found by: previous frame's frame pointer 24 xul.dll!nsTimerImpl::Fire() [nsTimerImpl.cpp:9259fdc3570c : 427 + 0x6] eip = 0x60686a05 esp = 0x0012dc24 ebp = 0x603cccd0 Found by: previous frame's frame pointer 25 nspr4.dll!_PR_MD_UNLOCK [w95cv.c:9259fdc3570c : 344 + 0x6] eip = 0x603d9f4f esp = 0x0012dc3c ebp = 0x036ef4f0 Found by: call frame info with scanning 26 xul.dll!nsTimerEvent::Run() [nsTimerImpl.cpp:9259fdc3570c : 519 + 0x4] eip = 0x60686a6c esp = 0x0012dc44 ebp = 0x036ef4f0 Found by: call frame info with scanning 27 xul.dll!nsThread::ProcessNextEvent(int,int *) [nsThread.cpp:9259fdc3570c : 527 + 0x4] eip = 0x606ce5b8 esp = 0x0012dc4c ebp = 0x036ef4f0 Found by: call frame info
This might be related. (I'll attach a test case.) Resizing the main window sometimes results in a locked up browser / desktop. ctrl-alt-del and selecting the task manager un-deadlocks the desktop, the browser remains frozen.
(In reply to comment #9) > Looks like the same issue. > > http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1264651664.1264652704.20733.gz > 8783 INFO Running > chrome://mochikit/content/chrome/widget/tests/test_plugin_scroll_consistency.html... > 8784 INFO TEST-PASS | > chrome://mochikit/content/chrome/widget/tests/test_plugin_scroll_consistency.html > | Consistency check: Initial state: > NEXT ERROR TEST-UNEXPECTED-FAIL | automation.py | application timed out after > 330 seconds with no output I filed a bug on this test this morning, might be a dupe of this - bug 542759.
Undoes some of attachment 423675 [details] [diff] [review] and uses a much simpler method. For OOP plugins we now don't use the WS_CLIPCHILDREN style so that we can intercept WM_PAINT messages in the parent process. We then synchronously update the plugin via RPC (which runs the deferred message loop) and then call ValidateRect before returning. This seems to avoid the painting deadlock entirely.
Attachment #423675 - Attachment is obsolete: true
Attachment #423894 - Attachment is obsolete: true
Attachment #424057 - Flags: review?(jmathies)
Attachment #424057 - Flags: review?(jmathies) → review+
Pushed changeset b3f9b762cab4 to e10s.
Pushed changeset a119900cf074 to mozilla-central.
Status: REOPENED → RESOLVED
Closed: 15 years ago15 years ago
Resolution: --- → FIXED
How will this approach work if some plugins run out of process and others don't?
Landed followup on m-c and e10s.
Blocks: 542759
Blanket approval for Lorentz merge to mozilla-1.9.2 a=beltzner for 1.9.2.4 - please make sure to mark status1.9.2:.4-fixed
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: