LiquidBounce
LiquidBounce copied to clipboard
[BUG] Trying to add Microsoft account crashes game
LiquidBounce Build/Version
b73 release
Operating System
Linux
Minecraft Version
1.8.9
Describe the bug
When clicking on "Login with Microsoft" in the Account Manager, closing the browser window that opens and clicking the button again crashes the game
Steps to reproduce
- Goto Alt Manager
- Click on "Login with Microsoft"
- Click it again
Client Log
[10:20:31] [Client thread/INFO] [net.labymod.support.util.CapturePrintStream]: ---- Minecraft Crash Report ----
WARNING: coremods are present:
LabyModCoreMod (LabyMod-3.jar)
TransformerLoader (liquidbounce.jar)
Contact their authors BEFORE contacting forge
// But it works on my machine.
Time: 5/9/22 10:20 AM
Description: Updating screen events
java.net.BindException: Die Adresse wird bereits verwendet // The address is already in use
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:461)
at sun.nio.ch.Net.bind(Net.java:453)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:85)
at sun.net.httpserver.ServerImpl.<init>(ServerImpl.java:100)
at sun.net.httpserver.HttpServerImpl.<init>(HttpServerImpl.java:50)
at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35)
at com.sun.net.httpserver.HttpServer.create(HttpServer.java:130)
at me.liuli.elixir.compat.OAuthServer.<init>(OAuthServer.kt:13)
at me.liuli.elixir.account.MicrosoftAccount$Companion.buildFromOpenBrowser(MicrosoftAccount.kt:152)
at me.liuli.elixir.account.MicrosoftAccount$Companion.buildFromOpenBrowser$default(MicrosoftAccount.kt:151)
at net.ccbluex.liquidbounce.ui.client.altmanager.menus.GuiLoginIntoAccount.func_146284_a(GuiLoginIntoAccount.kt:124)
at net.minecraft.client.gui.GuiScreen.func_73864_a(GuiScreen.java:467)
at net.ccbluex.liquidbounce.ui.client.altmanager.menus.GuiLoginIntoAccount.func_73864_a(GuiLoginIntoAccount.kt:192)
at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:555)
at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:524)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1674)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1024)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:349)
at net.minecraft.client.main.Main.main(SourceFile:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------
-- Head --
Stacktrace:
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:461)
at sun.nio.ch.Net.bind(Net.java:453)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:85)
at sun.net.httpserver.ServerImpl.<init>(ServerImpl.java:100)
at sun.net.httpserver.HttpServerImpl.<init>(HttpServerImpl.java:50)
at sun.net.httpserver.DefaultHttpServerProvider.createHttpServer(DefaultHttpServerProvider.java:35)
at com.sun.net.httpserver.HttpServer.create(HttpServer.java:130)
at me.liuli.elixir.compat.OAuthServer.<init>(OAuthServer.kt:13)
at me.liuli.elixir.account.MicrosoftAccount$Companion.buildFromOpenBrowser(MicrosoftAccount.kt:152)
at me.liuli.elixir.account.MicrosoftAccount$Companion.buildFromOpenBrowser$default(MicrosoftAccount.kt:151)
at net.ccbluex.liquidbounce.ui.client.altmanager.menus.GuiLoginIntoAccount.func_146284_a(GuiLoginIntoAccount.kt:124)
at net.minecraft.client.gui.GuiScreen.func_73864_a(GuiScreen.java:467)
at net.ccbluex.liquidbounce.ui.client.altmanager.menus.GuiLoginIntoAccount.func_73864_a(GuiLoginIntoAccount.kt:192)
at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:555)
at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:524)
-- Affected screen --
Details:
Screen name: net.ccbluex.liquidbounce.ui.client.altmanager.menus.GuiLoginIntoAccount
Stacktrace:
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1674)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1024)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:349)
at net.minecraft.client.main.Main.main(SourceFile:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:210)
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:245)
at org.multimc.EntryPoint.listen(EntryPoint.java:143)
at org.multimc.EntryPoint.main(EntryPoint.java:34)
Der Prozess wurde mit Status 255 beendet. // The process has ended with Status 255
Screenshots
No response
It will start up the authentication server and should open your browser. The second click causes another server trying to start up on the same port, which does not work of course. I am going to fix it soon in the Elixir library.
i also tried to fix this issue myself but have little kotlin / java experience, made this fork which disables the button while you should be signing in and only reenables it when it either fails or succeeds, also some visual improvements to the add account sceen. i looked at the elixir library but it seems it's pretty incomplete as i didn't find how to detect if the browser window has just been closed, it isn't counted as an "authError" or whatever.
maybe include that in the elixir library and just implement my idea? i try to help out as much as possible, tell me if it's worth a pr but i think my code could be improved in ways that i don't know yet, thats why i didn't. i really got surprised that a new official liquidbounce version has been released, so happy to see development again, this issue got me motivated to look into the code and maybe even contribute. :)
fixed here https://github.com/CCBlueX/LiquidBounce/commit/2cc061709d6d49b3be487dc33c601f4fa159b92b