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

Ability to detect a tainted instance #4220

Merged
merged 23 commits into from
Mar 12, 2024
Merged

Ability to detect a tainted instance #4220

merged 23 commits into from
Mar 12, 2024

Conversation

john-sharratt
Copy link
Contributor

This needs to go in first
#4211

john-sharratt and others added 20 commits September 10, 2023 18:34
- When registering a handler twice it would fail the second time
- DONTROUTE was being set which basically breaks all networking
- Poll was registered on the wrong events (this was introduced in this patch earlier rather than from mainline)
- The writable event was being triggered at the wrong time (i.e. either too early or two late) - converted to a non-blocking poll call instead
- Added a unit test so that this doesn't happen again
- Fixed the windows build issues
- Fixed some linting errors
- Fixed some epoll backwards compatible issues
- Implemented a unit tests for epoll to google
@theduke theduke enabled auto-merge (rebase) September 18, 2023 12:43
Copy link
Contributor

@Michael-F-Bryan Michael-F-Bryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You'll generally want to share a Runtime to reuse the same thread pool, any connections that may still be held open by the HTTP client, in-memory caches, and so on.

With that in mind, I think we need to include some sort of ID (or a reference to the wasmer::Instance) in on_taint() that allows the runtime to know which instance became tainted. Otherwise we've just got a "something went wrong" callback and the only way to know which instance became tainted is through context, which is pretty brittle.

@syrusakbary
Copy link
Member

We'll keep this open for now, but ideally we should use proper signal propagation to implement this properly (based on @theduke feedback)

auto-merge was automatically disabled March 11, 2024 12:14

Rebase failed

@theduke theduke enabled auto-merge (rebase) March 12, 2024 15:47
auto-merge was automatically disabled March 12, 2024 16:36

Rebase failed

@theduke theduke merged commit 7d2226f into master Mar 12, 2024
59 checks passed
@theduke theduke deleted the tainting branch March 12, 2024 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants