Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failure: profiler\\rejit\\rejit\\rejit.cmd #35472

Closed
v-haren opened this issue Apr 26, 2020 · 6 comments
Closed

Test failure: profiler\\rejit\\rejit\\rejit.cmd #35472

v-haren opened this issue Apr 26, 2020 · 6 comments
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI JitStress CLR JIT issues involving JIT internal stress modes
Milestone

Comments

@v-haren
Copy link

v-haren commented Apr 26, 2020

failed in job: runtime-coreclr jitstress 20200424.3

Error message

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.
 at Profiler.Tests.ProfilerTestRunner.LogTestFailure(String error) in F:\workspace\_work\1\s\src\coreclr\tests\src\profiler\common\ProfilerTestRunner.cs:line 135
 at Profiler.Tests.ProfilerTestRunner.Run(String profileePath, String testName, Guid profilerClsid, String profileeArguments, ProfileeOptions profileeOptions) in F:\workspace\_work\1\s\src\coreclr\tests\src\profiler\common\ProfilerTestRunner.cs:line 89
 at Profiler.Tests.RejitWithInlining.Main(String[] args) in F:\workspace\_work\1\s\src\coreclr\tests\src\profiler\rejit\rejit.cs:line 100

Return code: 1
Raw output file: C:\h\w\C01C0A83\w\A45A08F7\e\profiler\rejit\Reports\profiler.rejit\rejit\rejit.output.txt
Raw output:
BEGIN EXECUTION
 "C:\h\w\C01C0A83\p\corerun.exe" rejit.dll 
Profiler path: C:\h\w\C01C0A83\w\A45A08F7\e\profiler\rejit\rejit\Profiler.dll
Disabling tiered compilation.
Profiler path: C:\h\w\C01C0A83\w\A45A08F7\e\profiler\rejit\rejit\Profiler.dll
Profiler.dll!DllGetClassObject
Profiler.dll!Profiler::Initialize

INFO ReJITProfiler::Initialize - Initialize started
Call to GetFunctionFromToken failed with hr=0x80070057
Call to GetFunctionFromToken failed with hr=0x80070057
Call to GetFunctionFromToken failed with hr=0x80070057
Call to GetFunctionFromToken failed with hr=0x80070057
Call to GetFunctionFromToken failed with hr=0x80070057
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=Copy Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=Copy Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=Copy Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=Clear Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=GetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=GetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=GetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=GetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=SetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=SetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=SetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=SetValue Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=get_Rank Inlinee=Assert Inlinee module name=C:\h\w\C01C0A83\p\System.Private.CoreLib.dll
INFO ReJITProfiler::AddInlining - Inlining occurred! Inliner=GetLength Inlinee=Assert Inlinee module name=C:\h\w\C0


Stack trace
   at profiler_rejit._rejit_rejit_._rejit_rejit_cmd() in F:\workspace\_work\1\s\artifacts\tests\coreclr\Windows_NT.x86.Checked\TestWrappers\profiler.rejit\profiler.rejit.XUnitWrapper.cs:line 140
@v-haren v-haren added JitStress CLR JIT issues involving JIT internal stress modes area-Diagnostics-coreclr labels Apr 26, 2020
@ghost
Copy link

ghost commented Apr 26, 2020

Tagging subscribers to this area: @tommcdon
Notify danmosemsft if you want to be subscribed.

@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Apr 26, 2020
@BruceForstall BruceForstall added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI and removed area-Diagnostics-coreclr untriaged New issue has not been triaged by the area owner labels Apr 26, 2020
@BruceForstall BruceForstall added this to the 5.0 milestone Apr 26, 2020
@BruceForstall
Copy link
Member

This appears to be a problem only for COMPlus_JITMinOpts=1

@dotnet/jit-contrib

@AndyAyersMS
Copy link
Member

This is a relatively new test (added in #34411) and I suspect the failure here is not a regression.

Looks like this test is incompatible with COMPlus_JITMinOpts as it expects some inlines to happen when jitting, and min opts supresses all inlining. It would likely fail jitstress for the right stress level, for similar reasons.

We should be able to mark it as optimization sensitive to exclude it from these kinds of tests.

@AndyAyersMS
Copy link
Member

It is already marked with <JitOptimizationSensitive>true</JitOptimizationSensitive> but it invokes a subprocess for testing, and that subprocess is the one impacted by minopts.

So need to tweak the test code a bit to pass on this notion to the subprocess.

@erozenfeld
Copy link
Member

An alternative solution is to set the environment variables that ensure that inlining is not disabled like I did here:

set COMPlus_JITMinOpts=0
set COMPlus_JitDebuggable=0
set COMPlus_JitStressModeNamesNot=STRESS_RANDOM_INLINE,STRESS_MIN_OPTS

@AndyAyersMS
Copy link
Member

Thanks @erozenfeld -- the test case was already setting some COMPlus vars in code, so I just added a few more.

Fixed via #36420.

@ghost ghost locked as resolved and limited conversation to collaborators Dec 9, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI JitStress CLR JIT issues involving JIT internal stress modes
Projects
None yet
Development

No branches or pull requests

5 participants