[BUG] Destruct does not delete all folders and mod jar
LiquidBounce Branch
Nextgen
LiquidBounce Build/Version
0.29.0
Operating System
Windows 11
Minecraft Version
1.21.4
Describe the bug
It leaves deeplearning, mcef, themes and mod jar
Steps to reproduce
- Join any server
- Send .client destruct yes yes
- Open game folder
- See LiquidBounce folder and mod in mods
Client Log
[21:15:15] [Render thread/INFO]: [System] [CHAT] LiquidBounce ▸ LiquidBounce is being destructed from your client...
[21:15:15] [Render thread/INFO]: [System] [CHAT] LiquidBounce ▸ LiquidBounce has been destructed from your client. You can clear your chat using F3+D. If wipe was enabled, the chat will be cleared automatically.
[21:15:15] [Render thread/INFO]: [System] [CHAT] LiquidBounce ▸ Wiping client...
Screenshots
#5952 #5877 happens because this
[00:01:34] [wipe-client/INFO] (Minecraft) [STDERR]: java.lang.UnsupportedOperationException
[00:01:34] [wipe-client/INFO] (Minecraft) [STDERR]: at java.base/java.util.Collections$UnmodifiableCollection.removeIf(Collections.java:1120)
[00:01:34] [wipe-client/INFO] (Minecraft) [STDERR]: at knot//net.ccbluex.liquidbounce.features.misc.HideAppearance.wipeClient$lambda$15(HideAppearance.kt:180)
[00:01:34] [wipe-client/INFO] (Minecraft) [STDERR]: at knot//kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
In my test jcef_helper.exe is not stopped after wipe, can you try that?
taskkill -f -im jcef_helper.exe after wipe finished
In my test
jcef_helper.exeis not stopped after wipe, can you try that?
taskkill -f -im jcef_helper.exeafter wipe finished
From my testing killing jcef_helper crashes the Minecraft process. The issue with destruct is that it cannot delete files that are actively used. On Linux and macOS this is not an issue and works flawless, but on Windows it's not possible.
I tested it, if I kill the process before destruct, it just restarts, if after, it does not restart and not crashing, but the file deletion does not continue.
Can't be fixed because ntfs file locking and dlj, jcef dll natives