-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Description
Environment:
• ILSpy: master (local clone: C:\Users\admin\Documents\ILSpy)
• OS: Windows 11 Pro (VM) (local debug run)
• .NET runtime used to run ILSpy: .NET 10.0.100
• Target assembly: program.exe (x64 client build)
• Failing method token: @06000046
• Failing type/method: VK_Cta_Cte_Inventario.Formulario.COT.Carga_Grilla_Detalle_Liquidacion_PA_Detallado
Problem:
When attempting to decompile the method above ILSpy crashes with an assertion in CallBuilder.ArgumentList.CheckNoNamedOrOptionalArguments(). The assertion is raised while processing a callvirt / call instruction that appears to use a nonstandard argument mapping (named and/or optional arguments or unexpected argumentToParameter map). The assert is currently emitted via Debug.Fail and surfaces as an AssertionFailedException / DecompilerException, terminating decompilation of that method (and sometimes causing a larger failure during PDB generation).
Reproduction steps
- Open ILSpy (local build from master).
- File → Open → select VK_Cta_Cte_Inventario.exe (x64 client).
- Expand VK_Cta_Cte_Inventario → Formulario → COT.
- Select Carga_Grilla_Detalle_Liquidacion_PA_Detallado (token @06000046).
- ILSpy crashes / reports "Error decompiling ..." with an AssertionFailedException originating in CallBuilder.
Observed behavior
• ILSpy throws an AssertionFailedException (Debug.Fail) during decompilation and fails to produce C# for this method.
• Additional operations (e.g., Generate PDB) also fail when this method is processed.
Expected behavior
• Decompiler should either:
• Successfully decompile the method, or
• Fail gracefully by throwing a DecompilerException with a clear message so decompilation can continue for other methods without an assertion crash.