May not call getCurrentUnsafe() from a close callback. using Tinckers Construct and Tech Reborn
jamesfoster opened this issue ยท 2 comments
Hi, Our server crashed with this exception after configuring a Tech Reborn tank as shown below.
+---+
| A |
+---+---+
| B | C |
+---+---+
A: Tinkers foundry Scorched Duct filtered to a particular liquid
B: Tech Reborn Basic Tank Unit set to pull from A and push to C
C: Create Fluid Tank
Since this is a crash between two mods it could be either mod at fault or a weird edge case where both are interacting.
From the stack trace it would seem that Tinkers may be trying to open a new transfer transaction while an existing transfer transaction is closing.
Regards.
Caused by: java.lang.IllegalStateException: May not call getCurrentUnsafe() from a close callback.
at net.fabricmc.fabric.impl.transfer.transaction.TransactionManagerImpl.getCurrentUnsafe(TransactionManagerImpl.java:53) ~[fabric-transfer-api-v1-1.6.4+f4563ac860-8b3ca84f1c5b5bf7.jar:?]
at net.fabricmc.fabric.api.transfer.v1.transaction.Transaction.getCurrentUnsafe(Transaction.java:127) ~[fabric-transfer-api-v1-1.6.4+f4563ac860-8b3ca84f1c5b5bf7.jar:?]
at io.github.fabricators_of_create.porting_lib.transfer.TransferUtil.getTransaction(TransferUtil.java:63) ~[porting_lib-1.2.550-beta+1.18.2-stable-5a344c98983fbde0.jar:?]
at slimeknights.mantle.transfer.TransferUtil.getTransaction(TransferUtil.java:246) ~[mantle-1.18.2-1.9.156-de7aba986acbce6c.jar:?]
at slimeknights.mantle.transfer.fluid.FluidStorageHandler.updateContents(FluidStorageHandler.java:42) ~[mantle-1.18.2-1.9.156-de7aba986acbce6c.jar:?]
at slimeknights.mantle.transfer.fluid.FluidStorageHandler.<init>(FluidStorageHandler.java:32) ~[mantle-1.18.2-1.9.156-de7aba986acbce6c.jar:?]
at slimeknights.mantle.transfer.fluid.FluidStorageHandlerItem.<init>(FluidStorageHandlerItem.java:13) ~[mantle-1.18.2-1.9.156-de7aba986acbce6c.jar:?]
at slimeknights.mantle.transfer.TransferUtil.getFluidHandlerItem(TransferUtil.java:166) ~[mantle-1.18.2-1.9.156-de7aba986acbce6c.jar:?]
at slimeknights.tconstruct.smeltery.block.entity.inventory.DuctItemHandler.getFluid(DuctItemHandler.java:66) ~[Hephaestus-1.18.2-3.5.2.150.jar:?]
at slimeknights.tconstruct.smeltery.block.entity.inventory.DuctTankWrapper.drain(DuctTankWrapper.java:57) ~[Hephaestus-1.18.2-3.5.2.150.jar:?]
at slimeknights.mantle.transfer.fluid.FluidHandlerStorage$TankStorageView.lambda$extract$0(FluidHandlerStorage.java:103) ~[mantle-1.18.2-1.9.156-de7aba986acbce6c.jar:?]
at net.fabricmc.fabric.impl.transfer.transaction.TransactionManagerImpl$TransactionImpl.close(TransactionManagerImpl.java:138) ~[fabric-transfer-api-v1-1.6.4+f4563ac860-8b3ca84f1c5b5bf7.jar:?]
at net.fabricmc.fabric.impl.transfer.transaction.TransactionManagerImpl$TransactionImpl.commit(TransactionManagerImpl.java:186) ~[fabric-transfer-api-v1-1.6.4+f4563ac860-8b3ca84f1c5b5bf7.jar:?]
at net.fabricmc.fabric.api.transfer.v1.storage.StorageUtil.move(StorageUtil.java:105) ~[fabric-transfer-api-v1-1.6.4+f4563ac860-8b3ca84f1c5b5bf7.jar:?]
at reborncore.common.blockentity.FluidConfiguration.update(FluidConfiguration.java:90) ~[reborncore-5.2.1-fc1b7746e1c33c2f.jar:?]
at reborncore.common.blockentity.MachineBaseBlockEntity.tick(MachineBaseBlockEntity.java:189) ~[reborncore-5.2.1-fc1b7746e1c33c2f.jar:?]
at techreborn.blockentity.storage.fluid.TankUnitBaseBlockEntity.tick(TankUnitBaseBlockEntity.java:105) ~[TechReborn-5.2.1.jar:?]
at techreborn.blockentity.storage.fluid.TankUnitBaseBlockEntity.tick(TankUnitBaseBlockEntity.java:56) ~[TechReborn-5.2.1.jar:?]
at reborncore.common.BaseBlockEntityProvider.lambda$getTicker$0(BaseBlockEntityProvider.java:77) ~[reborncore-5.2.1-fc1b7746e1c33c2f.jar:?]
This looks to appear to be related to the fabric version of the mod that is an unofficial port. We have nothing to do with it. If so https://github.com/Alpha-s-Stuff/TinkersConstruct/issues this is the place to report it. But I can save you time and say that they are no longer supporting that port at this time. And will pick it back up at the next MC version.