New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.12.2 Buildcraft 7.99.12 - Get kicked when placing quarry/no connections. #3891

Closed
wesker1213 opened this Issue Dec 4, 2017 · 13 comments

Comments

Projects
None yet
5 participants
@wesker1213

wesker1213 commented Dec 4, 2017

Buildcraft version: 7.99.12
Forge version: 14.23.1.2555
Link to crashreport or log (on pastebin or gist, please don't put the entire log here) :
Singleplayer/multiplayer: Multiplayer, can't reproduce in single player.

Additional information:

https://imgur.com/a/mh7ib

In the above picture, are my landmarks, prior to the quarry getting placed.

https://imgur.com/a/8Grxk

This would be the quarry post placement, but I can't place the quarry in multiplayer. The server hangs for a few short moments before booting me off, and the only way that I am able to reconnect, is by rebooting the server. Then the quarry is back in my inventory after the reboot.

This doesn't happen in single player. During my single player testing to see if I could reproduce this, I was unable to connect anything but kinesis pipes to the quarry for power. Not sure if that's intended, but figured I'd mention anyway.

@AlexIIL

This comment has been minimized.

Member

AlexIIL commented Dec 4, 2017

Can you find and upload the server log file? Or a crash report, if it generates one?

(Note that your image links aren't formatted correctly as they aren't working)

@wesker1213

This comment has been minimized.

wesker1213 commented Dec 4, 2017

These are the logs I could find since I've been on today.

Latest > https://pastebin.com/SFtYH50L
fml server latest > https://pastebin.com/MRqLzBRm
fml server 3 > https://pastebin.com/V6nx0zqT
fml server 2 > https://pastebin.com/E2p5YLGb
fml server 1 > https://pastebin.com/f2x5we4s
fml junk > https://pastebin.com/iEQ4r8s8

Not sure how to fix the image links. But it does appear to be sporadic ... so it doesn't happen all the time. Also note, that smaller quarry sizes don't seem to derp it as much either, but the max size (64x64) do. Also, the fluxducts do not connect in single, or server play.

@AlexIIL

This comment has been minimized.

Member

AlexIIL commented Dec 4, 2017

AEnterprise fixed them. Sorry.

Fluxducts transfer RF/FE, but buildcraft only works in MJ, so they won't connect.

@wesker1213

This comment has been minimized.

wesker1213 commented Dec 4, 2017

Are there any plans to enable RF support in Buildcraft since most power gen mods use it?

@AlexIIL

This comment has been minimized.

Member

AlexIIL commented Dec 4, 2017

Nope.

@ghost

This comment has been minimized.

ghost commented Dec 4, 2017

No, you might have to get one of the disappearing addons or make your own that converts energy between them if that's what you want.

@ogurets

This comment has been minimized.

ogurets commented Dec 24, 2017

Got that bug too. Server/client do not generate any errors, but the server keeps 100% single core usage and doesn't respond to console commands (like "stop" or "save-all").

@AEnterprise

This comment has been minimized.

Member

AEnterprise commented Dec 24, 2017

ok that means the server got stuck in an infinite loop, would it be possible to get it to heapen again and then use something like visualVM to get a thread dump for us to look at?

@AlexIIL

This comment has been minimized.

Member

AlexIIL commented Dec 24, 2017

If the server gets in an infinite loop the I'll assume that it gets stuck at https://github.com/BuildCraft/BuildCraft/blob/8.0.x/common/buildcraft/builders/tile/TileQuarry.java#L166 - as that's the only potentially infinite loop.

@AEnterprise

This comment has been minimized.

Member

AEnterprise commented Dec 24, 2017

seems likely

@ogurets could you try with 7.99.13-pre11 and see if this still heapens? maybe the added safety checks from #3923 could have fixed this as side effect

@ogurets

This comment has been minimized.

ogurets commented Dec 25, 2017

Made VisualVM thread dump: https://pastebin.com/ecfjWS4S
I think that's the part you were looking for:

"Server thread" #18 prio=5 os_prio=0 tid=0x000000001e544000 nid=0x690 runnable [0x0000000027c3e000]
   java.lang.Thread.State: RUNNABLE
        at java.util.stream.AbstractPipeline.wrapSink(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
        at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.forEach(Unknown Source)
        at java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
        at java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
        at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
        at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.anyMatch(Unknown Source)
        at buildcraft.builders.tile.TileQuarry.getFramePoses(TileQuarry.java:171)
        at buildcraft.builders.tile.TileQuarry.updatePoses(TileQuarry.java:386)
        at buildcraft.builders.tile.TileQuarry.onPlacedBy(TileQuarry.java:270)
        at buildcraft.lib.block.BlockBCTile_Neptune.func_180633_a(BlockBCTile_Neptune.java:66)
        at buildcraft.builders.block.BlockQuarry.func_180633_a(BlockQuarry.java:103)
        at net.minecraft.item.ItemBlock.placeBlockAt(ItemBlock.java:186)
        at net.minecraft.item.ItemBlock.func_180614_a(ItemBlock.java:54)
        at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:852)
        at net.minecraft.item.ItemStack.func_179546_a(ItemStack.java:186)
        at net.minecraft.server.management.PlayerInteractionManager.func_187251_a(PlayerInteractionManager.java:489)
        at net.minecraft.network.NetHandlerPlayServer.func_184337_a(NetHandlerPlayServer.java:739)
        at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.func_148833_a(SourceFile:55)
        at net.minecraft.network.play.client.CPacketPlayerTryUseItemOnBlock.func_148833_a(SourceFile:11)
        at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at net.minecraft.util.Util.func_181617_a(SourceFile:46)
        at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:721)
        - locked <0x00000006c4280510> (a java.util.ArrayDeque)
        at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:396)
        at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:666)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:524)
        at java.lang.Thread.run(Unknown Source)

I suppose the issue is tied to the quarry size, as I've maxed out it's size along Z axis, like 60x64 (not sure about precision of "64" though, as I've just placed a landmark at the end of a blue ray of the previous landmark). It's not a blind guess, as I've managed to walk around this bug by marking a smaller area (2-3 blocks smaller, around 60x61) at the same place.

7.99.13-pre11 version didn't resolve it. Thread dump is here: https://pastebin.com/DvE9rjZR

Also while tinkering with this quarry, something else occured:
https://imgur.com/a/BVULn
https://imgur.com/GamWSJi
Not sure if it is the same issue or another. I were not able to reproduce that and has not been in the area when it happened, but the whole area was chunkloaded. After replacing it at the exact same place with the same landmarks it worked fine.

@AlexIIL

This comment has been minimized.

Member

AlexIIL commented Dec 25, 2017

Thanks, that confirms my suspicions. I'll look into making it a finite loop in the future.

As for the frame being in the wrong place I guess I'll look into that separately...

@afdw

This comment has been minimized.

Member

afdw commented Dec 25, 2017

This loop should become infinite only if frame positions are not continuous, if there is frame that is separated from others.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment