gnembon / fabric-carpet

Fabric Carpet
MIT License
1.71k stars 276 forks source link

[1.19.2 Crash] Tick Speed mixin crashes #1746

Closed itsdinkd closed 1 year ago

itsdinkd commented 1 year ago

After adding carpet back into my server for AQM2, there has been a lot of different crashes from other mods but also involving carpet's mixin, carpet/mixins/MinecraftServer_tickspeedMixin. this keeps happening, 6-8x a day. when carpet is removed, it doesnt happen anymore.

https://mclo.gs/DSXOI1U https://mclo.gs/Whj3QM https://mclo.gs/wBrV4Ln

altrisi commented 1 year ago

Second log is expired. Third crash has nothing to do with Carpet, it's some discord mod doing something with the discord api they're using (JDA) The Requester has been stopped! No new requests can be requested! at ru.aiefu.discordium.discord.DiscordLink.sendEmbed(DiscordLink.java:272). Carpet doesn't even know that discord api exists given minecraft doesn't have it so it can't even try to interact with it.

First crash is a watchdog crash, meaning something got stuck for too long. Looks like the main thread is blocked on a String (a bad idea IMO), and seems to have happened when customportalblock was createDestinationPortal, locking later in a call to vanilla code, so it may be some race condition/wrong thread call, or some mod interacting weirdly there.

MinecraftServer_tickspeedMixin#modifiedRunLoop is mostly a wrapper around the vanilla ticker so it's common to appear, it's weird that it only seems to happen with Carpet, but I can't see anything really pointing to it being the issue (it's literally only down at the bottom where it should be and not referenced anymore).

Just in case, what Carpet features are you using? Are you using other extensions? To see if any may be related, though I wouldn't know how to relate them with these.

itsdinkd commented 1 year ago

apologies on the late reply.

The features i was using were very minimal. I mainly use carpet in our public servers for certain commands like /player, a player movement script for when a new world wipe happens, and logging.

Features enabled; betterBonemeal true missingTools true commandScript ops placementRotationFix true emptyShulkerBoxStackAlways true accurateBlockPlacement true structureBlockDoNotPreserveFluid true chickenShearing true

itsdinkd commented 1 year ago

also thank you for the insight and diagnosis. that was very helpful on how to read the stacktrace properly

altrisi commented 1 year ago

Don't think those should cause this.

Going to close this for now, though if you find another issues or need more help feel free to open a new one or ask in the discord.