- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.2k
Closed
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIruntime-async
Milestone
Description
It may be similar to #117266, but I think it is a separate issue.
The repro (need to run with RT async enabled):
    interface I2
    {
        Task<string> M0<T>();
        Task<string> M1<T>(object a0, object a1, object a2, object a3, object a4, object a5, object a6, object a7, object a8);
    }
    class Class2 : I2
    {
        public async Task<string> M0<T>()
        {
            await Task.Yield();
            return typeof(T).ToString();
        }
        public async Task<string> M1<T>(object a0, object a1, object a2, object a3, object a4, object a5, object a6, object a7, object a8)
        {
            await Task.Yield();
            return typeof(T).ToString();
        }
    }
    static I2 o2;
    static async Task<string> CallClass2M0()
    {
        o2 = new Class2();
        return await o2.M0<string>();
    }
    static async Task<string> CallClass2M1()
    {
        o2 = new Class2();
        return await o2.M1<string>(default, default, default, default, default, default, default, default, default);
    }
    [Fact]
    public static void NoArgGVM()
    {
        Assert.Equal("System.String", CallClass2M0().Result);
    }
    [Fact]
    public static void ManyArgGVM()
    {
        Assert.Equal("System.String", CallClass2M1().Result);
    }The repro results in AVs/NullRef exceptions. Even though there is an instantiating stub involved, I think the continuation is trashed earlier - by the managed GVM cache lookup helper.
Although there is a possibility that it is indirectly a problem with the stub.
Metadata
Metadata
Assignees
Labels
area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMICLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMIruntime-async