tweakeroo icon indicating copy to clipboard operation
tweakeroo copied to clipboard

Launching a world with Tweakeroo installed causes game to crash

Open M1-Ace opened this issue 3 years ago • 22 comments

I've narrowed it down, whenever I load a world, or create one, with tweakeroo installed, it freezes right before you get to the loading screen (the square that shows the chunks loading with the percent below). Unfortunately, it doesnt seem to produce any crash reports, at least in .minecraft\crash-reports. This happened with both 1.17 and 1.17.1 versions.

M1-Ace avatar Aug 17 '21 15:08 M1-Ace

Are you using the latest 1.17.1 version? There was one weird issue that only happened to some users for some reason, that was fixed in the 2021-07-10 build.

maruohon avatar Aug 17 '21 15:08 maruohon

In the Fabric installer I clicked on 1.17.1. This was yesterday so I don't think its that build.

Edit: Loader version is 0.11.6 if that matters.

M1-Ace avatar Aug 17 '21 16:08 M1-Ace

The Fabric version is irrelevant (to my client mods, in most cases), I was talking about the Tweakeroo version. The latest Tweakeroo build on CurseForge, which is currently the 2021-07-10 build, should fix at least one similar crash/hang issue.

maruohon avatar Aug 17 '21 17:08 maruohon

I reinstalled with just Tweakeroo and Malilib in the mods folder, and the game still crashed. Here is a recording, just creating a new survival world.

https://user-images.githubusercontent.com/89089713/129780395-7fdcd32f-70bb-47ce-bf04-3f9c293bfeee.mp4

M1-Ace avatar Aug 17 '21 18:08 M1-Ace

You still didn't answer, which Tweakeroo version are you using?

maruohon avatar Aug 17 '21 20:08 maruohon

Sorry if it wasn't it clear, I reinstalled the newest version off curseforge. 7-10 release.

M1-Ace avatar Aug 17 '21 22:08 M1-Ace

Having this same problem, using latest release of Tweakeroo for 1.17.1

Cilz avatar Aug 24 '21 20:08 Cilz

Are you getting a proper crash, or is the game just hanging? If there is a crash log, then I need that. Otherwise you might need to resort to disabling some mixins until you find out which one is hanging the game. I haven't seen a game hang like this in any of my test worlds.

maruohon avatar Aug 24 '21 21:08 maruohon

No crash reports, and it is just hanging. It worked fine then I AFKed overnight and I came back to the game being crashed. On Tue, Aug 24, 2021 at 5:13 PM Matti Ruohonen @.***> wrote:

Are you getting a proper crash, or is the game just hanging? If there is a crash log, then I need that. Otherwise you might need to resort to disabling some mixins until you find out which one is hanging the game. I haven't seen a game hang like this in any of my test worlds.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maruohon/tweakeroo/issues/263#issuecomment-904981178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVHWNMNGII3O45Y76OQYMXDT6QDQVANCNFSM5CKB46AQ .

M1-Ace avatar Aug 24 '21 22:08 M1-Ace

And this also happens with a fresh/default config? Did this also happen in 1.17.0, or did this start happening in 1.17.1?

Without a log or anything else to go by, and since I don't get these hangs myself so I can't debug it, you might need to try to narrow down which mixin is causing the issue in your case. First of all I'd recommend checking if this still happens with only malilib and Tweakeroo installed, and with a clean Tweakeroo config (rename or move away the normal config file from .minecraft/config/tweakeroo.json and then launch the game and try logging in to a world).

If it still happens, then try to narrow down which mixin is causing the issue, by doing the following:

  • Extract the Tweakeroo jar somewhere (for example with 7-zip - it's just a zip file essentially)
  • Then make a copy of the mixins.tweakeroo.json file somewhere else, so that you have the original copy at hand
  • Then remove some of the lines from the array of mixin names, and then save the file. Note that if you remove the last line, then you can't leave a trailing comma after the "new last line" or it might break the entire file parsing.
  • Then compress the directory again to a zip file, but use the *.jar file name extension (check that you still have the same structure inside the new jar than in the original, ie. the same files and directories at the top level, and not an extra nested directory at the top level - ie. you need to select the files from the directory where you extracted it, and not zip that directory itself)
  • Put that new modified jar to the mods directory and try if it launches/works. (move away the original Tweakeroo mod jar while you test the custom versions, you can't have more than one copy of the same mod or it will crash on launch)
  • The fastest way to find the offending mixin would be to remove half of the mixins at once, and once you know which half has the offending mixin, then remove half on that bunch again, until you basically find the one single mixin that causes this. However there may be some mixins that might depend on other mixins and would crash if only part of them don't exist, but I don't remember for sure if that's the case.

If you are willing and able to do this to try to find out where the problem might be, and if you manage to narrow it down to one mixin, which when removed allows you to load into a world normally, then let me know which one it is, and I can take a look at it to see if there is something weird in there.

I guess before you start, just in case also try this latest build: https://masa.dy.fi/mcmods/tweakeroo/tweakeroo-fabric-1.17.1-0.10.0-dev.20210819.012739.jar It shouldn't really make any significant changes that might explain this, but there was one recent-ish Yarn rename that broke one mixin, but I don't know if that affected the builds that are currently on CurseForge. And also in my case it just caused the last text to always be left in chat even after you sent the message, it didn't crash or hang the game.

maruohon avatar Aug 24 '21 23:08 maruohon

I will try to find time to do that, however I can say it crashed with just malilib and tweakeroo, in both 1.17 and 1.17.1.

On Tue, Aug 24, 2021 at 7:45 PM Matti Ruohonen @.***> wrote:

And this also happens with a fresh/default config? Did this also happen in 1.17.0, or did this start happening in 1.17.1?

Without a log or anything else to go by, and since I don't get these hangs myself so I can't debug it, you might need to try to narrow down which mixin is causing the issue in your case. First of all I'd recommend checking if this still happens with only malilib and Tweakeroo installed, and with a clean Tweakeroo config (rename or move away the normal config file from .minecraft/config/tweakeroo.json and then launch the game and try logging in to a world).

If it still happens, then try to narrow down which mixin is causing the issue, by doing the following:

  • Extract the Tweakeroo jar somewhere (for example with 7-zip - it's just a zip file essentially)
  • Then make a copy of the mixins.tweakeroo.json file somewhere else, so that you have the original copy at hand
  • Then remove some of the lines from the array of mixin names, and then save the file. Note that if you remove the last line, then you can't leave a trailing comma after the "new last line" or it might break the entire file parsing.
  • Then compress the directory again to a zip file, but use the *.jar file name extension (check that you still have the same structure inside the new jar than in the original, ie. the same files and directories at the top level, and not an extra nested directory at the top level - ie. you need to select the files from the directory where you extracted it, and not zip that directory itself)
  • Put that new modified jar to the mods directory and try if it launches/works. (move away the original Tweakeroo mod jar while you test the custom versions, you can't have more than one copy of the same mod or it will crash on launch)
  • The fastest way to find the offending mixin would be to remove half of the mixins at once, and once you know which half has the offending mixin, then remove half on that bunch again, until you basically find the one single mixin that causes this. However there may be some mixins that might depend on other mixins and would crash if only part of them don't exist, but I don't remember for sure if that's the case.

If you are willing and able to do this to try to find out where the problem might be, and if you manage to narrow it down to one mixin, which when removed allows you to load into a world normally, then let me know which one it is, and I can take a look at it to see if there is something weird in there.

I guess before you start, just in case also try this latest build: https://masa.dy.fi/mcmods/tweakeroo/tweakeroo-fabric-1.17.1-0.10.0-dev.20210819.012739.jar It shouldn't really make any significant changes that might explain this, but there was one recent-ish Yarn rename that broke one mixin, but I don't know if that affected the builds that are currently on CurseForge. And also in my case it just caused the last text to always be left in chat even after you sent the message, it didn't crash or hang the game.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maruohon/tweakeroo/issues/263#issuecomment-905047767, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVHWNMN64R3EJ223HFSPJDTT6QVILANCNFSM5CKB46AQ .

M1-Ace avatar Aug 24 '21 23:08 M1-Ace

Actually I think there is an easier way to debug this. Set the JVM flag (not program argument) -Dmixin.debug.verbose=true in the launcher, and then try logging in to a world. In the game console/log your should now probably see which Mixin(s) either had issues getting applied, or the last one to try to apply before the game freezes.

maruohon avatar Aug 28 '21 12:08 maruohon

how do you do this?

Lolezboi avatar Aug 29 '21 07:08 Lolezboi

@Lolezboi It depends on your launcher. In the vanilla launcher it's in the profile settings. There should be a field for JVM arguments, which might include for example the -Xmx argument by default for the maximum memory allocation. https://imgur.com/BXi9WO1

And then in the settings there is also a checkmark somewhere to show and keep the console open: https://imgur.com/KDq0WYG

(These screenshots are pretty old, so thing might look different these days. I don't have the vanilla launcher installed at all atm.)

In MultiMC it would be in the instance settings, on the Settings tab, as Java arguments: image

And the show console options are in the main MultiMC Settings menu: image

maruohon avatar Aug 29 '21 11:08 maruohon

should i just replace everything with -Dmixin.debug.verbose=true or where should i paste it?

Lolezboi avatar Aug 31 '21 09:08 Lolezboi

so this is what i got in the output without -Dmixin.debug.verbose=true was

11:48:31.039 Saving chunks for level 'ServerLevel[New Wo- test]'/minecraft:the_nether 11:48:31.040 Saving chunks for level 'ServerLevel[New Wo- test]'/minecraft:the_end 11:48:31.890 Received config from the server: {"minecraft:hide_powder_snow":true,"minecraft:hide_infestations":true,"minecraft:hide_trapped_chest":true} 11:48:33.507 Loaded 67 advancements 11:48:34.874 [Shaders] Program loaded: final 11:48:34.875 [Shaders] usedColorBuffers: 4 11:48:34.875 [Shaders] usedDepthBuffers: 1 11:48:34.875 [Shaders] usedShadowColorBuffers: 0 11:48:34.875 [Shaders] usedShadowDepthBuffers: 0 11:48:34.875 [Shaders] usedColorAttachs: 4 11:48:34.876 [Shaders] usedDrawBuffers: 1 11:48:34.876 [Shaders] bindImageTextures: false 11:48:34.949 [Shaders] Framebuffer created: dfb 11:48:34.952 [Shaders] Reset model renderers 11:48:34.952 [Shaders] Reset world renderers 11:50:27.340

11:50:27.340 Process crashed with exit code -805306369

Lolezboi avatar Aug 31 '21 09:08 Lolezboi

Did you add that option to the Java/JVM arguments field in your Fabric profile? There is no output from Mixin on that snippet you posted (or you cut it out from before this bit).

Also the vanilla launcher console is horrible for copy pasting logs out of, I would suggest you instead look in the log file at .minecraft/logs/latest.log, the formatting won't be messed up like this there. And also preferably post the log to a pastebin service like pastebin.com or hastebin.com or paste.ee and then link the paste here, instead of pasting long logs in the issue message directly.

maruohon avatar Aug 31 '21 11:08 maruohon

where should i add it?

Lolezboi avatar Sep 01 '21 06:09 Lolezboi

i use vanilla launcher

Lolezboi avatar Sep 01 '21 06:09 Lolezboi

I already said, to the Java/JVM arguments field in the profile settings. I'm not sure of the exact wording in the current launcher version, as I don't have the vanilla launcher installed so I can't quickly check.

maruohon avatar Sep 01 '21 14:09 maruohon

At the tan on the top click on something like “versions” find the one you want and edit it. Under advanced options or similar and it should be there.

On Wed, Sep 1, 2021 at 10:18 AM Matti Ruohonen @.***> wrote:

I already said, to the Java/JVM arguments field in the profile settings. I'm not sure of the exact wording in the current launcher version, as I don't have the vanilla launcher installed so I can't quickly check.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/maruohon/tweakeroo/issues/263#issuecomment-910331477, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVHWNMPR46AECQO62XP4BWLT7YY4FANCNFSM5CKB46AQ .

M1-Ace avatar Sep 01 '21 14:09 M1-Ace

The first imgur link I posted in the message that had the other screenshots as well shows the profile settings menu from the vanilla launcher from some time ago. I assume it still looks mostly the same.

maruohon avatar Sep 01 '21 14:09 maruohon