Skip to content
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

Server immediately jumps to stopping all threads on shutdown; None of the code in forceShutdown is executed #104

Open
TheShermanTanker opened this issue Dec 29, 2020 · 0 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@TheShermanTanker
Copy link

TheShermanTanker commented Dec 29, 2020

Expected Behavior

If everything went correctly with debug messages enabled, the Server should first send a message saying [CONSOLE: Stopping the server] and then proceed to print debug messages in the order of
[DEBUG] Stopping all tasks
[DEBUG] Unloading all levels
[DEBUG] Closing console

And so on, in line with all the debug logs inside Server.forceShutdown()

Actual Behavior

After the "Stopping the server message" the Server immediately jumps to "Stopping other threads", indicating that the runtime has jumped directly to that line inside Bootstrap.java, instead of properly executing the forceShutdown method inside Server.java. Additionally after this the server always hangs and has to be killed by the ServerKiller class. This means the server never actually saves any data at all from the previous session.

Steps to Reproduce

Start the server with debug level in cloudburst.yml above 1
Simply stop the server by entering stop in console
Notice how the server immediately jumps to the "Stopping all threads" message from Bootstrap.java, instead of first going through the process of saving data as detailed in forceShutdown().

Debug information

  • Debug link: Unavailable. The problem occurs during shutdown and cannot receive commands
  • Timings link (if relevant): Timings crashed when the command was entered. Time for another bug report?

Crashdump, Backtrace or Other Files

(I know it specifies hastebin, but this is much faster)

2020-12-29 21:53:50.831 [main] INFO  - Loading recipes...
2020-12-29 21:53:51.016 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:campfire_from_log2, type=1, input={A={id=280, damage=-1}, B={id=263, damage=-1}, C={id=162, damage=-1}}, output=[], shape=[ A , ABA, CCC], block=crafting_table, priority=2}
2020-12-29 21:53:51.025 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:grindstone_from_crimson_planks2, type=1, input={A={id=280, damage=-1}, B={id=182, damage=-1}, C={id=-242, damage=-1}}, output=[], shape=[ABA, C C], block=crafting_table, priority=2}
2020-12-29 21:53:51.025 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:grindstone_from_crimson_planks3, type=1, input={A={id=280, damage=-1}, B={id=-162, damage=-1}, C={id=-242, damage=-1}}, output=[], shape=[ABA, C C], block=crafting_table, priority=2}
2020-12-29 21:53:51.025 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:grindstone_from_crimson_planks4, type=1, input={A={id=280, damage=-1}, B={id=-166, damage=-1}, C={id=-242, damage=-1}}, output=[], shape=[ABA, C C], block=crafting_table, priority=2}
2020-12-29 21:53:51.025 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:grindstone_from_warped_planks2, type=1, input={A={id=280, damage=-1}, B={id=182, damage=-1}, C={id=-243, damage=-1}}, output=[], shape=[ABA, C C], block=crafting_table, priority=2}
2020-12-29 21:53:51.025 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:grindstone_from_warped_planks3, type=1, input={A={id=280, damage=-1}, B={id=-162, damage=-1}, C={id=-243, damage=-1}}, output=[], shape=[ABA, C C], block=crafting_table, priority=2}
2020-12-29 21:53:51.025 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:grindstone_from_warped_planks4, type=1, input={A={id=280, damage=-1}, B={id=-166, damage=-1}, C={id=-243, damage=-1}}, output=[], shape=[ABA, C C], block=crafting_table, priority=2}
2020-12-29 21:53:51.037 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:smoker_from_log2, type=1, input={A={id=162, damage=-1}, B={id=61, damage=-1}}, output=[], shape=[ A , ABA,  A ], block=crafting_table, priority=0}
2020-12-29 21:53:51.038 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:soul_campfire_from_soul_sand_and_log2, type=1, input={A={id=280, damage=-1}, B={id=88, damage=-1}, C={id=162, damage=-1}}, output=[], shape=[ A , ABA, CCC], block=crafting_table, priority=2}
2020-12-29 21:53:51.038 [main] WARN  - Skipping recipe due to unimplemented item/block: {id=minecraft:soul_campfire_from_soul_soil_and_log2, type=1, input={A={id=280, damage=-1}, B={id=-236, damage=-1}, C={id=162, damage=-1}}, output=[], shape=[ A , ABA, CCC], block=crafting_table, priority=2}
2020-12-29 21:53:51.090 [main] INFO  - Loaded 1615 recipes.
2020-12-29 21:53:51.098 [main] INFO  - Loading §acloudburst.yml§f ...
2020-12-29 21:53:51.142 [main] INFO  - Loading §aserver.properties§f ...
2020-12-29 21:53:51.182 [main] INFO  - Selected United Kingdom as the default locale.
2020-12-29 21:53:51.271 [main] INFO  - Starting Minecraft: Bedrock Edition server version §b1.16.20§r
2020-12-29 21:53:51.275 [main] INFO  - This server is running Cloudburst version §egit-b9d8d4e§f "§b§f" (API 2.0.0)
2020-12-29 21:53:51.275 [main] INFO  - Cloudburst is distributed under the GPL License
2020-12-29 21:53:51.380 [main] INFO  - Loading Plugins...
2020-12-29 21:53:51.381 [main] INFO  - Loaded 0 plugins.
2020-12-29 21:53:51.382 [main] INFO  - Successfully loaded  0 resource packs
2020-12-29 21:53:51.399 [main] WARN  - World "nether" does not have a seed! Using a the name as the seed
2020-12-29 21:53:51.416 [main] WARN  - World "world" does not have a seed! Using a the name as the seed
2020-12-29 21:53:51.442 [ForkJoinPool-1-worker-3] INFO  - Preparing level "§anether§f "
2020-12-29 21:53:51.442 [ForkJoinPool-1-worker-5] INFO  - Preparing level "§aworld§f "
2020-12-29 21:53:51.734 [main] INFO  - Opening server on 0.0.0.0:19132
2020-12-29 21:53:51.747 [main] DEBUG - -Dio.netty.eventLoopThreads: 16
2020-12-29 21:53:51.760 [main] DEBUG - -Dio.netty.noKeySetOptimization: false
2020-12-29 21:53:51.760 [main] DEBUG - -Dio.netty.selectorAutoRebuildThreshold: 512
2020-12-29 21:53:51.767 [main] DEBUG - Platform: Windows
2020-12-29 21:53:51.769 [main] DEBUG - -Dio.netty.noUnsafe: false
2020-12-29 21:53:51.769 [main] DEBUG - Java version: 15
2020-12-29 21:53:51.769 [main] DEBUG - sun.misc.Unsafe.theUnsafe: available
2020-12-29 21:53:51.770 [main] DEBUG - sun.misc.Unsafe.copyMemory: available
2020-12-29 21:53:51.770 [main] DEBUG - java.nio.Buffer.address: available
2020-12-29 21:53:51.770 [main] DEBUG - direct buffer constructor: unavailable
2020-12-29 21:53:51.772 [main] DEBUG - java.nio.DirectByteBuffer.<init>(long, int): unavailable
2020-12-29 21:53:51.772 [main] DEBUG - sun.misc.Unsafe: available
2020-12-29 21:53:51.772 [main] DEBUG - maxDirectMemory: 4236247040 bytes (maybe)
2020-12-29 21:53:51.773 [main] DEBUG - -Dio.netty.tmpdir: C:\Users\Josep\AppData\Local\Temp (java.io.tmpdir)
2020-12-29 21:53:51.773 [main] DEBUG - -Dio.netty.bitMode: 64 (sun.arch.data.model)
2020-12-29 21:53:51.773 [main] DEBUG - -Dio.netty.maxDirectMemory: -1 bytes
2020-12-29 21:53:51.773 [main] DEBUG - -Dio.netty.uninitializedArrayAllocationThreshold: -1
2020-12-29 21:53:51.774 [main] DEBUG - java.nio.ByteBuffer.cleaner(): available
2020-12-29 21:53:51.774 [main] DEBUG - -Dio.netty.noPreferDirect: false
2020-12-29 21:53:51.779 [main] DEBUG - org.jctools-core.MpscChunkedArrayQueue: available
2020-12-29 21:53:51.812 [main] DEBUG - -Dio.netty.allocator.type: unpooled
2020-12-29 21:53:51.812 [main] DEBUG - -Dio.netty.threadLocalDirectBufferSize: 0
2020-12-29 21:53:51.812 [main] DEBUG - -Dio.netty.maxThreadLocalCharBufferSize: 16384
2020-12-29 21:53:51.822 [main] DEBUG - -Dio.netty.processId: 1128 (auto-detected)
2020-12-29 21:53:51.833 [main] DEBUG - -Djava.net.preferIPv4Stack: false
2020-12-29 21:53:51.833 [main] DEBUG - -Djava.net.preferIPv6Addresses: false
2020-12-29 21:53:51.841 [main] DEBUG - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1)
2020-12-29 21:53:51.841 [main] DEBUG - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200
2020-12-29 21:53:51.864 [main] DEBUG - -Dio.netty.machineId: 00:00:00:00:00:00:00:e0 (auto-detected)
2020-12-29 21:53:51.880 [main] INFO  - Starting GS4 status listener
2020-12-29 21:53:51.880 [main] INFO  - Setting query port to 19132
2020-12-29 21:53:51.884 [main] DEBUG - -Dio.netty.buffer.checkAccessible: true
2020-12-29 21:53:51.884 [main] DEBUG - -Dio.netty.buffer.checkBounds: true
2020-12-29 21:53:51.885 [main] DEBUG - Loaded default ResourceLeakDetector: io.netty.util.ResourceLeakDetector@4e4bfd9c
2020-12-29 21:53:51.886 [main] INFO  - Query is running on 0.0.0.0:19132
2020-12-29 21:53:51.886 [main] INFO  - Default game type: Survival Mode
2020-12-29 21:53:51.886 [main] INFO  - Done (1.978s)! For help, type "help" or "?"
2020-12-29 21:53:57.089 [main] INFO  - [CONSOLE: Stopping the server]

#There thould be messages notifying us that the levels were saved and all tasks were stopped here, but it is very clearly missing

2020-12-29 21:53:57.147 [main] INFO  - Stopping other threads

Not seen above is the message about ServerKiller killing the server instance, as it is not written to the logs

@SupremeMortal SupremeMortal added bug Something isn't working help wanted Extra attention is needed labels Mar 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants