所有
我们有一个使用Crystal Reports 13.0.9的C#Winform应用程序。在生产中,我们的应用程序是间歇性挂起的。崩溃转储分析似乎表明带有Crystal Reports的某些内容导致阻塞的线程(即死锁)。下面列出了两个不同工作站的崩溃转储分析结果和一台受影响机器的诊断信息。
发生错误时,用户只是试图查看报告。该数据库是SQL Server 2012 Express,但报告不从数据库中提取数据。而是通过DataSet将数据推送到报告。 Crystal Runtime物理安装在计算机上(即它们不使用报表服务器)。不幸的是,我们的质量保证和开发团队无法在各自的环境中重现此问题。我们有数百名用户使用这个应用程序和Crystal版本,这似乎是唯一一个孤立的情况,应用程序挂在Crystal DLL上。
我是.NET的新手,并不太清楚如何解释和/或进一步分析转储分析中的信息以进行故障排除。有人可以帮帮我们吗?另外,我为将转储分析和诊断信息放在代码块中而道歉,但这是我可以无错误地发布信息的唯一方法。
Detected a serious critical section related problem in PureService_MINI.dmp
Lock at crpe32+76f158 is Uninitialized
Impact analysis
10.00% of threads blocked
(Threads 9)
The following functions are involved in the root cause
crpe32+13e84
The following modules are involved in the root cause
C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\crpe32.dll
The following vendors were identified for follow up based on root cause analysis
Unknown vendor for module C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\crpe32.dll
Please follow up with the vendors identified above
Report for PureService_MINI.dmp
Type of Analysis Performed Hang Analysis
Machine Name ADMIN-LSM
Operating System Unexpected
Number Of Processors 4
Process ID 3880
Process Image C:\Scribble\MarinaOffice.NET\PureService.exe
System Up-Time 00:00:00
Process Up-Time 01:03:31
Top 5 Threads by CPU time
Note - Times include both user mode and kernel mode for each thread Thread ID: 0 Total CPU Time:
00:00:31.296 Entry Point for Thread: 0x00000000
Thread ID: 2 Total CPU Time: 00:00:00.077 Entry Point for Thread: 0x00000000
Thread ID: 7 Total CPU Time: 00:00:00.015 Entry Point for Thread: 0x00000000
Thread ID: 5 Total CPU Time: 00:00:00.015 Entry Point for Thread: 0x00000000
Thread ID: 4 Total CPU Time: 00:00:00.015 Entry Point for Thread: 0x00000000
NET Analysis Report
CLR Information
.NET Threads Summary
CLR Information
CLR version = 4.0.30319.34014
CLR Debugger Extension = C:\Program Files\DebugDiag\x86Support\Exts\psscor4.dll
.NET Threads Summary
Failed to request ThreadStore
Locked critical section report
Critical Section crpe32+76f158
Lock State Uninitialized
Lock Count 1
Recursion Count 1
Entry Count 0
Contention Count 0
Spin Count 33556432
Owner Thread System ID 7988 (not present in dump)
Thread report
Thread 0 - System ID 7988
Entry point 0x00000000
Create time 10/8/2014 2:33:00 PM
Time spent in user mode 0 Days 00:00:24.687
Time spent in kernel mode 0 Days 00:00:06.609
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
.NET Call Stack
Function
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
Full Call Stack
Function Source
ntdll!NtWaitForSingleObject+c
KERNELBASE!WaitForSingleObjectEx+99
KERNELBASE!WaitForSingleObject+12
dtsagent+3376d
sacommlayer+965c
clientdoc+31995
clientdoc+10961
clientdoc+10b14
clientdoc+27b07
clr!JIT_MonExitWorker+a
0x03eb1310
0x09146f40
0x114496b4
0x114bf320
Back to Top
Thread 1 - System ID 4672
Entry point 0x00000000
Create time 10/8/2014 2:33:00 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
Function Source
ntdll!NtWaitForMultipleObjects+c
KERNELBASE!WaitForMultipleObjectsEx+dc
clr!DebuggerRCThread::MainLoop+98
clr!DebuggerRCThread::ThreadProc+cb
clr!DebuggerRCThread::ThreadProcStatic+b9
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 2 - System ID 7832
Entry point 0x00000000
Create time 10/8/2014 2:33:00 PM
Time spent in user mode 0 Days 00:00:00.062
Time spent in kernel mode 0 Days 00:00:00.015
.NET Call Stack
Function
Full Call Stack
Function Source
ntdll!NtWaitForMultipleObjects+c
KERNELBASE!WaitForMultipleObjectsEx+dc
clr!WKS::WaitForFinalizerEvent+be
clr!WKS::GCHeap::FinalizerThreadWorker+6e
clr!ManagedThreadBase_DispatchInner+67
clr!ManagedThreadBase_DispatchMiddle+82
clr!ManagedThreadBase_DispatchOuter+5b
clr!WKS::GCHeap::FinalizerThreadStart+198
clr!Thread::intermediateThreadProc+4d
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 3 - System ID 4668
Entry point 0x00000000
Create time 10/8/2014 2:33:01 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
.NET Call Stack
Function
Full Call Stack
Function Source
ntdll!NtDelayExecution+c
KERNELBASE!SleepEx+8a
clr!ThreadpoolMgr::TimerThreadFire+3e
clr!ThreadpoolMgr::TimerThreadStart+6b
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 4 - System ID 4020
Entry point 0x00000000
Create time 10/8/2014 2:33:01 PM
Time spent in user mode 0 Days 00:00:00.015
Time spent in kernel mode 0 Days 00:00:00.00
Function Source
ntdll!NtRemoveIoCompletion+c
KERNELBASE!GetQueuedCompletionStatus+44
System_Data!SNIAsyncWait+71
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 5 - System ID 7308
Entry point 0x00000000
Create time 10/8/2014 2:33:01 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.015
Function Source
ntdll!NtWaitForMultipleObjects+c
KERNELBASE!WaitForMultipleObjectsEx+dc
user32!MsgWaitForMultipleObjectsEx+159
user32!MsgWaitForMultipleObjects+1f
GdiPlus!BackgroundThreadProc+4b
GdiPlus!DllRefCountSafeThreadThunk+10
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 6 - System ID 1988
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
Function Source
user32!NtUserGetMessage+c
user32!GetMessageW+2a
mfc80u!AfxInternalPumpMessage+18 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 153 + f
mfc80u!CWinThread::Run+54 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 625 + 7
mfc80u!_AfxThreadEntry+10c f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 126
msvcr80+29bb
msvcr80+2a47
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 7 - System ID 7596
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.015
Time spent in kernel mode 0 Days 00:00:00.00
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
Function Source
user32!NtUserGetMessage+c
user32!GetMessageW+2a
mfc80u!AfxInternalPumpMessage+18 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 153 + f
mfc80u!CWinThread::Run+54 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 625 + 7
mfc80u!_AfxThreadEntry+10c f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 126
msvcr80+29bb
msvcr80+2a47
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 8 - System ID 2880
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
Function Source
user32!NtUserGetMessage+c
user32!GetMessageW+2a
mfc80u!AfxInternalPumpMessage+18 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 153 + f
mfc80u!CWinThread::Run+54 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 625 + 7
mfc80u!_AfxThreadEntry+10c f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 126
msvcr80+29bb
msvcr80+2a47
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 9 - System ID 8072
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
Function Source
ntdll!NtWaitForSingleObject+c
ntdll!RtlpWaitOnCriticalSection+d0
ntdll!RtlpEnterCriticalSectionContended+a0
ntdll!RtlEnterCriticalSection+42
crpe32+13e84
crpe32+13ec5
Crash Dump Analysis (Workstation 2)
-----------------------------------
WARNING - DebugDiag was unable to locate debug symbols for crpe32.dll, so the information below may be incomplete.
Detected possible blocking or leaked critical section at crpe32!MWCleanupProcess+3b3998 owned by thread 0 in PureService.dmp
Impact of this lock
9.09% of threads blocked
(Threads 9)
The following functions are trying to enter this critical section
crpe32!Ordinal995+13e84
The following module(s) are involved with this critical section
C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\crpe32.dll from SAP BusinessObjects
The following vendors were identified for follow up based on root cause analysis
SAP BusinessObjects
Please follow up with the vendors identified above
Report for PureService.dmp
Type of Analysis Performed Hang Analysis
Machine Name ADMIN-LSM
Operating System Unexpected
Number Of Processors 4
Process ID 3880
Process Image C:\Scribble\MarinaOffice.NET\PureService.exe
System Up-Time 1 day(s) 04:57:28
Process Up-Time 01:03:06
Top 5 Threads by CPU time
Note - Times include both user mode and kernel mode for each thread Thread ID: 0 Total CPU Time: 00:00:31.296 Entry Point for Thread: 0x00000000
Thread ID: 2 Total CPU Time: 00:00:00.077 Entry Point for Thread: 0x00000000
Thread ID: 7 Total CPU Time: 00:00:00.015 Entry Point for Thread: 0x00000000
Thread ID: 5 Total CPU Time: 00:00:00.015 Entry Point for Thread: 0x00000000
Thread ID: 4 Total CPU Time: 00:00:00.015 Entry Point for Thread: 0x00000000
.NET Analysis Report
CLR Information
.NET Threads Summary
CLR Information
CLR version = 4.0.30319.34014
CLR Debugger Extension = C:\Program Files\DebugDiag\x86Support\Exts\psscor4.dll
.NET Threads Summary
Failed to request ThreadStore
Locked critical section report
Critical Section crpe32!MWCleanupProcess+3b3998
Lock State Locked
Lock Count 1
Recursion Count 1
Entry Count 0
Contention Count 1
Spin Count 33556432
Owner Thread 0
Owner Thread System ID 7988
Thread report
Thread 0 - System ID 7988
Entry point 0x00000000
Create time 10/8/2014 2:33:00 PM
Time spent in user mode 0 Days 00:00:24.687
Time spent in kernel mode 0 Days 00:00:06.609
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
.NET Call Stack
Function
CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(System.Object ByRef, Int32)
CrystalDecisions.CrystalReports.Engine.CRPE.PEOpenEngineEx(CrystalDecisions.CrystalReports.Engine.PEEngineOptions ByRef)
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG ByRef)
Full Call Stack
Function Source
ntdll!NtWaitForSingleObject+c
KERNELBASE!WaitForSingleObjectEx+99
KERNELBASE!WaitForSingleObject+12
dtsagent+3376d
sacommlayer!DllGetClassObject+16dc
clientdoc!DllGetClassObject+2b26b
clientdoc!DllGetClassObject+a237
clientdoc!DllGetClassObject+a3ea
clientdoc!DllGetClassObject+213dd
clr!JIT_MonExitWorker+a
0x03eb1310
0x09146f40
0x114496b4
0x114bf320
Back to Top
Thread 1 - System ID 4672
Entry point 0x00000000
Create time 10/8/2014 2:33:00 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
Function Source
ntdll!NtWaitForMultipleObjects+c
KERNELBASE!WaitForMultipleObjectsEx+dc
clr!DebuggerRCThread::MainLoop+98
clr!DebuggerRCThread::ThreadProc+cb
clr!DebuggerRCThread::ThreadProcStatic+b9
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 2 - System ID 7832
Entry point 0x00000000
Create time 10/8/2014 2:33:00 PM
Time spent in user mode 0 Days 00:00:00.062
Time spent in kernel mode 0 Days 00:00:00.015
.NET Call Stack
Function
Full Call Stack
Function Source
ntdll!NtWaitForMultipleObjects+c
KERNELBASE!WaitForMultipleObjectsEx+dc
clr!WKS::WaitForFinalizerEvent+be
clr!WKS::GCHeap::FinalizerThreadWorker+6e
clr!ManagedThreadBase_DispatchInner+67
clr!ManagedThreadBase_DispatchMiddle+82
clr!ManagedThreadBase_DispatchOuter+5b
clr!WKS::GCHeap::FinalizerThreadStart+198
clr!Thread::intermediateThreadProc+4d
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 3 - System ID 4668
Entry point 0x00000000
Create time 10/8/2014 2:33:01 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
.NET Call Stack
Function
Full Call Stack
Function Source
ntdll!NtDelayExecution+c
KERNELBASE!SleepEx+8a
clr!ThreadpoolMgr::TimerThreadFire+3e
clr!ThreadpoolMgr::TimerThreadStart+6b
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 4 - System ID 4020
Entry point 0x00000000
Create time 10/8/2014 2:33:01 PM
Time spent in user mode 0 Days 00:00:00.015
Time spent in kernel mode 0 Days 00:00:00.00
Function Source
ntdll!NtRemoveIoCompletion+c
KERNELBASE!GetQueuedCompletionStatus+44
System_Data!SNIAsyncWait+71
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 5 - System ID 7308
Entry point 0x00000000
Create time 10/8/2014 2:33:01 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.015
Function Source
ntdll!NtWaitForMultipleObjects+c
KERNELBASE!WaitForMultipleObjectsEx+dc
user32!MsgWaitForMultipleObjectsEx+159
user32!MsgWaitForMultipleObjects+1f
GdiPlus!BackgroundThreadProc+4b
GdiPlus!DllRefCountSafeThreadThunk+10
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 6 - System ID 1988
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
Function Source
user32!NtUserGetMessage+c
user32!GetMessageW+2a
mfc80u!AfxInternalPumpMessage+18 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 153 + f
mfc80u!CWinThread::Run+54 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 625 + 7
mfc80u!_AfxThreadEntry+10c f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 126
msvcr80!_callthreadstartex+1b f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 348 + 6
msvcr80!_threadstartex+66 f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 326 + 5
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 7 - System ID 7596
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.015
Time spent in kernel mode 0 Days 00:00:00.00
Function Source
user32!NtUserGetMessage+c
user32!GetMessageW+2a
mfc80u!AfxInternalPumpMessage+18 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 153 + f
mfc80u!CWinThread::Run+54 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 625 + 7
mfc80u!_AfxThreadEntry+10c f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 126
msvcr80!_callthreadstartex+1b f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 348 + 6
msvcr80!_threadstartex+66 f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 326 + 5
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 8 - System ID 2880
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
Function Source
user32!NtUserGetMessage+c
user32!GetMessageW+2a
mfc80u!AfxInternalPumpMessage+18 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 153 + f
mfc80u!CWinThread::Run+54 f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 625 + 7
mfc80u!_AfxThreadEntry+10c f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\thrdcore.cpp @ 126
msvcr80!_callthreadstartex+1b f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 348 + 6
msvcr80!_threadstartex+66 f:\dd\vctools\crt_bld\self_x86\crt\src\threadex.c @ 326 + 5
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
Back to Top
Thread 9 - System ID 8072
Entry point 0x00000000
Create time 10/8/2014 3:28:20 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
This thread is not fully resolved and may or may not be a problem. Further analysis of these threads may be required.
Function Source
ntdll!NtWaitForSingleObject+c
ntdll!RtlpWaitOnCriticalSection+d0
ntdll!RtlpEnterCriticalSectionContended+a0
ntdll!RtlEnterCriticalSection+42
crpe32!Ordinal995+13e84
crpe32!Ordinal995+13ec5
Back to Top
Thread 10 - System ID 4756
Entry point 0x00000000
Create time 10/8/2014 3:36:03 PM
Time spent in user mode 0 Days 00:00:00.00
Time spent in kernel mode 0 Days 00:00:00.00
.NET Call Stack
Function
Full Call Stack
Function Source
ntdll!NtWaitForSingleObject+c
KERNELBASE!WaitForSingleObjectEx+99
clr!CLRSemaphore::Wait+bf
clr!ThreadpoolMgr::UnfairSemaphore::Wait+12f
clr!ThreadpoolMgr::WorkerThreadStart+309
clr!Thread::intermediateThreadProc+4d
kernel32!BaseThreadInitThunk+e
ntdll!__RtlUserThreadStart+20
ntdll!_RtlUserThreadStart+1b
System Diagnostic Information
-----------------------------
[System Summary]
Item Value
OS Name Microsoft Windows 7 Professional x64
OS Version 6.1 Service Pack 1 (Build 7601)
System Name RENTAL
System Model OptiPlex 760
System Manufacturer Dell Inc.
Processor Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
BIOS Version DELL - 15
IP 192.168.234.4
Windows Directory C:\Windows
System Directory C:\Windows\system32
Locale United States
User Name Rentals
Time Zone Central Standard Time
Total Physical Memory 3933 MB
Available Physical Memory 1100 MB
Serial number H2RN5J1
MAC address 00-23-AE-8D-BD-AD