Tweakeroo

Tweakeroo

2M Downloads

Launching a world with Tweakeroo installed causes game to crash

M1-Ace opened this issue · 22 comments

commented

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.

commented

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

commented

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.

commented
commented

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.

commented
commented

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.

commented

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.

commented

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.

commented

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.

unknown_replay_2021.08.17-14.21_clip_1_clip_1_clip_1.mp4
commented

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

commented

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

commented

@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

commented

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.

commented

how do you do this?

commented

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

commented

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

commented

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.

commented

where should i add it?

commented

i use vanilla launcher

commented

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.

commented
commented

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.