The bug
When the dedicated server fails to bind to the specified port, e.g. because another application is already using that port, a NullPointerException
occurs:
1.17.1-pre1
[15:59:42] [Server thread/WARN]: **** FAILED TO BIND TO PORT!
[15:59:42] [Server thread/WARN]: The exception was: java.net.BindException: Address already in use: bind
[15:59:42] [Server thread/WARN]: Perhaps a server is already running on that port?
[15:59:42] [Server thread/INFO]: Stopping server
[15:59:42] [Server thread/INFO]: Saving worlds
[15:59:42] [Server thread/ERROR]: Exception stopping the server
java.lang.NullPointerException: Cannot invoke "abr.o_()" because "Γÿâ" is null
at net.minecraft.server.MinecraftServer.a(SourceFile:592) ~[1.17.1-pre1.jar:?]
at net.minecraft.server.MinecraftServer.u(SourceFile:619) ~[1.17.1-pre1.jar:?]
at aas.u(SourceFile:585) ~[1.17.1-pre1.jar:?]
at net.minecraft.server.MinecraftServer.x(SourceFile:729) ~[1.17.1-pre1.jar:?]
at net.minecraft.server.MinecraftServer.a(SourceFile:274) ~[1.17.1-pre1.jar:?]
at java.lang.Thread.run(Thread.java:831) [?:?]
Expected would be that the server cleanly exits without any exception.
Reproduction steps
Download the dedicated server from https://www.minecraft.net/en-us/download/server
Start the server twice on the same port (you might have to start them in separate folders)
❌ The second server shows aNullPointerException
in the log
Can confirm in 1.19.4
The server now throws an IllegalStateException before the NullPointerException