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

[runtime] No way to remove coroutines from timer #993

Open
iyzhang opened this issue Nov 3, 2023 · 0 comments
Open

[runtime] No way to remove coroutines from timer #993

iyzhang opened this issue Nov 3, 2023 · 0 comments
Labels
bug Something Isn't Working

Comments

@iyzhang
Copy link
Contributor

iyzhang commented Nov 3, 2023

Description

While we have moved the Timer over to Yielders, we now have no way to check if the yielder is still valid when the timer goes off.

How to Reproduce

  1. Create an active socket and connect.
  2. Finish connecting and then immediately close the socket.
  3. Move time forward by a lot.
  4. The timer will go off but the socket will already have been closed and all of its coroutines cleaned up, causing a panic in the scheduler as it tries to run the background coroutine.

Expected Behavior

When sockets are destroyed (e.g., when moving from active open to established or established to closed), we should clean up all coroutines and data structures that might have references to the socket.

Related Issues

#597

@iyzhang iyzhang added the bug Something Isn't Working label Nov 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something Isn't Working
Projects
None yet
Development

No branches or pull requests

1 participant