Server crash with items pushed between networks
met4000 opened this issue ยท 3 comments
Issue type:
- ๐ Bug
Short description:
Server crashes when items are pushed/transported between networks with certain configurations.
Note: read TL;DR in second post for summary
Steps to reproduce the problem:
I've had difficulty in identifying what could be the cause of the crash here, so below the setup is a list of behaviours with different tunnel 'combinations' (i.e. crash/no crash). Note that in test cases where the server crashes, after the initial server crash the setup would operate as expected after each network had a network update with no further crashes; once it has crashed, anything I could think of to do to the networks to 'refresh' them (short of replacing the tunnels) didn't induce another crash. [edit]
- Place down an item container (tested with
minecraft:chest
) - Create "network 1", with "tunnel 1_1" attached to the chest, and "tunnel 1_2" elsewhere
- Create "network 2", with "tunnel 2_1" attached to "tunnel 1_2", and "tunnel 2_2" elsewhere
- Place down another item container (tested with
minecraft:chest
), attached to "tunnel 2_2" - Place items into the container attached to "network 1" (placed in step 1)
Any importers/exporters are set to "import/export all" using a blank variable card.
Picture of example setup of "test 4" from the table below (with "tunnel 1_1" = interface, "tunnel 1_2" = exporter, "tunnel 2_1" = interface, "tunnel 2_2" = interface):
Behaviour of tested setups:
test | tunnel 1_1 | tunnel 1_2 | tunnel 2_1 | tunnel 2_2 | behaviour |
---|---|---|---|---|---|
1 | interface | interface | interface | exporter | no crash, item transfer |
2 | interface | interface | importer | interface | no crash, item transfer |
3 | interface | interface | importer | exporter | no crash, no item transfer |
4 | interface | exporter | interface | interface | no crash, item transfer |
5 | interface | exporter | interface | exporter | crash, then item transfer |
6 | interface | exporter | importer | interface | no crash, item transfer |
7 | interface | exporter | importer | exporter | no crash, no item transfer |
8 | importer | interface | interface | interface | no crash, item transfer |
9 | importer | interface | interface | exporter | no crash, no item transfer |
10 | importer | interface | importer | interface | no crash, item transfer |
11 | importer | interface | importer | exporter | no crash, no item transfer |
Expected behaviour:
Expected for "test 5" to not have to crash before transferring items :)
On a tangent, I would also expect "test 7" ("test 11" for similar reasons) to transfer items, as the items are being exported into an item importer, which should then try to store them anywhere, including in the inventory attached to the exporter. Does this imply that item exporters don't truly "push" items, but rather try to store them in the attached inventory, or am I just misunderstanding the pushed-input 'mechanic' for tunnels?
Versions:
- This mod: 1.6.11 (InDy 1.1.4)
- Minecraft: 1.12.2
- Forge: 14.23.5.2852
Log file:
Pastebin of "test 4" crash report: https://pastebin.com/LYwrjix9
(I do have VanillaFix, so if you do need an actual stacktrace I can disable it and get one - at least, I assume that's why the stacktrace is missing in this crash report)
Some more testing on specifically the setup of "test 5" that may help (if this information conflicts with anything in the first post, disregard the first post and refer to this):
- Only crashes if more than 1 item is already in the chest when 'enabled'/the networks are completed. If 1 item is present then it is transferred with no crash, however the first time multiple items are present to be transferred the server crashes. If multiple items are present and the server crashes, 1 item appears to have been successfully transferred when the server is restarted (with the two networks frozen).
Does not crash if "tunnel 1_2" is the last to be 'enabled' (i.e. only crashes if "tunnel 2_2" is the last to be 'enabled')[edit]- Does crash if "tunnel 2_2" is 'disabled' and re-'enabled' after a server crash (due to "tunnel 2_2" being enabled with multiple items) and subsequent network update(s), however does not crash if the initial crash was due to "tunnel 1_2"
It's hard for me to try and document the behaviour accurately, and I'm sure I've gotten some of it wrong somewhere;
TL;DR (for both posts): Chest
-> Interface -> Exporter
-> Interface -> Exporter
-> Chest
crashes the server if you breathe on it wrong, otherwise it transfers items as you would expect it to. See above post for crash log. If a specific behaviour is required, I would recommend testing it yourself and not relying on what I have written in these posts :)