Creators-of-Create / Create

[Forge Mod] Building Tools and Aesthetic Technology
MIT License
2.92k stars 907 forks source link

Server Hangs Whilst Player Connects, Related to Conveyor Belts #4552

Closed jeong-jaegyu closed 2 weeks ago

jeong-jaegyu commented 1 year ago

Describe the Bug

Server hangs on single tick, causing a crash. Turns out a conveyor belt was causing an issue, and unstucking the player fixed the issue. ATM8 dev said this was the relevant line, but I'll post the full log also.

at com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.initializeItemHandler(BeltTileEntity.java:175) ~[create-1.19.2-0.5.0.i.jar%23499!/:0.5.0.i] {re:classloading,pl:runtimedistcleaner:A}
    at com.simibubi.create.content.contraptions.relays.belt.BeltTileEntity.getCapability(BeltTileEntity.java:188) ~[create-1.19.2-0.5.0.i.jar%23499!/:0.5.0.i] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraftforge.common.capabilities.ICapabilityProvider.getCapability(ICapabilityProvider.java:33) ~[forge-1.19.2-43.2.6-universal.jar%23748!/:?] {re:computing_frames,re:mixin,re:classloading}

Reproduction Steps

Sadly, I'm not too sure how this issue surfaced. I wish I could give you more details, but I wasn't online and we didn't know the conveyor belt was the issue until I sought help from the ATM8 devs.

Expected Result

Server to start and not crash.

Screenshots and Videos

No response

Crash Report or Log

https://pastebin.com/q0iWUKkh

Operating System

Ubuntu 20.04 LTS

Mod Version

0.5.0i

Minecraft Version

1.19.2

Forge Version

43.2.6

Other Mods

This being from ATM8, there is a lot.

AE2-Things-1.1.1.jar AE2WTLib-12.8.5.jar AEAdditions-1.19.2-4.0.3.jar AEInfinityBooster-1.19.2-1.2.0+11.jar AIOTBotania-1.19.2-3.0.0.jar Ad-Astra-Giselle-Addon-forge-1.19.2-1.12.jar AdditionalEnchantedMiner-1.19.2-19.10.6.jar AdvancedPeripherals-0.7.22b.jar AdvancementPlaques-1.19.2-1.4.7.jar AllTheCompressed-1.19.2-2.0.0.jar AngelRing2-1.19.2-2.1.5.jar Apotheosis-1.19.2-6.0.3.jar Applied-Botanics-1.4.2.jar Applied-Mekanistics-1.3.4.jar Aquaculture-1.19.2-2.4.8.jar AttributeFix-Forge-1.19.2-17.1.3.jar AutoRegLib-1.8.2-55.jar BambooEverything-forge-2.2.4-build.33+mc1.19.2.jar Bookshelf-Forge-1.19.2-16.2.17.jar Botania-1.19.2-437-FORGE.jar BotanyPots-Forge-1.19.2-9.0.27.jar BotanyTrees-Forge-1.19.2-5.0.4.jar CTM-1.19.2-1.1.6+8.jar Clumps-forge-1.19.2-9.0.0+14.jar CommonCapabilities-1.19.2-2.9.0.jar Controlling-forge-1.19.2-10.0+7.jar CosmeticArmorReworked-1.19.2-v1a.jar Croptopia-1.19.2-FORGE-2.2.2.jar Cucumber-1.19.2-6.0.6.jar CyclopsCore-1.19.2-1.17.5.jar DarkUtilities-Forge-1.19.2-13.1.7.jar Delightful-1.19.2-3.2.2.jar DimStorage-1.19.2-7.2.0.jar DungeonCrawl-1.19-2.3.11.jar DungeonsArise-1.19.2-2.1.54-release.jar EdivadLib-1.19.2-1.2.0.jar EvilCraft-1.19.2-1.2.15.jar ExperienceBugFix-1.19-1.41.2.3.jar ExtraDisks-1.19.2-2.2.0.jar ExtraStorage-1.19.2-3.0.1.jar FarmersDelight-1.19-1.2.0.jar FastFurnace-1.19.2-7.0.0.jar FastLeafDecay-30.jar FastSuite-1.19.2-4.0.0.jar FastWorkbench-1.19.2-7.0.1.jar FluxNetworks-1.19.2-7.1.3.12.jar FramedBlocks-6.7.0.jar GameMenuModOption-1.19-1.18.jar GatewaysToEternity-1.19.2-3.1.1.jar GravitationalModulatingAdditionalUnit-1.19.2-2.8.jar HealthOverlay-1.19.2-7.2.1.jar HostileNeuralNetworks-1.19.2-4.0.2.jar Iceberg-1.19.2-forge-1.1.4.jar ImmersiveEngineering-1.19.2-9.1.2-159.jar IntegratedCrafting-1.19.2-1.1.0.jar IntegratedDynamics-1.19.2-1.15.1.jar IntegratedTerminals-1.19.2-1.4.4.jar IntegratedTunnels-1.19.2-1.8.18.jar InventoryProfilesNext-forge-1.19-1.9.2.jar IronJetpacks-1.19.2-6.0.3.jar JCPlugin-1.18.x-1.19.x-2.8.7.jar JustEnoughProfessions-forge-1.19-2.0.1.jar JustEnoughResources-1.19.2-1.2.1.193.jar LibX-1.19.2-4.2.8.jar Mekanism-1.19.2-10.3.8.477.jar MekanismGenerators-1.19.2-10.3.8.477.jar MekanismTools-1.19.2-10.3.8.477.jar Morph-o-Tool-1.6-34.jar MouseTweaks-forge-mc1.19-2.23.jar MyServerIsCompatible-1.19-1.0.jar MysticalAgradditions-1.19.2-6.0.2.jar MysticalAgriculture-1.19.2-6.0.8.jar MysticalCustomization-1.19.2-4.0.1.jar NaturesAura-37.7.jar NaturesCompass-1.19.2-1.10.0-forge.jar NoChatReports-FORGE-1.19.2-v1.5.1.jar Oh_The_Biomes_You'll_Go-forge-1.19.2-2.0.0.13.jar PackMenu-1.19.2-5.1.0.jar Patchouli-1.19.2-77.jar PigPen-Forge-1.19.2-11.1.2.jar Placebo-1.19.2-7.1.2.jar Powah-4.0.6.jar Prism-1.19.1-1.0.2.jar Quark-3.4-389.jar RSInfinityBooster-1.19.2-3.0+27.jar RootsClassic-1.19.2-1.1.34.jar Runelic-Forge-1.19.2-14.1.4.jar ScalableCatsForce-2.13.10-build-10-with-library.jar Shrink-1.19-1.3.5.jar SmartBrainLib-forge-1.19.2-1.8.jar SoL-Carrot-1.19.2-1.14.0.jar StructureCompass-1.19.2-1.3.5.jar SuperFactoryManager-1.19.2-4.4.4.jar TerraBlender-forge-1.19.2-2.0.1.136.jar ThermalExtra 1.19.2-3.0.1.jar ToolBelt-1.19.2-1.19.7.jar TravelAnchors-1.19.2-4.1.2.jar UtilitiX-1.19.2-0.7.6.jar WitherSkeletonTweaks-1.19.2-8.0.0.jar XNetGases-1.19.1-4.0.0.jar XyCraft Core-0.5.17.jar XyCraft Override-0.5.17.jar XyCraft World-0.5.17.jar YungsApi-1.19.2-Forge-3.8.7.jar YungsBetterDungeons-1.19.2-Forge-3.2.2.jar YungsBetterMineshafts-1.19.2-Forge-3.2.0.jar YungsBetterOceanMonuments-1.19.2-Forge-2.1.0.jar YungsBetterStrongholds-1.19.2-Forge-3.2.0.jar YungsBetterWitchHuts-1.19.2-Forge-2.1.0.jar [1.19.2] SecurityCraft v1.9.4.jar absentbydesign-1.19-1.7.0.jar ad_astra-forge-1.19.2-1.12.3.jar additional_lights-1.19-2.1.6.jar additionallanterns-1.0.4-forge-mc1.19.jar advgenerators-1.4.0.5-mc1.19.2.jar alchemistry-1.19.2-2.2.4.jar alchemylib-1.19.2-1.0.20.jar allthemodium-2.1.6-1.19.2-43.1.1.jar alltheores-2.0.2-1.19.2-43.1.3.jar allthetweaks-2.0.4-1.19.2-43.1.3.jar almostunified-forge-1.19.2-0.3.5.jar antighost-1.19.1-forge42.0.1-1.1.3.jar appleskin-forge-mc1.19-2.4.2.jar appliedcooking-2.0.3.jar appliedenergistics2-forge-12.9.2.jar architectury-6.5.69-forge.jar ars_creo-1.19.2-3.1.3.jar ars_elemental-1.19.2-0.5.8.1.jar ars_nouveau-1.19.2-3.12.3.jar artifacts-1.19.2-5.0.1.jar balm-forge-1.19.2-4.5.5.jar baubley-heart-canisters-1.19.2-1.2.3.jar bdlib-1.25.0.5-mc1.19.2.jar biggerreactors-1.19.2-0.6.0-beta.6.jar blockui-1.19-0.0.64-ALPHA.jar blue_skies-1.19.2-1.3.20.jar blueflame-1.19.2-0.1.0.2.jar botarium-forge-1.19.2-1.8.2.jar buildinggadgets-3.16.2-build.22+mc1.19.2.jar cabletiers-1.19.2-0.5471.jar caelus-forge-1.19.2-3.0.0.6.jar cc-tweaked-1.19.2-1.101.2.jar cfm-7.0.0-pre35-1.19.2.jar charginggadgets-1.9.0.jar charmofundying-forge-6.1.1+1.19.2.jar chemlib-1.19.2-2.0.17.jar chipped-forge-1.19.2-2.1.1.jar clickadv-1.19.2-3.0.jar cloth-config-8.2.88-forge.jar cofh_core-1.19.2-10.2.1.40.jar comforts-forge-6.0.3+1.19.2.jar compactmachines-5.1.0.jar configured-2.0.1-1.19.2.jar connectedglass-1.1.6-forge-mc1.19.jar connectivity-1.19.2-3.4.jar constructionwand-1.19.2-2.9.jar cookingforblockheads-forge-1.19.2-13.3.1.jar corail_woodcutter-1.19.2-2.5.1.jar crafting-on-a-stick-1.19.2-1.0.5.jar craftingtweaks-forge-1.19-15.1.6.jar crashutilities-6.2.jar create-1.19.2-0.5.0.i.jar createaddition-1.19.2-20230202b.jar creeperoverhaul-2.0.8-forge.jar ctov-3.1.5a.jar curios-forge-1.19.2-5.1.2.2.jar dankstorage-1.19.2-5.1.6.jar deeperdarker-forge-1.1.6-forge.jar deepresonance-1.19-4.1.2.jar domum_ornamentum-1.19-1.0.76-ALPHA-universal.jar dpanvil-1.19.2-4.3.1.jar dummmmmmy-1.19.2-1.7.1.jar eccentrictome-1.19.2-1.9.1.jar elementalcraft-1.19.2-5.5.10.jar elevatorid-1.19.2-1.8.9.jar elytraslot-forge-6.1.0+1.19.2.jar enderchests-forge-1.19.0-1.10.1.01.jar endertanks-forge-1.19.0-1.12.1.01.jar energymeter-1.19.2-1.0.0.jar engineersdecor-1.19.2-forge-1.3.28.jar ensorcellation-1.19.2-4.2.0.14.jar entangled-1.3.13-forge-mc1.19.jar farmingforblockheads-forge-1.19.2-11.2.0.jar ferritecore-5.0.3-forge.jar findme-3.1.0-forge.jar ftb-chunks-forge-1902.3.15-build.233.jar ftb-essentials-1902.1.10-build.47.jar ftb-industrial-contraptions-1900.1.7-build.212.jar ftb-library-forge-1902.3.14-build.184.jar ftb-quests-forge-1902.4.9-build.195.jar ftb-ranks-forge-1902.1.14-build.70.jar ftb-teams-forge-1902.2.12-build.95.jar ftb-ultimine-forge-1902.3.5-build.65.jar fuelgoeshere-1.19.2-0.1.0.0.jar functionalstorage-1.19.2-1.1.3.jar geckolib-forge-1.19-3.1.40.jar getittogetherdrops-forge-1.19.2-1.3.jar glassential-forge-1.19-1.2.4.jar guardvillagers-1.19.2-1.5.2.jar handcrafted-forge-1.19.2-2.0.2.jar harvestwithease-1.19.2-4.0.0.3-forge.jar hexcasting-forge-1.19.2-0.10.3.jar hexerei-0.2.5.jar industrial-foregoing-1.19.2-3.3.2.2-4.jar integratednbt-1.19.2-1.6.0.jar inventoryessentials-forge-1.19-5.0.2.jar ironfurnaces-1.19.2-3.6.5.jar item-filters-forge-1902.2.9-build.46.jar itemcollectors-1.1.7-forge-mc1.19.jar jei-1.19.2-forge-11.6.0.1011.jar jmi-forge-1.19.2-0.13-30.jar journeymap-1.19.2-5.9.3-forge.jar jumpboat-1.19-0.1.0.5.jar kotlinforforge-3.10.0-all.jar kubejs-forge-1902.6.0-build.142.jar laserio-1.5.2.jar letmedespawn-1.18.x-1.19.x-forge-1.0.3.jar libIPN-forge-1.19-2.0.2.jar littlecontraptions-forge-1.19.2.0.jar littlelogistics-mc1.19.2-v1.3.1.jar lootr-1.19-0.3.22.59.jar mahoutsukai-1.19.2-v1.34.41.jar mcjtylib-1.19-7.1.5.jar mcw-bridges-2.0.6-mc1.19.2forge.jar mcw-doors-1.0.8forge-mc1.19.2.jar mcw-fences-1.0.7-mc1.19.2forge.jar mcw-lights-1.0.5-mc1.19.2forge.jar mcw-roofs-2.2.2-mc1.19.2forge.jar mcw-trapdoors-1.0.8-mc1.19.2forge.jar megacells-forge-2.0.0-beta.7-1.19.2.jar merequester-1.19.2-1.0.3.jar minecolonies-1.19.2-1.0.1247-BETA.jar mininggadgets-1.13.0.jar mob_grinding_utils-1.19.2-0.4.47.jar modonomicon-1.19.2-1.26.0.jar modular-routers-1.19.2-10.2.0-3.jar moonlight-1.19.2-2.2.13-forge.jar moredragoneggs-3.2.jar multipiston-1.19.2-1.2.21-ALPHA.jar myrtrees-forge-1.2.0-build.31.jar naturalist-forge-2.1.1-1.19.2.jar netherportalfix-forge-1.19-10.0.1.jar nomowanderer-1.19.2_1.3.6.jar observable-3.3.1.jar occultism-1.19.2-1.71.1.jar paucal-forge-1.19.2-0.5.0.jar phosphophyllite-1.19.2-0.6.0-beta.6.4.jar pipez-1.19.2-1.0.1.jar platforms-1.19-1.10.2.jar pneumaticcraft-repressurized-1.19.2-4.3.3-22.jar polymorph-forge-0.46.1+1.19.2.jar ponderjs-1.19.2-1.1.11.jar potionsmaster-0.6.0-1.19.2-43.1.1.jar productivebees-1.19.2-0.10.5.2.jar pylons-1.19.2-3.1.0.jar quartz-1.19.2-0.1.0-beta.1.jar radon-0.8.2.jar rangedpumps-1.0.0.jar rebornstorage-1.19.2-5.0.3.jar rechiseled-1.0.12a-forge-mc1.19.jar redstone_arsenal-1.19.2-7.2.0.15.jar refinedcooking-3.0.3.jar refinedstorage-1.11.5.jar refinedstorageaddons-0.9.0.jar reliquary-1.19.2-2.0.20.1166.jar repurposed_structures_forge-6.3.11+1.19.2.jar resourcefulconfig-forge-1.19.2-1.0.19.jar resourcefullib-forge-1.19.2-1.1.22.jar rftoolsbase-1.19.1-4.1.5.jar rftoolsbuilder-1.19.1-5.2.3.jar rftoolscontrol-1.19-6.1.2.jar rftoolspower-1.19-5.1.1.jar rftoolsstorage-1.19-4.1.0.jar rftoolsutility-1.19-5.1.4.jar rhino-forge-1902.2.2-build.264.jar rsrequestify-2.3.0.jar saturn-mc1.19.2-0.0.1.jar sebastrnlib-2.0.1.jar shetiphiancore-forge-1.19.0-3.11.3.01.jar silent-gear-1.19.2-3.2.5.jar silent-lib-1.19.2-7.0.3.jar simplemagnets-1.1.9-forge-mc1.19.jar simplylight-1.19.2-1.4.5-build.42.jar smallships-1.19.2-2.0.0-Alpha-0.4.jar smoothboot(reloaded)-mc1.19.2-0.0.2.jar sophisticatedbackpacks-1.19.2-3.18.40.779.jar sophisticatedcore-1.19.2-0.5.38.203.jar sophisticatedstorage-1.19.2-0.6.16.276.jar spark-1.10.29-forge.jar spirit-forge-1.19.2-2.2.3.jar structure_gel-1.19.2-2.7.1.jar structurize-1.19.2-1.0.472-BETA.jar supermartijn642configlib-1.1.6b-forge-mc1.19.jar supermartijn642corelib-1.1.4-forge-mc1.19.jar supplementaries-1.19.2-2.2.51.jar systeams-1.2.2.jar tempad-forge-1.19.2-1.4.4.jar tesseract-1.0.29-forge-mc1.19.jar theoneprobe-1.19-6.2.2.jar thermal_cultivation-1.19.2-10.2.0.17.jar thermal_dynamics-1.19.2-10.2.1b.14.jar thermal_expansion-1.19.2-10.2.0.21.jar thermal_foundation-1.19.2-10.2.0.47.jar thermal_innovation-1.19.2-10.2.0.18.jar thermal_integration-1.19.2-10.2.0.17.jar thermal_locomotion-1.19.2-10.2.0.14.jar theurgy-1.19.2-1.3.0.jar time-in-a-bottle-3.0.1-mc1.19.jar titanium-1.19.2-3.7.2-26.jar tombstone-8.2.5-1.19.2.jar torchmaster-19.2.0.jar trashcans-1.0.17-forge-mc1.19.jar trashslot-forge-1.19-12.0.2.jar twilightforest-1.19.2-4.2.1518-universal.jar universalgrid-1.19.2-1.033.jar villagertools-1.19-1.0.3.jar vitalize-forge-1.19.2-1.1.1.jar voidtotem-forge-1.19.2-2.1.0.jar waystones-forge-1.19.1-11.2.0.jar wirelesschargers-1.0.8-forge-mc1.19.jar xnet-1.19-5.1.3.jar yeetusexperimentus-1.0.1-build.2+mc1.19.1.jar

Additional Context

No response

InteJason commented 1 year ago

Bumping this. Not sure if it is the same issue, but it seems to happen in DawnCraft as well. https://pastebin.com/MbMksqiq

Teleporting players out of the chunk using nbteditor fixes it.

Firestorm7893 commented 1 year ago

I'm having the same issue, server times out and crashes when logging in. https://pastebin.com/3xrT1abY

Edit: teleporting players away fixes it

StormCircuit commented 1 year ago

"Turns out a conveyor belt was causing an issue, and unstucking the player fixed the issue."

Could you expand on this please? A stuck player on a belt becoming unstuck fixed it?

jeong-jaegyu commented 1 year ago

Sorry, it was 3AM while I was writing this out. I used crashutils unstuck command, from the server console directly. It effectively just teleports the player to spawn.

UdoMorgenstern commented 1 year ago

same issue on create-1.19.2-0.5.1.b using forge 43.2.14 Beware its now called BeltBlockEntity

Root cause is in BeltBlockEntity.java lines 186/187 https://github.com/Creators-of-Create/Create/blob/39ef3da5df0fad2054d8b95f15b51b4199479774/src/main/java/com/simibubi/create/content/kinetics/belt/BeltBlockEntity.java#LL187C3-L187C3

if (!isRemoved() && !itemHandler.isPresent()) initializeItemHandler();

commenting out this lines resolves the issue - no side effects seen since Feb 4 same issue as https://github.com/Creators-of-Create/Create/issues/4413

TigerWalts commented 1 year ago

The call to level.getBlockEntity() inside initializeItemHandler() is triggering a task in worker thread(s) that isn't completing.

There's probably already a lock on a world data structure in this scenario (inside a getCapability() call) so this results in a deadlock.

The commit for the lines that add the call to initializeItemHandler() say it was to ensure the ItemHandler is available on the first tick - https://github.com/Creators-of-Create/Create/commit/405b7cbc3691648a64f22776481eff48c677f8c8

But no mention of what this actually fixed. A crash or undesirable behaviour? If the latter, then removing these lines would be the better option.


EDIT

I was able to stop the crashing in one case by updating the modpack (Vault Hunters 3 - 10.0.0 to 10.1.0) and approaching the chunks from a distance. Not sure which of these fixed it.

It does open the possibility that some other mod was causing the `level.getBlockEntity() call to result in a hang.


Unfortunately this wasn't a permanent fix. Eventually it gets into a state where a player logging into the chunk and forcing it to load will cause the hang.

github-actions[bot] commented 2 weeks ago

Outdated Create Version: Since you are using an outdated Create version, please update to the latest version as it may resolve your issue. If this issue persists after updating Create, feel free to open a new issue. Thanks!