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

Assertion failed '((tree->gtDebugFlags & GTF_DEBUG_NODE_MORPHED) == 0) && "ERROR: Already morphed this node!"' during 'Morph - Global' #79543

Closed
jakobbotsch opened this issue Dec 12, 2022 · 3 comments · Fixed by #79611
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs
Milestone

Comments

@jakobbotsch
Copy link
Member

// Generated by Fuzzlyn v1.5 on 2022-12-11 14:51:02
// Run on Arm Linux
// Seed: 10622439774458596091
// Reduced from 255.7 KiB to 0.3 KiB in 00:10:44
// Hits JIT assert in Release:
// Assertion failed '((tree->gtDebugFlags & GTF_DEBUG_NODE_MORPHED) == 0) && "ERROR: Already morphed this node!"' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Morph - Global' (IL size 54; hash 0xade6b36b; FullOpts)
// 
//     File: /__w/1/s/src/coreclr/jit/morph.cpp Line: 12875
// 
public struct S0
{
    public sbyte F4;
}

public class C1
{
    public long F6;
}

public class Program
{
    public static S0 s_5;
    public static C1[][] s_8;
    public static S0 s_14;
    public static byte[, ] s_28;
    public static void Main()
    {
        s_5.F4 = (sbyte)(((s_14.F4 + s_28[0, 0]) ^ s_8[0][0].F6) % 1);
    }
}

PTAL @TIHan, this is likely #77760 (comment).

@dotnet-issue-labeler dotnet-issue-labeler bot added the area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI label Dec 12, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Dec 12, 2022
@ghost
Copy link

ghost commented Dec 12, 2022

Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch
See info in area-owners.md if you want to be subscribed.

Issue Details
// Generated by Fuzzlyn v1.5 on 2022-12-11 14:51:02
// Run on Arm Linux
// Seed: 10622439774458596091
// Reduced from 255.7 KiB to 0.3 KiB in 00:10:44
// Hits JIT assert in Release:
// Assertion failed '((tree->gtDebugFlags & GTF_DEBUG_NODE_MORPHED) == 0) && "ERROR: Already morphed this node!"' in 'Program:Main(Fuzzlyn.ExecutionServer.IRuntime)' during 'Morph - Global' (IL size 54; hash 0xade6b36b; FullOpts)
// 
//     File: /__w/1/s/src/coreclr/jit/morph.cpp Line: 12875
// 
public struct S0
{
    public sbyte F4;
}

public class C1
{
    public long F6;
}

public class Program
{
    public static S0 s_5;
    public static C1[][] s_8;
    public static S0 s_14;
    public static byte[, ] s_28;
    public static void Main()
    {
        s_5.F4 = (sbyte)(((s_14.F4 + s_28[0, 0]) ^ s_8[0][0].F6) % 1);
    }
}

PTAL @TIHan, this is likely #77760 (comment).

Author: jakobbotsch
Assignees: -
Labels:

area-CodeGen-coreclr, untriaged

Milestone: -

@jakobbotsch jakobbotsch removed the untriaged New issue has not been triaged by the area owner label Dec 12, 2022
@jakobbotsch jakobbotsch added this to the 8.0.0 milestone Dec 12, 2022
@jakobbotsch jakobbotsch added the blocking-clean-ci-optional Blocking optional rolling runs label Dec 12, 2022
@jakobbotsch
Copy link
Member Author

I'll grab this one since I do a small refactoring of gtExtractSideEffList anyway to support GT_QMARK for #79346.

@jakobbotsch jakobbotsch assigned jakobbotsch and unassigned TIHan Dec 13, 2022
jakobbotsch added a commit to jakobbotsch/runtime that referenced this issue Dec 13, 2022
Inline gtBuildCommaList (this is the only usage) and build it in the
right order to allow doing it during the walk. Also fix propagation of
GTF_DEBUG_NODE_MORPHED flag.

Fix dotnet#79543
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Dec 13, 2022
@TIHan
Copy link
Contributor

TIHan commented Dec 14, 2022

Ok, thank you for looking at it @jakobbotsch

jakobbotsch added a commit that referenced this issue Dec 15, 2022
Inline gtBuildCommaList (this is the only usage) and build it in the
right order to allow doing it during the walk. Also fix propagation of
GTF_DEBUG_NODE_MORPHED flag.

Fix #79543
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Dec 15, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jan 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking-clean-ci-optional Blocking optional rolling runs
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants