Skip to content

Conversation

@janvorli
Copy link
Member

@janvorli janvorli commented Jan 5, 2023

There is an incorrect assert checking that when pthread_cond_timedwait timeouts, the event is not set. That assumption is incorrect, according to the pthread_cond_timedwait documentation.

It fired in one of the CI runs recently.

Close #80166

There is an incorrect assert checking that when `pthread_cond_timedwait`
timeouts, the event is not set. That assumption is incorrect, according
to the `pthread_cond_timedwait` documentation.

It fired in one of the CI runs recently.

Close dotnet#80166
@janvorli janvorli added this to the 8.0.0 milestone Jan 5, 2023
@janvorli janvorli requested a review from jkotas January 5, 2023 21:59
@janvorli janvorli self-assigned this Jan 5, 2023
@ghost
Copy link

ghost commented Jan 5, 2023

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

Issue Details

There is an incorrect assert checking that when pthread_cond_timedwait timeouts, the event is not set. That assumption is incorrect, according to the pthread_cond_timedwait documentation.

It fired in one of the CI runs recently.

Close #80166

Author: janvorli
Assignees: janvorli
Labels:

area-NativeAOT-coreclr

Milestone: 8.0.0

@jkotas
Copy link
Member

jkotas commented Jan 5, 2023

Here as well:

// Verify that if the wait timed out, the event was not set
assert((st != ETIMEDOUT) || !m_state);

@janvorli janvorli merged commit 0bfa052 into dotnet:main Jan 6, 2023
@janvorli janvorli deleted the fix-incorrect-event-wait-assert branch January 6, 2023 16:02
@ghost ghost locked as resolved and limited conversation to collaborators Feb 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Assertion failure: uint32_t GCEvent::Impl::Wait(uint32_t, bool): Assertion `(st != 110) || !m_state' failed

2 participants