Repository navigation
Closed
Labels
area-Tools-ILVerificationIssues related to ilverify tool and IL verification in generalIssues related to ilverify tool and IL verification in generaluntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
Description
I installed the preview version of ILVerify, and it is giving me an error which seems to relate to its own compilation or packaging.
Description
I installed ilverify:
PS > dotnet tool install --global dotnet-ilverify --version 5.0.0-preview.8.20328.6 --add-source "https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet5/nuget/v3/index.json"
You can invoke the tool using the following command: ilverify
Tool 'dotnet-ilverify' (version '5.0.0-preview.8.20328.6') was successfully installed.
Then, I invoked ilverify:
PS > ilverify .\BizInvokerModule.dll -r 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3\*.dll' *.dll
[IL]: Error []: [C:\Develop\BizHawk\output\BizInvokerModule.dll : Bizhawk.BizInvokeProxyLibQuickNES::qn_setup_mappers()] ImportCalli not implemented
[IL]: Error []: [C:\Develop\BizHawk\output\BizInvokerModule.dll : Bizhawk.BizInvokeProxyLibQuickNES::qn_new()] ImportCalli not implemented
[IL]: Error []: [C:\Develop\BizHawk\output\BizInvokerModule.dll : Bizhawk.BizInvokeProxyLibQuickNES::qn_delete(native int)] ImportCalli not implemented
Error: System.Resources.MissingManifestResourceException: Could not find the resource "ILVerification.Strings.resources" among the resources "" embedded in the assembly "ILVerify", nor among the resources in any satellite assemblies for the specified culture. Perhaps the resources were embedded with an incorrect name.
at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetString(String name, CultureInfo culture)
at ILVerify.Verifier.<>c__DisplayClass12_0.<VerifyMethod>b__2(ErrorArgument[] args, VerifierError code)
at Internal.IL.ILImporter.VerificationError(VerifierError error, Object found)
at Internal.IL.ILImporter.Check(Boolean cond, VerifierError error, StackValue found)
at Internal.IL.ILImporter.CheckIsNumeric(StackValue value)
at Internal.IL.ILImporter.ImportBasicBlock(BasicBlock basicBlock)
at Internal.IL.ILImporter.ImportBasicBlocks()
at Internal.IL.ILImporter.Verify()
at ILVerify.Verifier.VerifyMethod(EcmaModule module, MethodIL methodIL, MethodDefinitionHandle methodHandle)
at ILVerify.Verifier.VerifyMethods(EcmaModule module, IEnumerable`1 methodHandles)+MoveNext()
at ILVerify.Verifier.Verify(PEReader peReader, MethodDefinitionHandle methodHandle)+MoveNext()
at ILVerify.Program.VerifyMethods(PEReader peReader, EcmaModule module, String path, Int32& numErrors, Int32& verifiedMethodCounter, Int32& methodCounter)
at ILVerify.Program.VerifyAssembly(PEReader peReader, EcmaModule module, String path)
at ILVerify.Program.Run()
at ILVerify.Program.Run(Options options)
Configuration
Looking at its runtimeconfig.json, I believe ilverify is running against the 3.1.3 runtime?
PS > dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 5.0.0-preview.6.20312.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 5.0.0-preview.6.20305.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 3.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 5.0.0-preview.6.20308.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Regression?
I've never used this tool before, so not sure.
Other information
I don't think the code I'm running ilverify against is relevant here, but I can try to make a minimum reproducing case out of it if needed.
Metadata
Metadata
Assignees
Labels
area-Tools-ILVerificationIssues related to ilverify tool and IL verification in generalIssues related to ilverify tool and IL verification in generaluntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
Activity
Dotnet-GitSync-Bot commentedon Jun 30, 2020
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.
Add missing string resources to the ILVerify tool
jkotas commentedon Jun 30, 2020
Thank you for reporting this. #38630 has the fix.
Add missing string resources to the ILVerify tool (#38630)