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

Improved UpdateSuppressionCrashFix #143

Open
wants to merge 6 commits into
base: staging
Choose a base branch
from
Open

Improved UpdateSuppressionCrashFix #143

wants to merge 6 commits into from

Conversation

PentaSteve
Copy link

@PentaSteve PentaSteve commented Jan 10, 2021

A fix for the crashes that instant scheduling can cause

@Earthcomputer
Copy link
Collaborator

There is already updateSuppressionCrashFix, and I think we should reuse that rule. Other than that, it would be better to go through the tick phases that still aren't covered by that rule and cover them with a try catch (I think entity tick, tile entity tick and random ticks pretty much cover it). This fix causes subtle changes in behaviour by catching the exception earlier and therefore allowing execution of the code to continue.

@Earthcomputer
Copy link
Collaborator

... I mean you completely ignored the rest of my comment.

@PentaSteve
Copy link
Author

I will do that soon.

@PentaSteve
Copy link
Author

This PR seems to have been forgotten about

@Earthcomputer
Copy link
Collaborator

Earthcomputer commented Jan 20, 2021

No it hasn't, you have continued to ignore the rest of my comment, also the PR as it stands doesn't even do what it's claiming

@PentaSteve
Copy link
Author

ok so the only tick phases that aren't covered by update suppression crash fix are autosave, network, and players. Entirely possible that I missed one, but I think that is everything that isn't covered.

@PentaSteve
Copy link
Author

PentaSteve commented Jan 21, 2021

Also I've actually been testing this on an smp that has itt

@Earthcomputer
Copy link
Collaborator

Sorry, but this PR does not reflect the changes your are testing then. Click "changed files" at the top.

@PentaSteve PentaSteve changed the title Added instantSchedulingCrashFix Improved UpdateSuppressionCrashFix Jan 21, 2021
@Earthcomputer
Copy link
Collaborator

You are being quite uncooperative. Please listen to what I'm trying to say or I will unfortunately have to reject this PR.

@PentaSteve
Copy link
Author

I'm trying, just struggling to understand

@PentaSteve
Copy link
Author

The code in changed files is all that is needed. I found that the already existing try catch wasn't preventing all crashes, so I modified it slightly so that it will prevent all crashes in world tick or update entities.

@Earthcomputer
Copy link
Collaborator

What you need to do is modify more code to throw a ThrowableSuppression rather than removing the purpose of ThrowableSuppression.

@Earthcomputer
Copy link
Collaborator

You are getting closer to a good solution, however you still haven't taken into account part of my first message:

it would be better to go through the tick phases that still aren't covered by that rule and cover them with a try catch (I think entity tick, tile entity tick and random ticks pretty much cover it)

@PentaSteve
Copy link
Author

as far as I can tell, that should be all tick phases where a crash could occur.

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.

3 participants