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

Fix Sleep/Purity checks being skipped under certain overrides #311

Merged
merged 3 commits into from
Apr 15, 2022

Conversation

fira
Copy link
Contributor

@fira fira commented Mar 26, 2022

Long overdue PR for #267 and as discuted on coderbus ages ago back then

TL;DR is, there being an override one way or another shouldn't prevent you from checking children too

Discovered on CM-SS13 as we had a controller held up by sleep randomly in production, and no amount of hammering SHOULD_NOT_SLEEP checks seemed to trip anything !

As additional and separate note, and as we discussed back then on coderbus, there are more situations with assumptions of types that mean SpacemanDMM will miss out on a big part of the violators. It's actually for best, because "properly" checking is near impossible on SS13 due to double dispatch constructs just about erasing the "actual" types. This resulted in about 25,000 violating procs when fixing it for CM-SS13, for example...

@spookydonut
Copy link
Collaborator

@fira I'd like to see a test case written for this that proves it works and will fail if your changes are removed.

@fira
Copy link
Contributor Author

fira commented Mar 26, 2022

@fira I'd like to see a test case written for this that proves it works and will fail if your changes are removed.

there is a snippet in the issue but let me add a test proper then too

@spookydonut spookydonut merged commit 7e5335e into SpaceManiac:master Apr 15, 2022
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.

2 participants