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

JIT assert on Unix in ReturnTypeDesc::InitializeStructReturnType #96461

Closed
tannergooding opened this issue Jan 3, 2024 · 4 comments · Fixed by #96557
Closed

JIT assert on Unix in ReturnTypeDesc::InitializeStructReturnType #96461

tannergooding opened this issue Jan 3, 2024 · 4 comments · Fixed by #96557
Assignees
Labels
area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI blocking Marks issues that we want to fast track in order to unblock other important work
Milestone

Comments

@tannergooding
Copy link
Member

The new logic in #96455 (comment) is triggering an assert on OSX/Linux:

Assert failure(PID 10027 [0x0000272b], Thread: 85988 [0x14fe4]): Assertion failed '!m_inited' in 'System.Runtime.Intrinsics.VectorMath:Log2Single[System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[int],System.Runtime.Intrinsics.Vector128`1[uint]](System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float]' during 'Importation' (IL size 976; hash 0xefb066b7; Tier0)

The failure is possibly related to the use of generics + static virtuals in interfaces + the vector types being HVAs on these platforms.

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jan 3, 2024
@ghost
Copy link

ghost commented Jan 3, 2024

Tagging subscribers to this area: @dotnet/area-system-runtime-intrinsics
See info in area-owners.md if you want to be subscribed.

Issue Details

The new logic in #96455 (comment) is triggering an assert on OSX/Linux:

Assert failure(PID 10027 [0x0000272b], Thread: 85988 [0x14fe4]): Assertion failed '!m_inited' in 'System.Runtime.Intrinsics.VectorMath:Log2Single[System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[int],System.Runtime.Intrinsics.Vector128`1[uint]](System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float]' during 'Importation' (IL size 976; hash 0xefb066b7; Tier0)

The failure is possibly related to the use of generics + static virtuals in interfaces + the vector types being HVAs on these platforms.

Author: tannergooding
Assignees: -
Labels:

area-System.Runtime.Intrinsics

Milestone: -

@jkotas jkotas added area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI and removed area-System.Runtime.Intrinsics labels Jan 3, 2024
@ghost
Copy link

ghost commented Jan 3, 2024

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

Issue Details

The new logic in #96455 (comment) is triggering an assert on OSX/Linux:

Assert failure(PID 10027 [0x0000272b], Thread: 85988 [0x14fe4]): Assertion failed '!m_inited' in 'System.Runtime.Intrinsics.VectorMath:Log2Single[System.Runtime.Intrinsics.Vector128`1[float],System.Runtime.Intrinsics.Vector128`1[int],System.Runtime.Intrinsics.Vector128`1[uint]](System.Runtime.Intrinsics.Vector128`1[float]):System.Runtime.Intrinsics.Vector128`1[float]' during 'Importation' (IL size 976; hash 0xefb066b7; Tier0)

The failure is possibly related to the use of generics + static virtuals in interfaces + the vector types being HVAs on these platforms.

Author: tannergooding
Assignees: -
Labels:

area-System.Runtime.Intrinsics, area-CodeGen-coreclr, untriaged

Milestone: -

@tannergooding tannergooding added the blocking Marks issues that we want to fast track in order to unblock other important work label Jan 4, 2024
@tannergooding
Copy link
Member Author

This is blocking some of the work in the TensorPrimitives area as we're wanting to ensure the vectorized primitives are getting exposed as part of the .NET 9 surface area.

We're still going to be able to make progress as part of the out of band package, but it's going to involve some extra work with the code and additional code duplication until the issue is resolved.

@JulieLeeMSFT JulieLeeMSFT removed the untriaged New issue has not been triaged by the area owner label Jan 4, 2024
@JulieLeeMSFT JulieLeeMSFT added this to the 9.0.0 milestone Jan 4, 2024
@JulieLeeMSFT
Copy link
Member

@jakobbotsch, PTAL this blocking issue.

jakobbotsch added a commit to jakobbotsch/runtime that referenced this issue Jan 5, 2024
Some intrinsics can be a noop when they are imported. For example,
`Unsafe.BitCast<T, T>(X)` just returns its operand when importing. If
that operand is a call then we will run the tail logic of call
importation for that call node twice, since that logic tries to filter
out intrinsic importation with an `IsCall()` check. Switch the check to
be based on `!bIntrinsicImported` instead.

Fix dotnet#96461
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jan 5, 2024
jakobbotsch added a commit that referenced this issue Jan 5, 2024
…96557)

Some intrinsics can be a noop when they are imported. For example,
`Unsafe.BitCast<T, T>(X)` just returns its operand when importing. If
that operand is a call then we will run the tail logic of call
importation for that call node twice, since that logic tries to filter
out intrinsic importation with an `IsCall()` check. Switch the check to
be based on `!bIntrinsicImported` instead.

Fix #96461
@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jan 5, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Feb 5, 2024
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 Marks issues that we want to fast track in order to unblock other important work
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants