Skip to content

Fuzzlyn failure on linux arm64 #88616

Closed

Description

Fuzzlyn failure on linux arm64. Possibly from a change on or after 2023-07-02.

// Generated by Fuzzlyn v1.5 on 2023-07-09 18:33:04
// Run on Arm64 Linux
// Seed: 15657484969728248792
// Reduced from 43.9 KiB to 2.0 KiB in 00:01:40
// Debug: Outputs 0
// Release: Outputs 1
public class C0
{
    public int F7;
}

public struct S0
{
    public long F0;
    public int F1;
    public ushort F2;
    public byte F3;
    public ulong F4;
    public S0(long f0, int f1, byte f3, ulong f4): this()
    {
        F0 = f0;
        F1 = f1;
        F3 = f3;
        F4 = f4;
    }
}

public class Program
{
    public static IRuntime s_rt;
    public static S0 s_1;
    public static byte[][] s_4 = new byte[][]{new byte[]{0}};
    public static S0 s_10;
    public static void Main()
    {
        s_rt = new Runtime();
        C0 vr43 = new C0();
        var vr26 = new C0();
        ushort vr44 = default(ushort);
        var vr27 = (short)vr44;
        var vr32 = (ushort)0;
        var vr33 = new ushort[]{0};
        var vr34 = (short)Program.M7(vr26, 0, ref s_1.F1, vr27, vr32, vr33);
        var vr35 = new ushort[]{1};
        ushort vr36 = (ushort)Program.M7(vr43, 0, ref s_1.F1, vr34, 0, vr35);
        S0 vr37 = new S0(0, 0, 0, 0);
        var vr38 = vr36 == vr37.F1;
        short vr39 = (short)M5(vr38, vr37);
        vr37.F2 = 0;
        var vr40 = new S0(s_10.F0, 0, vr37.F3, vr37.F4);
        var vr41 = new sbyte[]{0};
        M11(vr40, vr41) = vr37.F3;
        var vr42 = vr37.F0--;
        vr37.F4 = 0;
        M5(true, vr37);
        s_rt.WriteLine(vr37.F1);
    }

    public static int M5(bool arg0, S0 arg3)
    {
        s_rt.WriteLine(arg3.F1);
        var vr9 = new C0();
        ref int vr65 = ref arg3.F1;
        vr9.F7 = vr65++;
        return 0;
    }

    public static ulong M7(C0 argThis, uint arg0, ref int arg1, short arg2, ushort arg3, ushort[] arg4)
    {
        return 0;
    }

    public static ref byte M11(S0 argThis, sbyte[] arg3)
    {
        argThis.F4 = 0;
        arg3 = new sbyte[]{1};
        return ref s_4[0][0];
    }
}

public interface IRuntime
{
    void WriteLine<T>(T value);
}

public class Runtime : IRuntime
{
    public void WriteLine<T>(T value) => System.Console.WriteLine(value);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

area-CodeGen-coreclrCLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions