dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.28k stars 4.73k forks source link

Test failure: profiler\\assembly\\ALCTest\\ALCTest.cmd #106241

Open v-wenyuxu opened 3 months ago

v-wenyuxu commented 3 months ago

Failed in: runtime-coreclr gcstress0x3-gcstress0xc 20240810.1

Failed tests:

coreclr windows arm64 Checked gcstress0x3 @ Windows.11.Arm64.Open
    - profiler\\assembly\\ALCTest\\ALCTest.cmd

Error message:


Assert failure(PID 8372 [0x000020b4], Thread: 9112 [0x2398]): !CREATE_CHECK_STRING(!"Detected use of a corrupted OBJECTREF. Possible GC hole.")

CORECLR! `Object::ValidateInner'::`1'::catch$13 + 0xDC (0x00007ffa`1c868874)
CORECLR! CallSettingFrame + 0x68 (0x00007ffa`1c2b2580)
CORECLR! _FrameHandler3::CxxCallCatchBlock + 0x1C0 (0x00007ffa`1c7c2fc0)
NTDLL! RtlCaptureContext + 0x1B8 (0x00007ffa`79af2248)
CORECLR! Object::ValidateInner + 0x140 (0x00007ffa`1c3acf00)
CORECLR! Object::Validate + 0xA4 (0x00007ffa`1c3acd04)
CORECLR! WKS::GCHeap::IsPromoted + 0x18C (0x00007ffa`1c621c4c)
CORECLR! CheckPromoted + 0x13C (0x00007ffa`1c5cb8fc)
CORECLR! BlockScanBlocksWithoutUserData + 0x94 (0x00007ffa`1c5ca7c4)
CORECLR! TableScanHandles + 0x28C (0x00007ffa`1c5cb06c)
    File: D:\a\_work\1\s\src\coreclr\vm\object.cpp:631
    Image: C:\h\w\A936091A\p\CoreRun.exe

Unhandled exception. System.Exception: Profiler tests are expected to contain the text 'PROFILER TEST PASSES' in the console output of the profilee app to indicate a passing test. Usually it is printed from the Shutdown() method of the profiler implementation. This text was not found in the output above. Profilee returned exit code -1073740286.
   at Profiler.Tests.ProfilerTestRunner.FailFastWithMessage(String error)
   at Profiler.Tests.ProfilerTestRunner.Run(String profileePath, String testName, Guid profilerClsid, String profileeArguments, ProfileeOptions profileeOptions, Dictionary`2 envVars, String reverseServerName, Boolean loadAsNotification, Int32 notificationCopies)
   at Profiler.Tests.ALCTest.Main(String[] args)

Return code:      1
Raw output file:      C:\h\w\A936091A\w\AF680939\uploads\Reports\profiler.assembly\ALCTest\ALCTest.output.txt
Raw output:
BEGIN EXECUTION
 "C:\h\w\A936091A\p\corerun.exe" -p "System.Reflection.Metadata.MetadataUpdater.IsSupported=false" -p "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization=true"  ALCTest.dll 
Profiler path: C:\h\w\A936091A\w\AF680939\e\profiler\assembly\ALCTest\Profiler.dll
Profilee STDOUT: Profiler.dll!DllGetClassObject
Profilee STDOUT: Profiler.dll!Profiler::Initialize
Test failed: Profiler tests are expected to contain the text 'PROFILER TEST PASSES' in the console output of the profilee app to indicate a passing test. Usually it is printed from the Shutdown() method of the profiler implementation. This text was not found in the output above. Profilee returned exit code -1073740286.
Expected: 100
Actual: -532462766
END EXECUTION - FAILED
FAILED
Test failed. Trying to see if dump file was created in C:\cores since 8/10/2024 2:42:56 PM
Processing C:\cores\corerun.exe.9084.dmp
Unable to find cdb.exe at C:\Program Files (x86)\Windows Kits\10\Debuggers\arm64\cdb.exe
Processing C:\cores\corerun.exe.8372.dmp
Unable to find cdb.exe at C:\Program Files (x86)\Windows Kits\10\Debuggers\arm64\cdb.exe
Test Harness Exitcode is : 1
To run the test:
> set CORE_ROOT=C:\h\w\A936091A\p
> C:\h\w\A936091A\w\AF680939\e\profiler\assembly\ALCTest\ALCTest.cmd

Stack trace:

   at profiler_assembly._ALCTest_ALCTest_._ALCTest_ALCTest_cmd()
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
   at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
dotnet-policy-service[bot] commented 3 months ago

Tagging subscribers to this area: @tommcdon See info in area-owners.md if you want to be subscribed.

mdh1418 commented 3 months ago

This doesn't look related to the profiler side of the test. I suspect that its similar to https://github.com/dotnet/runtime/issues/81362, where using ExecuteAndUnload leads to the GC hole.