Fix EventPipe Test Failures Under GCStress (#16494)
authorBrian Robbins <brianrob@microsoft.com>
Thu, 22 Feb 2018 05:59:17 +0000 (21:59 -0800)
committerGitHub <noreply@github.com>
Thu, 22 Feb 2018 05:59:17 +0000 (21:59 -0800)
* Disable inducedgc test when GCStress is enabled.

* Suppress host contract violation in EventPipe::WalkManagedStackForThread.

src/vm/eventpipe.cpp
tests/src/tracing/tracevalidation/inducedgc/inducedgc.csproj

index 026a775..e413713 100644 (file)
@@ -708,6 +708,10 @@ bool EventPipe::WalkManagedStackForThread(Thread *pThread, StackContents &stackC
     }
     CONTRACTL_END;
 
+    // Calling into StackWalkFrames in preemptive mode violates the host contract,
+    // but this contract is not used on CoreCLR.
+    CONTRACT_VIOLATION( HostViolation );
+
     stackContents.Reset();
 
     StackWalkAction swaRet = pThread->StackWalkFrames(
index d4bb1f0..4da9f90 100644 (file)
@@ -12,6 +12,7 @@
     <CLRTestKind>BuildAndRun</CLRTestKind>
     <DefineConstants>$(DefineConstants);STATIC</DefineConstants>
     <CLRTestPriority>0</CLRTestPriority>
+    <GCStressIncompatible>true</GCStressIncompatible>
   </PropertyGroup>
   <!-- Default configurations to help VS understand the configurations -->
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'"></PropertyGroup>