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

Add aspnet to baseline #278

Merged
merged 3 commits into from
Sep 10, 2020
Merged

Conversation

benaadams
Copy link
Member

Resolves #189

@AndyAyersMS this work now?

@benaadams
Copy link
Member Author

(Seems to work locally for me; but not sure if I'm holding it wrong 😃)

@benaadams
Copy link
Member Author

Need to do?

bootstrap
jit-diff diff --pmi --diff --assembly D:\GitHub\jitutils\fx

@kunalspathak
Copy link
Member

I cherry-picked these changes, but when I run jit-diff diff --pmi I see errors that complain about a specific version loading of a .dll.

jit-diff diff --pmi --assembly ..\fx -b E:\temp\binaries\test\base -d E:\temp\binaries\test\rev1 --core_root %CORE_ROOT% -o e:\temp\t --altjit protononjit.dll

When I debug the failing command:

jit-dasm-pmi --platform D:\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\tests\Core_Root --altjit protononjit.dll --corerun D:\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\tests\Core_Root\corerun.exe --jit E:\temp\binaries\test\base\protononjit.dll --nocopy --output e:\temp\t\dasmset_12\base D:\git\jitutils\fx\Microsoft.AspNetCore.DataProtection.Extensions.dll"

I see failures here:

00 KERNELBASE!RaiseException
01 CoreCLR!_CxxThrowException
02 CoreCLR!MemberLoader::ThrowMissingMethodException
03 CoreCLR!MemberLoader::GetDescFromMemberRef
04 CoreCLR!CEEInfo::resolveToken
05 clrjit!Compiler::impImportBlockCode
06 clrjit!Compiler::impImportBlock::__l15::__Body::Run
07 clrjit!Compiler::impImportBlock
08 clrjit!Compiler::impImport
09 clrjit!Compiler::fgImport
0a clrjit!Phase::Run
0b clrjit!DoPhase
0c clrjit!Compiler::compCompile
0d clrjit!Compiler::compCompileHelper
0e clrjit!Compiler::compCompile::__l61::__Body::Run
0f clrjit!Compiler::compCompile

The failure is because System.Environment has missing get_ProcessId. @BruceForstall , @AndyAyersMS - anything wrong with my setup?

@kunalspathak
Copy link
Member

Changes LGTM but I just want to make sure that we can get PMI for newly binaries in fx folder.

@benaadams
Copy link
Member Author

benaadams commented Sep 8, 2020

Need to be running against .NET 5.0 Preview 8 (or later) for get_ProcessId? dotnet/runtime#38908

@@ -1,7 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk.Web">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does using the ".Web" project give us a superpset of dependent packages? Subset? Or partially-intersecting set?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe it's a superset; additionally including the ASP.NET Core libraries

@BruceForstall
Copy link
Member

jitutils builds with the global installed dotnet. Maybe you just have 3.1? I normally don't notice version issues because I often have a relatively recent install (currently, something rc1).

Note that #219 would onboard jitutils to arcade, which would presumably build using a local, recent dotnet, not the global one.

@kunalspathak
Copy link
Member

I was able to run the fx folder with an exception of Microsoft.AspNetCore.Components.Web.dll. I believe it is not related to this change and can be tracked separately.

jit-dasm-pmi --platform D:\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\tests\Core_Root --corerun D:\git\runtime\artifacts\tests\coreclr\Windows_NT.x64.Checked\tests\Core_Root\corerun.exe --jit E:\temp\binaries\test\base\clrjit.dll --nocopy --output e:\temp\t\dasmset_17\base D:\git\jitutils\fx\Microsoft.AspNetCore.Components.Web.dll
00 KERNELBASE!RaiseException
01 CoreCLR!_CxxThrowException
02 CoreCLR!ThrowTypeLoadException
03 CoreCLR!Assembly::ThrowTypeLoadException
04 CoreCLR!ThrowFieldLayoutError
05 CoreCLR!MethodTableBuilder::HandleExplicitLayout
06 CoreCLR!MethodTableBuilder::BuildMethodTableThrowing
07 CoreCLR!ClassLoader::CreateTypeHandleForTypeDefThrowing
08 CoreCLR!ClassLoader::CreateTypeHandleForTypeKey
09 CoreCLR!ClassLoader::DoIncrementalLoad
0a CoreCLR!ClassLoader::LoadTypeHandleForTypeKey_Body
0b CoreCLR!ClassLoader::LoadTypeHandleForTypeKey
0c CoreCLR!ClassLoader::LoadTypeDefThrowing
0d CoreCLR!ClassLoader::LoadTypeDefOrRefThrowing
0e CoreCLR!GetTypesInner
0f CoreCLR!COMModule::GetTypes
10 System_Private_CoreLib!System.Reflection.RuntimeModule.GetTypes()
11 pmi!Worker.LoadTypes(System.Reflection.Assembly)
12 pmi!Worker.Work(System.String)
13 pmi!PrepareMethodinator.Main(System.String[])
14 CoreCLR!CallDescrWorkerInternal
15 CoreCLR!MethodDescCallSite::CallTargetWorker
16 CoreCLR!MethodDescCallSite::Call_RetArgSlot
17 CoreCLR!RunMainInternal
18 CoreCLR!``RunMain'::`30'::__Body::Run'::`5'::__Body::Run
19 CoreCLR!`RunMain'::`30'::__Body::Run
1a CoreCLR!RunMain
1b CoreCLR!Assembly::ExecuteMainMethod
1c CoreCLR!CorHost2::ExecuteAssembly
1d CoreCLR!coreclr_execute_assembly
1e CoreRun!HostEnvironment::ExecuteAssembly
1f CoreRun!ExecuteAssembly
20 CoreRun!TryRun
21 CoreRun!wmain
22 CoreRun!invoke_main
23 CoreRun!__scrt_common_main_seh
24 CoreRun!__scrt_common_main
25 CoreRun!wmainCRTStartup
26 KERNEL32!BaseThreadInitThunk
27 ntdll!RtlUserThreadStart

@kunalspathak
Copy link
Member

@BruceForstall - do you have any more comments or is it ready to merge?

@BruceForstall
Copy link
Member

When I pick up this change and build I see about 135 new assemblies, mostly Microsoft.AspNetCore and Microsoft.Extensions.

@BruceForstall BruceForstall merged commit 52bc2c8 into dotnet:master Sep 10, 2020
@benaadams benaadams deleted the add-aspnet-to-baseline branch September 10, 2020 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Include ASP.NET Core assemblies in the standard set
3 participants