Create Fabric

Create Fabric

10M Downloads

Game crash after 0.5.1b upgrade

rphsantos opened this issue ยท 6 comments

commented

Describe the Bug

The game started to crash after upgrading from 0.5.0 to 0.5.1b, when I get close to my base. This is the error displayed:

java.lang.NullPointerException: Fluid may not be null.
	at java.base/java.util.Objects.requireNonNull(Objects.java:233)
	at net.fabricmc.fabric.impl.transfer.fluid.FluidVariantImpl.of(FluidVariantImpl.java:37)
	at net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.of(FluidVariant.java:72)
	at net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.of(FluidVariant.java:61)
	at io.github.fabricators_of_create.porting_lib.util.FluidStack.<init>(FluidStack.java:101)
	at com.simibubi.create.content.fluids.transfer.FluidManipulationBehaviour.playEffect(FluidManipulationBehaviour.java:227)
	at com.simibubi.create.content.fluids.transfer.FluidDrainingBehaviour.pullNext(FluidDrainingBehaviour.java:139)
	at com.simibubi.create.content.fluids.hosePulley.HosePulleyFluidHandler.extract(HosePulleyFluidHandler.java:63)
	at com.simibubi.create.content.fluids.hosePulley.HosePulleyFluidHandler.extract(HosePulleyFluidHandler.java:21)
	at io.github.fabricators_of_create.porting_lib.transfer.TransferUtil.extractMatching(TransferUtil.java:671)
	at com.simibubi.create.content.fluids.FlowSource.provideFluid(FlowSource.java:32)
	at com.simibubi.create.content.fluids.PipeConnection.manageFlows(PipeConnection.java:121)
	at com.simibubi.create.content.fluids.FluidTransportBehaviour.tick(FluidTransportBehaviour.java:132)
	at java.base/java.util.HashMap$Values.forEach(HashMap.java:1065)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntity.forEachBehaviour(SmartBlockEntity.java:177)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntity.tick(SmartBlockEntity.java:80)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntityTicker.tick(SmartBlockEntityTicker.java:15)
	at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:660)
	at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:714)
	at net.minecraft.class_1937.method_18471(class_1937.java:456)
	at net.minecraft.class_3218.method_18765(class_3218.java:376)
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:875)
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:819)
	at net.minecraft.class_1132.method_3748(class_1132.java:98)
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:665)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
	at java.base/java.lang.Thread.run(Thread.java:833)

Reproduction Steps

  1. Open game
  2. Wait one second
  3. Crash
    ...

Expected Result

No crashes :(

Screenshots and Videos

No response

Crash Report or Log

https://pastebin.com/zKfxj0Zs

Operating System

Fedora 38

Mod Version

0.5.1b

Minecraft Version

1.19.2

Other Mods

		betterf3: BetterF3 4.0.0
		cloth-config: Cloth Config v8 8.2.88
		continuity: Continuity 2.0.1+1.19
		create: Create 0.5.1-b-build.1079+mc1.19.2
		fabric-api: Fabric API 0.76.0+1.19.2
		fabricloader: Fabric Loader 0.14.19
		freecam: Freecam (Modrinth Edition) 1.1.6
		indium: Indium 1.0.9+mc1.19.2
		jade: Jade 8.7.3
		jadeaddons: Jade Addons 3.1.0
		java: OpenJDK 64-Bit Server VM 17
		jei: Just Enough Items 11.5.2.1007
		lambdynlights: LambDynamicLights 2.2.0+1.19.2
		litematica: Litematica 0.12.6
		lithium: Lithium 0.10.4
		malilib: MaLiLib 0.13.0
		minecraft: Minecraft 1.19.2
		minihud: MiniHUD 0.23.3
		modmenu: Mod Menu 4.1.2
		reeses-sodium-options: Reese's Sodium Options 1.4.9+mc1.19.2-build.67
		sodium: Sodium 0.4.4+build.18
		tweakeroo: Tweakeroo 0.14.3

Additional Context

No response

commented

smt is broken with hose pullies and fluids being null. idk why a fluid is null tho, that probably smt with saved data from before the update.

commented

The block being ticked that generated the exception is near a hose pulley:

2023-06-23_18 38 38

commented

I restored a backup and tried upgrading again, and the problem is gone!

I was in the nether in the first upgrade and had a chunk loader near my base. Maybe this corrupted the data somehow.

commented

I'm having the same issue on a server in a new world that has only run 0.5.1b (so the issue can't be from migrating), also on 1.19.2.

The block being ticked that caused the exception was a pipe also near a hose pulley. Breaking it fixed it.

I think this issue should be reopened because the cause for this hasn't been found and solved yet.

Log

// Uh... Did I do that?

Time: 2023-07-23 17:48:56
Description: Ticking block entity

java.lang.NullPointerException: Fluid may not be null.
	at java.base/java.util.Objects.requireNonNull(Unknown Source)
	at net.fabricmc.fabric.impl.transfer.fluid.FluidVariantImpl.of(FluidVariantImpl.java:37)
	at net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.of(FluidVariant.java:72)
	at net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.of(FluidVariant.java:61)
	at io.github.fabricators_of_create.porting_lib.util.FluidStack.<init>(FluidStack.java:101)
	at com.simibubi.create.content.fluids.transfer.FluidManipulationBehaviour.playEffect(FluidManipulationBehaviour.java:227)
	at com.simibubi.create.content.fluids.transfer.FluidDrainingBehaviour.pullNext(FluidDrainingBehaviour.java:139)
	at com.simibubi.create.content.fluids.hosePulley.HosePulleyFluidHandler.extract(HosePulleyFluidHandler.java:63)
	at com.simibubi.create.content.fluids.hosePulley.HosePulleyFluidHandler.extract(HosePulleyFluidHandler.java:21)
	at io.github.fabricators_of_create.porting_lib.transfer.TransferUtil.extractMatching(TransferUtil.java:671)
	at com.simibubi.create.content.fluids.FlowSource.provideFluid(FlowSource.java:32)
	at com.simibubi.create.content.fluids.PipeConnection.manageFlows(PipeConnection.java:121)
	at com.simibubi.create.content.fluids.FluidTransportBehaviour.tick(FluidTransportBehaviour.java:132)
	at java.base/java.util.HashMap$Values.forEach(Unknown Source)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntity.forEachBehaviour(SmartBlockEntity.java:177)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntity.tick(SmartBlockEntity.java:80)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntityTicker.tick(SmartBlockEntityTicker.java:15)
	at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:660)
	at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:714)
	at net.minecraft.class_1937.method_18471(class_1937.java:456)
	at net.minecraft.class_3218.method_18765(class_3218.java:376)
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:875)
	at net.minecraft.class_3176.method_3813(class_3176.java:289)
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:819)
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:665)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
	at java.base/java.lang.Thread.run(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Server thread
Stacktrace:
	at java.base/java.util.Objects.requireNonNull(Unknown Source)
	at net.fabricmc.fabric.impl.transfer.fluid.FluidVariantImpl.of(FluidVariantImpl.java:37)
	at net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.of(FluidVariant.java:72)
	at net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant.of(FluidVariant.java:61)
	at io.github.fabricators_of_create.porting_lib.util.FluidStack.<init>(FluidStack.java:101)
	at com.simibubi.create.content.fluids.transfer.FluidManipulationBehaviour.playEffect(FluidManipulationBehaviour.java:227)
	at com.simibubi.create.content.fluids.transfer.FluidDrainingBehaviour.pullNext(FluidDrainingBehaviour.java:139)
	at com.simibubi.create.content.fluids.hosePulley.HosePulleyFluidHandler.extract(HosePulleyFluidHandler.java:63)
	at com.simibubi.create.content.fluids.hosePulley.HosePulleyFluidHandler.extract(HosePulleyFluidHandler.java:21)
	at io.github.fabricators_of_create.porting_lib.transfer.TransferUtil.extractMatching(TransferUtil.java:671)
	at com.simibubi.create.content.fluids.FlowSource.provideFluid(FlowSource.java:32)
	at com.simibubi.create.content.fluids.PipeConnection.manageFlows(PipeConnection.java:121)
	at com.simibubi.create.content.fluids.FluidTransportBehaviour.tick(FluidTransportBehaviour.java:132)
	at java.base/java.util.HashMap$Values.forEach(Unknown Source)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntity.forEachBehaviour(SmartBlockEntity.java:177)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntity.tick(SmartBlockEntity.java:80)
	at com.simibubi.create.foundation.blockEntity.SmartBlockEntityTicker.tick(SmartBlockEntityTicker.java:15)
	at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:660)
	at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:714)
	at net.minecraft.class_1937.method_18471(class_1937.java:456)
	at net.minecraft.class_3218.method_18765(class_3218.java:376)

-- Block entity being ticked --
Details:
	Name: create:fluid_pipe // com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity
	Block: Block{create:fluid_pipe}[down=false,east=true,north=true,south=false,up=false,waterlogged=false,west=true]
	Block location: World: (670,72,-506), Section: (at 14,8,6 in 41,4,-32; chunk contains blocks 656,-64,-512 to 671,319,-497), Region: (1,-1; contains chunks 32,-32 to 63,-1, blocks 512,-64,-512 to 1023,319,-1)
	Block: Block{create:fluid_pipe}[down=false,east=true,north=true,south=false,up=false,waterlogged=false,west=true]
	Block location: World: (670,72,-506), Section: (at 14,8,6 in 41,4,-32; chunk contains blocks 656,-64,-512 to 671,319,-497), Region: (1,-1; contains chunks 32,-32 to 63,-1, blocks 512,-64,-512 to 1023,319,-1)
Stacktrace:
	at net.minecraft.class_2818$class_5563.method_31703(class_2818.java:660)
	at net.minecraft.class_2818$class_5564.method_31703(class_2818.java:714)
	at net.minecraft.class_1937.method_18471(class_1937.java:456)
	at net.minecraft.class_3218.method_18765(class_3218.java:376)
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:875)
	at net.minecraft.class_3176.method_3813(class_3176.java:289)
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:819)
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:665)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
	at java.base/java.lang.Thread.run(Unknown Source)

-- Affected level --
Details:
	All players: 3 total; [class_3222['Cas2008'/211, l='ServerLevel[world]', x=-536.44, y=88.00, z=8.73], class_3222['FOSNL'/717, l='ServerLevel[world]', x=-518.98, y=83.00, z=-44.37], class_3222['ketrab2004'/793, l='ServerLevel[world]', x=585.70, y=78.03, z=-417.62]]
	Chunk stats: 4894
	Level dimension: minecraft:overworld
	Level spawn location: World: (0,79,32), Section: (at 0,15,0 in 0,4,2; chunk contains blocks 0,-64,32 to 15,319,47), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511)
	Level time: 1042580 game time, 171139 day time
	Level name: world
	Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
	Level weather: Rain time: 89269 (now: false), thunder time: 67341 (now: false)
	Known server brands: fabric
	Level was modded: true
	Level storage version: 0x04ABD - Anvil
Stacktrace:
	at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:875)
	at net.minecraft.class_3176.method_3813(class_3176.java:289)
	at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:819)
	at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:665)
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:257)
	at java.base/java.lang.Thread.run(Unknown Source)

-- System Details --
Details:
	Minecraft Version: 1.19.2
	Minecraft Version ID: 1.19.2
	Operating System: Linux (amd64) version 5.4.0-149-generic
	Java Version: 17.0.4.1, Eclipse Adoptium
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
	Memory: 513017344 bytes (489 MiB) / 2061500416 bytes (1966 MiB) up to 2306867200 bytes (2200 MiB)
	CPUs: 2
	Processor Vendor: AuthenticAMD
	Processor Name: AMD EPYC 7402P 24-Core Processor
	Identifier: AuthenticAMD Family 23 Model 49 Stepping 0
	Microarchitecture: Zen 2
	Frequency (GHz): -0.00
	Number of physical packages: 1
	Number of physical CPUs: 24
	Number of logical CPUs: 48
	Graphics card #0 name: unknown
	Graphics card #0 vendor: unknown
	Graphics card #0 VRAM (MB): 0.00
	Graphics card #0 deviceId: unknown
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MB): 129864.12
	Virtual memory used (MB): 204353.78
	Swap memory total (MB): 1024.00
	Swap memory used (MB): 871.02
	JVM Flags: 3 total; -XX:MaxMetaspaceSize=300M -Xmx2200M -Xms1100M
	Fabric Mods: 
		architectury: Architectury 6.5.85
		cloth-config: Cloth Config v8 8.3.103
			cloth-basic-math: cloth-basic-math 0.6.1
		create: Create 0.5.1-b-build.1089+mc1.19.2
			com_google_code_findbugs_jsr305: jsr305 3.0.2
			forge_tags: Porting Lib Tags 3.0
			forgeconfigapiport: Forge Config API Port 4.2.9
				com_electronwill_night-config_core: core 3.6.5
				com_electronwill_night-config_toml: toml 3.6.5
			milk: Milk Lib 1.0.51
				dripstone_fluid_lib: Dripstone Fluid Lib 2.0.1
			porting_lib_accessors: Porting Lib Accessors 2.1.1038+1.19.2
			porting_lib_base: Porting Lib Base 2.1.1038+1.19.2
				mm: Manningham Mills 2.3
				porting_lib_lazy_registration: Porting Lib Lazy Register 2.1.1038+1.19.2
				porting_lib_loot: Porting Lib Loot 2.1.1038+1.19.2
				porting_lib_model_generators: Porting Lib Model Generators 2.1.1038+1.19.2
				porting_lib_models: Porting Lib Models 2.1.1038+1.19.2
				serialization_hooks: Serialization Hooks 0.3.26
			porting_lib_entity: Porting Lib Entity 2.1.1038+1.19.2
			porting_lib_extensions: Porting Lib Extensions 2.1.1038+1.19.2
			porting_lib_fake_players: Porting Lib Fake Players 2.1.1038+1.19.2
			porting_lib_networking: Porting Lib Networking 2.1.1038+1.19.2
			porting_lib_obj_loader: Porting Lib Obj Loader 2.1.1038+1.19.2
				com_github_llamalad7_mixinextras: MixinExtras 0.2.0-beta.6
				porting_lib_attributes: Porting Lib Attributes 2.1.1038+1.19.2
				porting_lib_common: Porting Lib Common 2.1.1038+1.19.2
				porting_lib_constants: Porting Lib Constants 2.1.1038+1.19.2
				porting_lib_model_loader: Porting Lib Model Loader 2.1.1038+1.19.2
			porting_lib_transfer: Porting Lib Transfer 2.1.1038+1.19.2
			reach-entity-attributes: Reach Entity Attributes 2.3.0
			registrate-fabric: Registrate for Fabric 1.1.58-MC1.19.2
		fabric-api: Fabric API 0.76.0+1.19.2
			fabric-api-base: Fabric API Base 0.4.15+8f4e8eb390
			fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.14+93d8cb8290
			fabric-biome-api-v1: Fabric Biome API (v1) 9.1.1+16f1e31390
			fabric-block-api-v1: Fabric Block API (v1) 1.0.2+e415d50e90
			fabric-command-api-v1: Fabric Command API (v1) 1.2.16+f71b366f90
			fabric-command-api-v2: Fabric Command API (v2) 2.2.1+413cbbc790
			fabric-commands-v0: Fabric Commands (v0) 0.2.33+df3654b390
			fabric-containers-v0: Fabric Containers (v0) 0.1.41+df3654b390
			fabric-content-registries-v0: Fabric Content Registries (v0) 3.5.2+7c6cd14d90
			fabric-convention-tags-v1: Fabric Convention Tags 1.3.0+4bc6e26290
			fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.8+aeb40ebe90
			fabric-data-generation-api-v1: Fabric Data Generation API (v1) 5.3.8+413cbbc790
			fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.35+0d0f210290
			fabric-entity-events-v1: Fabric Entity Events (v1) 1.5.4+9244241690
			fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.34+562bff6e90
			fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.36+df3654b390
			fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.24+b6b6abb490
			fabric-item-api-v1: Fabric Item API (v1) 1.6.6+b7d1888890
			fabric-item-groups-v0: Fabric Item Groups (v0) 0.3.39+9244241690
			fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.4+1b46dc7890
			fabric-loot-api-v2: Fabric Loot API (v2) 1.1.13+83a8659290
			fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.16+9e7660c690
			fabric-message-api-v1: Fabric Message API (v1) 5.0.7+93d8cb8290
			fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.24+33fbc73890
			fabric-networking-api-v1: Fabric Networking API (v1) 1.2.11+10eb22f490
			fabric-networking-v0: Fabric Networking (v0) 0.3.28+df3654b390
			fabric-object-builder-api-v1: Fabric Object Builder API (v1) 4.2.2+d8ef690890
			fabric-particles-v1: Fabric Particles (v1) 1.0.14+4d0d570390
			fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.1+413cbbc790
			fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.9.32+9244241690
			fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.19+6e0787e690
			fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.11+4d0d570390
			fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.1.2+aae9039d90
			fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.8.4+edbdcddb90
			fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.7+1cc24b1b90
			fabric-transfer-api-v1: Fabric Transfer API (v1) 2.1.6+413cbbc790
			fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 1.3.3+08b73de490
		fabricloader: Fabric Loader 0.14.21
		java: OpenJDK 64-Bit Server VM 17
		jei: Just Enough Items 11.6.0.1016
		lithium: Lithium 0.11.1
		minecraft: Minecraft 1.19.2
		phosphor: Phosphor 0.8.1
		worldedit: WorldEdit 7.2.12+6240-87f4ae1
	Server Running: true
	Player Count: 3 / 20; [class_3222['Cas2008'/211, l='ServerLevel[world]', x=-536.44, y=88.00, z=8.73], class_3222['FOSNL'/717, l='ServerLevel[world]', x=-518.98, y=83.00, z=-44.37], class_3222['ketrab2004'/793, l='ServerLevel[world]', x=585.70, y=78.03, z=-417.62]]
	Data Packs: vanilla, Fabric Mods
	World Generation: Stable
	Is Modded: Definitely; Server brand changed to 'fabric'
	Type: Dedicated Server (map_server.txt)

commented

Reopening as requested.

I'm not certain about the cause, but i can give more details about the situation.

This was before I realized that you can just use a pipe to pump water, without needing to use a hose pulley.

In my previous setup, I dug a tunnel from where my hose pulley was, to a lake nearby. After the upgrade, trying to load the area from the nether crashed the game, with the exception described in this bug.

Maybe having part of the water source outside of the ticked chunks caused this issue, but I'm not certain. After I replaced the hose pulley with two water sources and a pipe, I had no more issues.

commented

this seems to have been fixed in c/d