Issue 112867 - sysdtrans deadlock in smoketest on Windows-2003 buildbot
Summary: sysdtrans deadlock in smoketest on Windows-2003 buildbot
Status: CLOSED OBSOLETE
Alias: None
Product: General
Classification: Code
Component: code (show other issues)
Version: DEV300m83
Hardware: All All
: P2 Trivial (vote)
Target Milestone: 3.4.0
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-02 09:33 UTC by Stephan Bergmann
Modified: 2019-08-02 12:17 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Stephan Bergmann 2010-07-02 09:33:25 UTC
On <http://termite.services.openoffice.org/buildbot/builders/Windows-2003>, the
smoketest build step often hangs, so that the buildbot framework cancels it.
(And a problem is that this cancellation does not kill soffice.bin, which hangs
on to .../smoketestoo_native/wntmsci12.pro/bin/smoketestdoc.sxw, so that all
following builds on the bot also fail in the smoketest step when they want to
create that same file. Hence the P2 priority of this issue.)

The hang is due to a deadlock in soffice.bin involving sysdtrans:

Main Thread:
ntoskrnl.exe!KeInsertQueueApc+0x415
ntoskrnl.exe!KeSetEvent+0x392
ntoskrnl.exe!KeWaitForSingleObject+0x2be
ntoskrnl.exe!KeQueryPriorityThread+0xbc
ntoskrnl.exe!RtlDelete+0x3bb
ntoskrnl.exe!IoFreeIrp+0x17
ntoskrnl.exe!KeUpdateRunTime+0x484
ntoskrnl.exe!NtDeviceIoControlFile+0x99a
ntoskrnl.exe!PsGetContextThread+0x8ab
ntoskrnl.exe!ZwUnloadKey+0x20ad
wow64cpu.dll!TurboDispatchJumpAddressEnd+0xef
ntdll.dll!ZwWaitForMultipleObjects+0x15
USER32.dll!SetLayeredWindowAttributes+0x104
ole32.dll!CoSwitchCallContext+0x4ec
ole32.dll!CoSwitchCallContext+0x266
ole32.dll!CoGetStandardMarshal+0x389
ole32.dll!StgGetIFillLockBytesOnFile+0x122d4
ole32.dll!StgGetIFillLockBytesOnFile+0x130a2
ole32.dll!CoSwitchCallContext+0x48d
ole32.dll!CoSwitchCallContext+0x436
ole32.dll!CoGetObjectContext+0x335d
RPCRT4.dll!NdrProxySendReceive+0x40
RPCRT4.dll!NdrProxyGetBuffer+0x73
RPCRT4.dll!NdrProxyFreeBuffer+0xe6
RPCRT4.dll!RpcServerUnregisterIf+0x55a
ole32.dll!PropVariantCopy+0x5ef
ole32.dll!PropVariantCopy+0x5a2
ole32.dll!CoSetProxyBlanket+0x39c3
ole32.dll!CoSetProxyBlanket+0x378d
ole32.dll!CoSetProxyBlanket+0x314b
ole32.dll!CoSetProxyBlanket+0x30b8
ole32.dll!CoSetProxyBlanket+0x323d
RPCRT4.dll!IUnknown_Release_Proxy+0x11
sysdtrans.dll!??1?$COMReference@UIDataObject@@@systools@sal@@QAE@XZ+0xc
sysdtrans.dll!??1CAPNDataObject@@UAE@XZ+0x6c
sysdtrans.dll!??_GCAPNDataObject@@UAEPAXI@Z+0xb
sysdtrans.dll!?Release@CAPNDataObject@@UAGKXZ+0x25
sysdtrans.dll!??1?$COMReference@UIDataObject@@@systools@sal@@QAE@XZ+0xc
sysdtrans.dll!??1CDOTransferable@@UAE@XZ+0x5c
sysdtrans.dll!??_ECDOTransferable@@UAEPAXI@Z+0xb
cppuhelper3MSC.dll!?release@OWeakObject@cppu@@UAAXXZ+0x29
svtmi.dll!??1TransferableDataHelper@@QAE@XZ+0x8a
swmi.dll!?IsPasteAllowed@SwView@@QAEEXZ+0xe8
swmi.dll!?StateClpbrd@SwBaseShell@@QAEXAAVSfxItemSet@@@Z+0x73
swmi.dll!?SfxStubSwBaseShellStateClpbrd@@YAXPAVSfxShell@@AAVSfxItemSet@@@Z+0xe
cppuhelper3MSC.dll!?addInterface@OInterfaceContainerHelper@cppu@@QAAJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z+0x67
cppuhelper3MSC.dll!?addInterface@OInterfaceContainerHelper@cppu@@QAAJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z+0x6f
svtmi.dll!?bindListener@ToolboxController@svt@@IAEXXZ+0x2ba
svtmi.dll!?update@ToolboxController@svt@@UAAXXZ+0x5b
fwkmi.dll!?UpdateControllers@ToolBarManager@framework@@IAEXXZ+0x53
fwkmi.dll!?AsyncUpdateControllersHdl@ToolBarManager@framework@@IAEJPAVTimer@@@Z+0x72
fwkmi.dll!?LinkStubAsyncUpdateControllersHdl@ToolBarManager@framework@@KAJPAX0@Z+0xe
vclmi.dll!?Timeout@Timer@@UAEXXZ+0xa
vclmi.dll!?ImplTimerCallbackProc@Timer@@SAXXZ+0x75
vclmi.dll!?SalTimerProc@@YGXPAUHWND__@@IIK@Z+0x6c
vclmi.dll!?SalComWndProc@@YGJPAUHWND__@@IIJAAH@Z+0x135
vclmi.dll!?SalComWndProcW@@YGJPAUHWND__@@IIJ@Z+0x30
USER32.dll!WindowFromDC+0x3b
USER32.dll!WindowFromDC+0x2cb
USER32.dll!WindowFromDC+0x4f0
USER32.dll!DispatchMessageW+0xf
vclmi.dll!?ImplDispatchMessage@@YAJPBUtagMSG@@@Z+0x15
vclmi.dll!?AcquireYieldMutex@WinSalInstance@@UAEXK@Z+0x36
vclmi.dll!?ImplSalYield@@YAXEE@Z+0x47
vclmi.dll!?Yield@WinSalInstance@@UAEX_N0@Z+0x9f
vclmi.dll!?ImplYield@@YAX_N0@Z+0x4c
vclmi.dll!?Yield@Application@@SAX_N@Z+0xd
vclmi.dll!?Execute@Application@@SAXXZ+0x1e
vclmi.dll!?ImplSVMain@@YAEXZ+0x3c
vclmi.dll!?SVMain@@YAEXZ+0x1c
soffice.bin!_main+0x16
soffice.bin!_WinMain@16+0x15
soffice.bin!_NtCurrentTeb+0x192
kernel32.dll!BaseProcessInitPostImport+0x8d

Other Thread:
ntoskrnl.exe!KeInsertQueueApc+0x415
ntoskrnl.exe!KeSetEvent+0x392
ntoskrnl.exe!KeWaitForSingleObject+0x2be
ntoskrnl.exe!KeQueryPriorityThread+0xbc
ntoskrnl.exe!RtlDelete+0x3bb
ntoskrnl.exe!IoFreeIrp+0x17
ntoskrnl.exe!KeWaitForSingleObject+0x2be
ntoskrnl.exe!NtWaitForSingleObject+0xbf
ntoskrnl.exe!ZwUnloadKey+0x20ad
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x684
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x490
ntdll.dll!NtWaitForSingleObject+0x15
ntdll.dll!RtlCheckForOrphanedCriticalSections+0x4d
sal3.dll!_osl_acquireMutex+0x5e
vclmi.dll!?acquire@SalYieldMutex@@UAAXXZ+0xd
svtmi.dll!??0OGuard@vos@@QAE@AAVIMutex@1@@Z+0x17
svtmi.dll!?getTransferDataFlavors@TransferableHelper@@EAA?AV?$Sequence@UDataFlavor@datatransfer@star@sun@com@@@uno@star@sun@com@@XZ+0x23
sysdtrans.dll!?RegisterFormats@CFormatRegistrar@@QAAXABV?$Reference@VXTransferable@datatransfer@star@sun@com@@@uno@star@sun@com@@AAVCFormatEtcContainer@@@Z+0x21
sysdtrans.dll!?InitializeFormatEtcContainer@CXTDataObject@@AAAXXZ+0x1e
sysdtrans.dll!?EnumFormatEtc@CXTDataObject@@UAGJKPAPAUIEnumFORMATETC@@@Z+0x2c
sysdtrans.dll!?EnumFormatEtc@CXNotifyingDataObject@@UAGJKPAPAUIEnumFORMATETC@@@Z+0x1a
ole32.dll!OleSetClipboard+0x186
ole32.dll!OleSetClipboard+0x5b
sysdtrans.dll!?mtaOleReqWndProc@CMtaOleClipboard@@CGJPAUHWND__@@IIJ@Z+0x3d
USER32.dll!WindowFromDC+0x3b
USER32.dll!WindowFromDC+0x2cb
USER32.dll!WindowFromDC+0x4f0
USER32.dll!DispatchMessageA+0xf
sysdtrans.dll!?run@CMtaOleClipboard@@AAEIXZ+0x47
sysdtrans.dll!?oleThreadProc@CMtaOleClipboard@@CGIPAX@Z+0xb
kernel32.dll!FlsSetValue+0x13c
Comment 1 carsten.driesner 2010-07-02 14:35:41 UTC
cd: This is clearly a big problem as the Windows-2003 buildbot cannot work
correctly. Therefore I set this issue to OOo 3.3.
Comment 2 Stephan Bergmann 2010-07-07 07:28:23 UTC
Issue 112986 works around this problem for now (by shifting relevant work to the
OOo main thread in smoketestoo_native/smoketest.cxx).  Please revert the changes
made for that issue (see there for details) when fixing this issue.
Comment 3 carsten.driesner 2010-08-18 16:59:37 UTC
cd: This is a very complex problem in OOo. The Windows clipboard with its own
Single Thread Apartment and OOo using the "global" solar mutex. From my point of
view there is no good chance to fix this with minor changes. This is more a
design problem and need code redesign. Something which is better be done for OOo
3.4.
Comment 4 oooforum (fr) 2019-08-02 12:17:13 UTC
.