Refined Storage

Refined Storage

115M Downloads

IllegalStateException: An outer transaction is already active on this thread - while extracting fluid from an external storage

Closed this issue ยท 0 comments

commented

Describe the bug

One of my players complained that it doesn't work anymore to get a bucket of liquid from a grid if that fluid is backed by an external storage.

While she was demonstrating, the attached exception was thrown in the server console.

How can we reproduce this bug or crash?

  1. Fabric dedicated server
  2. RS Controller, Crafting grid
  3. External storage connected to Oritech fluid tank containing water
  4. optionally, a drive containing empty buckets (or buckets in player inv)

In grid, click on water icon

Expected: Get bucket of water

Observed: Nothing happens on client side. Exception thrown in server console (see log)

What Minecraft version is this happening on?

Minecraft 1.21.1

What NeoForge or Fabric version is this happening on?

fabric-server-mc.1.21.1-loader.0.16.10-launcher.1.0.1

What Refined Storage version is this happening on?

refinedstorage-fabric-2.0.0-beta.2

Relevant log output

java.lang.IllegalStateException: An outer transaction is already active on this thread.                                 
        at knot/net.fabricmc.fabric.impl.transfer.transaction.TransactionManagerImpl.openOuter(TransactionManagerImpl.java:40) ~[fabric-transfer-api-v1-5.4.2+c24bd99419-3
73e9ba8fa663958.jar:?]                                                                                                                                                    
        at knot/net.fabricmc.fabric.api.transfer.v1.transaction.Transaction.openOuter(Transaction.java:85) ~[fabric-transfer-api-v1-5.4.2+c24bd99419-373e9ba8fa663958.jar:
?]                                                                                                                                                                        
        at knot/com.refinedmods.refinedstorage.fabric.storage.FabricStorageExtractableStorage.extract(FabricStorageExtractableStorage.java:60) ~[refinedstorage-fabric-2.0
.0-beta.2.jar:?]        at knot/com.refinedmods.refinedstorage.fabric.storage.FabricStorageExtractableStorage.extract(FabricStorageExtractableStorage.java:56) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.fabric.storage.externalstorage.FabricStorageExternalStorageProvider.extract(FabricStorageExternalStorageProvider.java:61) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.common.storage.externalstorage.CompositeExternalStorageProvider.extract(CompositeExternalStorageProvider.java:29) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.api.storage.external.ExternalStorage.extract(ExternalStorage.java:37) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.api.network.impl.storage.AbstractConfiguredProxyStorage.compositeExtract(AbstractConfiguredProxyStorage.java:72) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.api.network.impl.node.externalstorage.ExposedExternalStorage.compositeExtract(ExposedExternalStorage.java:79) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.api.storage.composite.CompositeStorageImpl.extract(CompositeStorageImpl.java:97) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.api.storage.root.RootStorageImpl.extract(RootStorageImpl.java:86) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.fabric.grid.strategy.FluidGridExtractionStrategy.lambda$extractWithBucketInStorage$1(FluidGridExtractionStrategy.java:134) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.api.storage.TransferHelper.transfer(TransferHelper.java:53) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.api.network.impl.node.grid.GridOperationsImpl.extract(GridOperationsImpl.java:49) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.common.grid.SecuredGridOperations.extract(SecuredGridOperations.java:42) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.fabric.grid.strategy.FluidGridExtractionStrategy.extractWithBucketInStorage(FluidGridExtractionStrategy.java:122) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.fabric.grid.strategy.FluidGridExtractionStrategy.onExtract(FluidGridExtractionStrategy.java:61) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.common.grid.strategy.CompositeGridExtractionStrategy.onExtract(CompositeGridExtractionStrategy.java:22) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.common.grid.AbstractGridContainerMenu.onExtract(AbstractGridContainerMenu.java:426) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.common.support.packet.c2s.GridExtractPacket.handle(GridExtractPacket.java:32) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/com.refinedmods.refinedstorage.fabric.ModInitializerImpl.lambda$wrapHandler$27(ModInitializerImpl.java:807) ~[refinedstorage-fabric-2.0.0-beta.2.jar:?]
        at knot/net.fabricmc.fabric.impl.networking.server.ServerPlayNetworkAddon.lambda$receive$0(ServerPlayNetworkAddon.java:72) ~[fabric-networking-api-v1-4.3.0+c7469b2119-e8ea29b98d88d6d2.jar:?]
        at knot/net.minecraft.class_3738.run(class_3738.java:18) ~[server-intermediary.jar:?]
        at knot/net.minecraft.class_1255.method_18859(class_1255.java:162) ~[server-intermediary.jar:?]
        at knot/net.minecraft.class_4093.method_18859(class_4093.java:23) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:864) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:173) ~[server-intermediary.jar:?]
        at knot/net.minecraft.class_1255.method_16075(class_1255.java:136) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:846) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:840) ~[server-intermediary.jar:?]
        at knot/net.minecraft.class_1255.method_18857(class_1255.java:145) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_18857(MinecraftServer.java:810) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:815) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:702) ~[server-intermediary.jar:?]
        at knot/net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:281) ~[server-intermediary.jar:?]
        at java.base/java.lang.Thread.run(Thread.java:1583) [?:?]