.net应用程序在并行顺序操作时崩溃-这怎么可能?

.net应用程序在并行顺序操作时崩溃-这怎么可能?,.net,.net-4.0,windbg,task-parallel-library,.net,.net 4.0,Windbg,Task Parallel Library,各位 我在IEnumerable中遍历4k对象,并调用一个方法来处理每个对象。当我按顺序迭代时,没有问题。当我使用Parallel.ForEach时,程序崩溃(windows显示“程序已停止工作”…)。当我连接WinDBG并运行时!分析-v,我得到以下结果: ******************************************************************************* *

各位

我在IEnumerable中遍历4k对象,并调用一个方法来处理每个对象。当我按顺序迭代时,没有问题。当我使用Parallel.ForEach时,程序崩溃(windows显示“程序已停止工作”…)。当我连接WinDBG并运行时!分析-v,我得到以下结果:

*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

GetPageUrlData failed, server returned HTTP status 404
URL requested: http://watson.microsoft.com/StageOne/DataUpdater_exe/1_1_1279_0/4d1e6b7d/ntdll_dll/6_1_7600_16559/4ba9b802/80000003/0004ef90.htm?Retriage=1

FAULTING_IP: 
+10ebb260
ffffffff`ffffffff ??              ???

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 000000007745ef90 (ntdll!DbgBreakPoint)
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 0000000000000000

FAULTING_THREAD:  00000000000004e0

PROCESS_NAME:  DataUpdater.exe

OVERLAPPED_MODULE: Address regions for 'System_Data_ni' and 'certcli.dll' overlap

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid

EXCEPTION_PARAMETER1:  0000000000000000

MOD_LIST: <ANALYSIS/>

NTGLOBALFLAG:  0

APPLICATION_VERIFIER_FLAGS:  0

MANAGED_STACK: !dumpstack -EE
OS Thread Id: 0x4e0 (17)
Current frame: 
Child-SP         RetAddr          Caller, Callee

ADDITIONAL_DEBUG_TEXT:  Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]

LAST_CONTROL_TRANSFER:  from 0000000077508778 to 000000007745ef90

BUGCHECK_STR:  APPLICATION_FAULT_STACKIMMUNE_WRONG_SYMBOLS_FILL_PATTERN_ffffffff

PRIMARY_PROBLEM_CLASS:  STACKIMMUNE_FILL_PATTERN_ffffffff

DEFAULT_BUCKET_ID:  STACKIMMUNE_FILL_PATTERN_ffffffff

STACK_TEXT:  
00000000`00000000 00000000`00000000 dataupdater.exe+0x0


STACK_COMMAND:  .cxr 000000003F5B0000 ; kb ; ** Pseudo Context ** ; kb

SYMBOL_NAME:  dataupdater.exe

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: dataupdater

DEBUG_FLR_IMAGE_TIMESTAMP:  4d1e6b7d

BUCKET_ID:  X64_APPLICATION_FAULT_STACKIMMUNE_WRONG_SYMBOLS_FILL_PATTERN_ffffffff_dataupdater.exe

IMAGE_NAME:  C:\Users\WarGames\Documents\Applications\DataUpdater\DataUpdater.exe

FAILURE_BUCKET_ID:  STACKIMMUNE_FILL_PATTERN_ffffffff_80000003_C:_Users_WarGames_Documents_Applications_DataUpdater_DataUpdater.exe!Unknown

FOLLOWUP_IP: 
DataUpdater!get_xmlUpdater+0 [C:\TeamCity\buildAgent\work\57279efa3d42f599\trunk\Apps\DataUpdater\DataUpdater\ConfigHolder.vb @ 19]
00000000`00110000 4d5a            pop     r10

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/DataUpdater_exe/1_1_1279_0/4d1e6b7d/ntdll_dll/6_1_7600_16559/4ba9b802/80000003/0004ef90.htm?Retriage=1

Followup: MachineOwner
---------
还有!线程

ThreadCount:      11
UnstartedThread:  0
BackgroundThread: 8
PendingThread:    0
DeadThread:       2
Hosted Runtime:   no
                                           PreEmptive                                                   Lock
       ID  OSID        ThreadOBJ     State GC       GC Alloc Context                  Domain           Count APT Exception
   0    1   be4 0000000000724c30      6020 Enabled  0000000000000000:0000000000000000 00000000007184f0     0 STA
   2    2   44c 000000000072af70      b220 Enabled  0000000000000000:0000000000000000 00000000007184f0     0 MTA (Finalizer)
   7    4   b54 000000001c428170   a009220 Enabled  0000000000000000:0000000000000000 00000000007184f0     0 MTA (Threadpool Completion Port)
   8    9   69c 000000001bfc0c40   1009220 Enabled  0000000181327080:0000000181327098 00000000007184f0     0 MTA (Threadpool Worker) System.AccessViolationException (00000001812ca038)
   9    5   904 000000001bfc1350   100a220 Enabled  0000000000000000:0000000000000000 00000000007184f0     0 MTA (Threadpool Worker)
  13    b   278 000000001c4a9d70   1009220 Enabled  00000001814973c0:0000000181499098 00000000007184f0     0 MTA (Threadpool Worker)
  14    a   afc 000000001c4a8f50   1009220 Enabled  0000000000000000:0000000000000000 00000000007184f0     0 MTA (Threadpool Worker)
  15    7   2bc 000000001c4ab2a0   1009220 Enabled  00000001814e0da0:00000001814e1098 00000000007184f0     0 MTA (Threadpool Worker)
XXXX    c       000000001c4ab9b0   1019820 Enabled  0000000000000000:0000000000000000 00000000007184f0     0 MTA (Threadpool Worker)
XXXX    6       000000001c4aa480   1019820 Enabled  0000000000000000:0000000000000000 00000000007184f0     0 MTA (Threadpool Worker)
  16    8   8bc 000000001c452f50   1009220 Disabled 00000001817c3de8:00000001817c45c0 00000000007184f0     1 MTA (Threadpool Worker)
这怎么可能?我跟踪了每一行代码,没有对非托管代码的调用。这是否与中显示的AccessViolation有关!线程命令?我应该如何进行?我完全迷路了

编辑 根据布莱恩的建议,我生了!体育课clrstack。以下是输出:

0:019> !pe 0000000102b74288
Exception object: 0000000102b74288
Exception type:   System.AccessViolationException
Message:          Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
InnerException:   <none>
StackTrace (generated):
    SP               IP               Function
    000000001E86C300 000007FEF163703B System_Core_ni!System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib],[System.Decimal, mscorlib]].MoveNext()+0x27c2eb
    000000001E86C360 000007FEF11D1661 System_Core_ni!System.Linq.Enumerable.Average(System.Collections.Generic.IEnumerable`1<System.Decimal>)+0x161
    000000001E86C470 000007FF00402F74 MyEngine!MyCompany.Libs.MyEngine.EndOfDayMessages.EndOfDayMessageBuilder.AddPortfolio(System.DateTime, System.DateTime, System.Collections.Generic.IEnumerable`1<MyCompany.Libs.MyEngine.Position>, MyCompany.Utility.WebHelpers.Proxy.LiveDataServicesClient)+0x10c4
    000000001E86C920 000007FF003F8C91 MyEngine!MyCompany.Libs.MyEngine.Simulation.MySimulation.RunSimulation()+0x3e1
    000000001E86C9E0 000007FF003F8815 MyEngine!MyCompany.Libs.MyEngine.Simulation.MySimulation.Run(System.DateTime)+0xc5
    000000001E86CA30 000007FF003F1D81 MyUpdater!MyCompany.MyUpdater.Modeling.Retrainer.SimulateTradingStrategy(MyCompany.ModelEngine.TradingStrategy, MyCompany.MyUpdater.Modeling.TradingStrategyParallelSimulationParams)+0x281
    000000001E86CB30 000007FEF2EB197E mscorlib_ni!System.Threading.Tasks.Parallel+<>c__DisplayClassf`1[[System.__Canon, mscorlib]].<ForWorker>b__c()+0x3ce
    000000001E86CC50 000007FEF2CDECB9 mscorlib_ni!System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)+0x19
    000000001E86CC80 000007FEF2CE82E7 mscorlib_ni!System.Threading.Tasks.Task+<>c__DisplayClass7.<ExecuteSelfReplicating>b__6(System.Object)+0x197
    000000001E86CD60 000007FEF2CDD6A7 mscorlib_ni!System.Threading.Tasks.Task.Execute()+0x57
    000000001E86CDC0 000007FEF25B3179 mscorlib_ni!System.Threading.ExecutionContext.runTryCode(System.Object)+0x179
    000000001E86D610 0000000000000001 mscorlib_ni!System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)+0x2
    000000001E86D610 000007FEF25A17E2 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xa2
    000000001E86D670 000007FEF2CDD976 mscorlib_ni!System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)+0x1b6
    000000001E86D6F0 000007FEF2CDEF31 mscorlib_ni!System.Threading.Tasks.Task.ExecuteEntry(Boolean)+0xb1
    000000001E86D730 000007FEF2CF71E4 mscorlib_ni!System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)+0xa4
    000000001E86D780 000007FEF2CE1DFB mscorlib_ni!System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean, System.Object)+0xbb
    000000001E86D800 000007FEF2CE0BE8 mscorlib_ni!System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler)+0xe8
    000000001E86D870 000007FEF2CF2F99 mscorlib_ni!System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>)+0x729
    000000001E86DA50 000007FEF2CF15FD mscorlib_ni!System.Threading.Tasks.Parallel.ForEachWorker[[System.__Canon, mscorlib],[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Threading.Tasks.ParallelOptions, System.Action`1<System.__Canon>, System.Action`2<System.__Canon,System.Threading.Tasks.ParallelLoopState>, System.Action`3<System.__Canon,System.Threading.Tasks.ParallelLoopState,Int64>, System.Func`4<System.__Canon,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`5<System.__Canon,System.Threading.Tasks.ParallelLoopState,Int64,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>)+0x20d
    000000001E86DAF0 000007FEF2CF1D82 mscorlib_ni!System.Threading.Tasks.Parallel.ForEach[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Threading.Tasks.ParallelOptions, System.Action`1<System.__Canon>)+0xb2
    000000001E86DB80 000007FF0016FF1B MyUpdater!MyCompany.MyUpdater.Modeling.Retrainer.SimulateTradesAndCreateJournal(Int32, System.String, MyCompany.Utility.WebHelpers.Proxy.LiveDataServicesClient, System.String)+0x7db
    000000001E86DCD0 000007FF0016C8D7 MyUpdater!MyCompany.MyUpdater.Modeling.Retrainer.TradingSimulation(Int32, Boolean, Boolean)+0x1d7
    000000001E86DD80 000007FF0016C463 MyUpdater!MyCompany.MyUpdater.Form1.TradingSimulation(Int32, Boolean, Boolean)+0x33
    000000001E86E650 0000000000000001 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr, System.Object[], System.Object, Int32, Boolean, System.Object[] ByRef)+0x2
    000000001E86E650 000007FEF2E34643 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(System.RuntimeMethodHandle, System.Object[], System.Object, Int32, Boolean, System.Object[] ByRef)+0x93
    000000001E86E6C0 000007FEF2E34D86 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessageSink)+0x2f6
    000000001E86E7B0 000007FEF25B3179 mscorlib_ni!System.Threading.ExecutionContext.runTryCode(System.Object)+0x179
    000000001E86F000 0000000000000001 mscorlib_ni!System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)+0x2
    000000001E86F000 000007FEF25A17E2 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xa2
    000000001E86F060 000007FEF25EC41A mscorlib_ni!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()+0x6a
    000000001E86F0B0 000007FEF25EBA84 mscorlib_ni!System.Threading.ThreadPoolWorkQueue.Dispatch()+0x194
    000000001E86F150 000007FEF25EB8D6 mscorlib_ni!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()+0x36

StackTraceString: <none>
HResult: 80004003
The current thread is unmanaged
0:019> ~8e!clrstack
OS Thread Id: 0x888 (8)
Child SP         IP               Call Site
000000001dfdf058 0000000077ae030a [HelperMethodFrame_1OBJ: 000000001dfdf058] System.Threading.WaitHandle.WaitMultiple(System.Threading.WaitHandle[], Int32, Boolean, Boolean)
000000001dfdf1a0 000007fef2cba946 System.Threading.WaitHandle.WaitAny(System.Threading.WaitHandle[], Int32, Boolean)
000000001dfdf200 000007feedaf7bb3 System.Runtime.IOThreadTimer+TimerManager.OnWaitCallback(System.Object)
000000001dfdf260 000007feedafdb81 System.Runtime.IOThreadScheduler+ScheduledOverlapped.IOCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
000000001dfdf2c0 000007feedaf9c80 System.Runtime.Fx+IOCompletionThunk.UnhandledExceptionFrame(UInt32, UInt32, System.Threading.NativeOverlapped*)
000000001dfdf320 000007fef2cc88e6 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
000000001dfdf5c0 000007fef34f10b4 [GCFrame: 000000001dfdf5c0] 
000000001dfdf790 000007fef34f10b4 [DebuggerU2MCatchHandlerFrame: 000000001dfdf790] 
0:019> ~8e!kb
No export kb found
0:019>!pe 0000000 102B74288
异常对象:0000000 102B74288
异常类型:System.AccessViolationException
消息:试图读取或写入受保护内存。这通常表示其他内存已损坏。
内部异常:
StackTrace(已生成):
SP IP功能
00000000 1E86C300 00000 7FEF163703B系统\u核心\u ni!System.Linq.Enumerable+其中选择EnumerableInterator`2[[System.\u Canon,mscorlib],[System.Decimal,mscorlib]].MoveNext()+0x27c2eb
00000000 1E86C360 000007 FEF11D1661系统核心!System.Linq.Enumerable.Average(System.Collections.Generic.IEnumerable`1)+0x161
00000000 1E86C470 000007 FF00402f74 MyEngine!MyCompany.Libs.MyEngine.EndOfDayMessages.EndOfDayMessageBuilder.AddPortfolio(System.DateTime,System.DateTime,System.Collections.Generic.IEnumerable`1,MyCompany.Utility.WebHelpers.Proxy.LiveDataServicesClient)+0x10c4
00000000 1E86C920 00000 7FF003F8C91 MyEngine!MyCompany.Libs.MyEngine.Simulation.MySimulation.RunSimulation()+0x3e1
00000000 1E86C9E0 00000 7FF003F8815 MyEngine!MyCompany.Libs.MyEngine.Simulation.MySimulation.Run(System.DateTime)+0xc5
00000000 1E86CA30 00000 7FF003F1D81 MyUpdater!MyCompany.MyUpdater.Modeling.Retainer.SimulateTradingStrategy(MyCompany.ModelEngine.TradingStrategy,MyCompany.MyUpdater.Modeling.TradingStrategyParallelSimulationParams)+0x281
00000000 1E86CB30 000007 FEF2EB197E mscorlib_ni!System.Threading.Tasks.Parallel+c_uuuDisplayClassF`1[[System.uuu Canon,mscorlib]].b_uuuC()+0x3ce
00000000 1E86CC50 000007 FEF2CDECB9 mscorlib_ni!System.Threading.Tasks.Task.InnerInvokeWitchArg(System.Threading.Tasks.Task)+0x19
00000000 1E86CC80 00000 7FEF2CE82E7 mscorlib\u ni!System.Threading.Tasks.Task+c__显示Class7.b__6(System.Object)+0x197
00000000 1e86cd60 00000 7fef2cd6a7 mscorlib_ni!System.Threading.Tasks.Task.Execute()+0x57
00000000 1E86CDC0000007 FEF25B3179 mscorlib_ni!System.Threading.ExecutionContext.runTryCode(System.Object)+0x179
00000000 1E86D610 000000000000000 1 mscorlib_ni!System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuarantedCleanup(TryCode,CleanupCode,System.Object)+0x2
00000000 1E86D610 000007 FEF25A17E2 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,System.Threading.ContextCallback,System.Object,Boolean)+0xa2
00000000 1E86D670 000007 FEF2CDD976 mscorlib_ni!System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)+0x1b6
00000000 1E86D6F000000 7FEF2CDEF31 mscorlib_ni!System.Threading.Tasks.Task.ExecuteEntry(布尔)+0xb1
00000000 1E86D730000007 FEF2CF71E4 mscorlib_ni!System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,布尔值)+0xa4
00000000 1E86D780 000007 FEF2CE1DFB mscorlib\u ni!System.Threading.Tasks.TaskScheduler.TryRunLine(System.Threading.Tasks.Task,布尔值,System.Object)+0xbb
00000000 1E86D800 000007 FEF2CE0BE8 mscorlib_ni!System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler)+0xe8
00000000 1E86D870000007 FEF2CF2F99 mscorlib_ni!System.Threading.Tasks.Parallel.ForWorker[[System.\uu Canon,mscorlib]](Int32,Int32,System.Threading.Tasks.ParallelOptions,System.Action`1,System.Action`2,System.Func`4,System.Func`1,System.Action`1)+0x729
00000000 1E86DA50 000007 FEF2CF15FD mscorlib_ni!System.Threading.Tasks.Parallel.ForEachWorker[[System.\uu Canon,mscorlib],[System.\uuu Canon,mscorlib]](System.Collections.Generic.IEnumerable`1,System.Threading.Tasks.ParallelOptions,System.Action`1,System.Action`2,System.Action`3,System.Func`4,System.Func`5,System.Func`1,System.Action`1)+0x20d
00000000 1E86DAF0000007 FEF2CF1D82 mscorlib_ni!System.Threading.Tasks.Parallel.ForEach[[System.Collections.Generic.IEnumerable`1,System.Threading.Tasks.ParallelOptions,System.Action`1)+0xb2
00000000 1E86DB80 00000 7FF0016FF1B MyUpdater!MyCompany.MyUpdater.Modeling.Retainer.SimulateRadesandCreateJournal(Int32,System.String,MyCompany.Utility.WebHelpers.Proxy.LiveDataServicesClient,System.String)+0x7db
00000000 1E86DCD0000007FF0016C8D7 MyUpdater!MyCompany.MyUpdater.Modeling.Retainer.TradingSimulation(Int32,布尔,布尔)+0x1d7
00000000 1E86DD80 00000 7FF0016C463 MyUpdater!MyCompany.MyUpdater.Form1.TradingSimulation(Int32,布尔,布尔)+0x33
00000000 1E86E65000000000000000 1 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderLink.\u PrivateProcessMessage(IntPtr,System.Object[],System.Object,Int32,Boolean,System.Object[]ByRef)+0x2
00000000 1E86E650000007 FEF2E34643 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(System.RuntimeMethodHandle,System.Object[],System.Object,Int32,Boolean,System.Object[]ByRef)+0x93
00000000 1E86E6C0000007 FEF2E34D86 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage,System.Runtime.Remoting.Messaging.IMessageSink)+0x2f6
00000000 1E86E7B0000007 FEF25B3179 mscorlib_ni!System.Threading.ExecutionContext.runTryCode(System.Object)+0x179
00000000 1E86F000 00000000000000 1 mscorlib_ni!System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(尝试
0:019> !pe 0000000102b74288
Exception object: 0000000102b74288
Exception type:   System.AccessViolationException
Message:          Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
InnerException:   <none>
StackTrace (generated):
    SP               IP               Function
    000000001E86C300 000007FEF163703B System_Core_ni!System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib],[System.Decimal, mscorlib]].MoveNext()+0x27c2eb
    000000001E86C360 000007FEF11D1661 System_Core_ni!System.Linq.Enumerable.Average(System.Collections.Generic.IEnumerable`1<System.Decimal>)+0x161
    000000001E86C470 000007FF00402F74 MyEngine!MyCompany.Libs.MyEngine.EndOfDayMessages.EndOfDayMessageBuilder.AddPortfolio(System.DateTime, System.DateTime, System.Collections.Generic.IEnumerable`1<MyCompany.Libs.MyEngine.Position>, MyCompany.Utility.WebHelpers.Proxy.LiveDataServicesClient)+0x10c4
    000000001E86C920 000007FF003F8C91 MyEngine!MyCompany.Libs.MyEngine.Simulation.MySimulation.RunSimulation()+0x3e1
    000000001E86C9E0 000007FF003F8815 MyEngine!MyCompany.Libs.MyEngine.Simulation.MySimulation.Run(System.DateTime)+0xc5
    000000001E86CA30 000007FF003F1D81 MyUpdater!MyCompany.MyUpdater.Modeling.Retrainer.SimulateTradingStrategy(MyCompany.ModelEngine.TradingStrategy, MyCompany.MyUpdater.Modeling.TradingStrategyParallelSimulationParams)+0x281
    000000001E86CB30 000007FEF2EB197E mscorlib_ni!System.Threading.Tasks.Parallel+<>c__DisplayClassf`1[[System.__Canon, mscorlib]].<ForWorker>b__c()+0x3ce
    000000001E86CC50 000007FEF2CDECB9 mscorlib_ni!System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task)+0x19
    000000001E86CC80 000007FEF2CE82E7 mscorlib_ni!System.Threading.Tasks.Task+<>c__DisplayClass7.<ExecuteSelfReplicating>b__6(System.Object)+0x197
    000000001E86CD60 000007FEF2CDD6A7 mscorlib_ni!System.Threading.Tasks.Task.Execute()+0x57
    000000001E86CDC0 000007FEF25B3179 mscorlib_ni!System.Threading.ExecutionContext.runTryCode(System.Object)+0x179
    000000001E86D610 0000000000000001 mscorlib_ni!System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)+0x2
    000000001E86D610 000007FEF25A17E2 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xa2
    000000001E86D670 000007FEF2CDD976 mscorlib_ni!System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)+0x1b6
    000000001E86D6F0 000007FEF2CDEF31 mscorlib_ni!System.Threading.Tasks.Task.ExecuteEntry(Boolean)+0xb1
    000000001E86D730 000007FEF2CF71E4 mscorlib_ni!System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)+0xa4
    000000001E86D780 000007FEF2CE1DFB mscorlib_ni!System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean, System.Object)+0xbb
    000000001E86D800 000007FEF2CE0BE8 mscorlib_ni!System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler)+0xe8
    000000001E86D870 000007FEF2CF2F99 mscorlib_ni!System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>)+0x729
    000000001E86DA50 000007FEF2CF15FD mscorlib_ni!System.Threading.Tasks.Parallel.ForEachWorker[[System.__Canon, mscorlib],[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Threading.Tasks.ParallelOptions, System.Action`1<System.__Canon>, System.Action`2<System.__Canon,System.Threading.Tasks.ParallelLoopState>, System.Action`3<System.__Canon,System.Threading.Tasks.ParallelLoopState,Int64>, System.Func`4<System.__Canon,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`5<System.__Canon,System.Threading.Tasks.ParallelLoopState,Int64,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>)+0x20d
    000000001E86DAF0 000007FEF2CF1D82 mscorlib_ni!System.Threading.Tasks.Parallel.ForEach[[System.__Canon, mscorlib]](System.Collections.Generic.IEnumerable`1<System.__Canon>, System.Threading.Tasks.ParallelOptions, System.Action`1<System.__Canon>)+0xb2
    000000001E86DB80 000007FF0016FF1B MyUpdater!MyCompany.MyUpdater.Modeling.Retrainer.SimulateTradesAndCreateJournal(Int32, System.String, MyCompany.Utility.WebHelpers.Proxy.LiveDataServicesClient, System.String)+0x7db
    000000001E86DCD0 000007FF0016C8D7 MyUpdater!MyCompany.MyUpdater.Modeling.Retrainer.TradingSimulation(Int32, Boolean, Boolean)+0x1d7
    000000001E86DD80 000007FF0016C463 MyUpdater!MyCompany.MyUpdater.Form1.TradingSimulation(Int32, Boolean, Boolean)+0x33
    000000001E86E650 0000000000000001 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr, System.Object[], System.Object, Int32, Boolean, System.Object[] ByRef)+0x2
    000000001E86E650 000007FEF2E34643 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(System.RuntimeMethodHandle, System.Object[], System.Object, Int32, Boolean, System.Object[] ByRef)+0x93
    000000001E86E6C0 000007FEF2E34D86 mscorlib_ni!System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessageSink)+0x2f6
    000000001E86E7B0 000007FEF25B3179 mscorlib_ni!System.Threading.ExecutionContext.runTryCode(System.Object)+0x179
    000000001E86F000 0000000000000001 mscorlib_ni!System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, System.Object)+0x2
    000000001E86F000 000007FEF25A17E2 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xa2
    000000001E86F060 000007FEF25EC41A mscorlib_ni!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()+0x6a
    000000001E86F0B0 000007FEF25EBA84 mscorlib_ni!System.Threading.ThreadPoolWorkQueue.Dispatch()+0x194
    000000001E86F150 000007FEF25EB8D6 mscorlib_ni!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()+0x36

StackTraceString: <none>
HResult: 80004003
The current thread is unmanaged
0:019> ~8e!clrstack
OS Thread Id: 0x888 (8)
Child SP         IP               Call Site
000000001dfdf058 0000000077ae030a [HelperMethodFrame_1OBJ: 000000001dfdf058] System.Threading.WaitHandle.WaitMultiple(System.Threading.WaitHandle[], Int32, Boolean, Boolean)
000000001dfdf1a0 000007fef2cba946 System.Threading.WaitHandle.WaitAny(System.Threading.WaitHandle[], Int32, Boolean)
000000001dfdf200 000007feedaf7bb3 System.Runtime.IOThreadTimer+TimerManager.OnWaitCallback(System.Object)
000000001dfdf260 000007feedafdb81 System.Runtime.IOThreadScheduler+ScheduledOverlapped.IOCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
000000001dfdf2c0 000007feedaf9c80 System.Runtime.Fx+IOCompletionThunk.UnhandledExceptionFrame(UInt32, UInt32, System.Threading.NativeOverlapped*)
000000001dfdf320 000007fef2cc88e6 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
000000001dfdf5c0 000007fef34f10b4 [GCFrame: 000000001dfdf5c0] 
000000001dfdf790 000007fef34f10b4 [DebuggerU2MCatchHandlerFrame: 000000001dfdf790] 
0:019> ~8e!kb
No export kb found