Skip to content

Failed to launch Forge 62.0.1 (26.1) #5255

Open
PrismLauncher/meta
#123

Description

@jebibot

Operating System

Windows

Version of Prism Launcher

Prism Launcher 10.0.5

Version of Qt

Qt 6.10.2

Description of bug

The game crashes with the following error during launch: https://mclo.gs/hNVtvIm

Works fine on the vanilla launcher.

Steps to reproduce

  1. Create a instance with Minecraft 26.1 and Forge 62.0.1
  2. Launch

Suspected cause

No response

This issue is unique

  • I have searched the issue tracker and did not find an issue describing my bug.

Activity

  1. changed the title [-]Failed launch Forge 62.0.1 (26.1)[/-] [+]Failed to launch Forge 62.0.1 (26.1)[/+] on Mar 25, 2026
  2. Fealtous commented on Mar 26, 2026

    @Fealtous

    Just commenting on this issue with my own investigation, was able to confirm this issue.
    We had a similar report in MinecraftForge/MinecraftForge#10797. Standard forge install into mojang's launcher is working, so something appears to be going wrong with Prism's install process for this new version.

  3. Trial97 commented on Mar 26, 2026

    @Trial97
    Member

    @Fealtous were there any changes to how forge installs?
    I do not follow the development of all the loaders and I do not know exactly all the details.
    And from our side, even if the current solution is not actually perfect, did work before and we did not change anything to it(and I know we should fix that at some point, and properly install the loaders without the re-runinig the installer).

  4. Fealtous commented on Mar 27, 2026

    @Fealtous

    @Trial97
    Yes, we removed the renaming steps since they don't apply for 26.1+, so all that remains is the binpatching.

  5. Trial97 commented on Mar 27, 2026

    @Trial97
    Member

    Did try a bunch of things(most probably wrong leads).
    But at the end I did observe that the forge-26.1-62.0.3-client.jar file is generated correctly(the sha matches with the one from .../install_profile.json) and is added to the libraries path.
    So I do not understand why it fails to launch, as basically the patched version is the wanted one.

  6. LexManos commented on Mar 27, 2026

    @LexManos

    So the issue is that you add the binary patched class to the classpath at the end.
    Which means that it will be overwritten by the vanilla jar file as they contain the same class files.
    The patched jar needs to be before the vanilla jar on the classpath as the default ClassLoader is a first found loader.

    A possible solution if you insist on running the installer every run, is to simply build the classpath as the version.json specifies, including the non-downloadable artifacts. So that you have the correctly ordered classpath. Which might work (haven't looked into it) as things should be loaded on demand. And only demanded after your installer wrapper has run.

    Another option would be to provide a flag, which i've asked Peter for for years, that allows a version.json to tell you to skip adding the vanilla jar file to the classpath. We don't use it at all, there is no reason it needs to exist for us.

    "Why does this work in old versions?" Before Minecraft was Obfuscated, which means their classes were not the same name as the classes in our patched jar. So there was no conflict.

  7. Trial97 commented on Mar 27, 2026

    @Trial97
    Member

    Thanks LexManos for the solid lead. Is the vanilla jar file optional for all versions? Or is some kind of flag already present in version.json?

    Looking into sorting the class path for now, And I'm willing to add a flag for skipping minecraft jar file (asking if it should be always skipped for forge/detected automatically from version.json or just a launcher setting).

    For now a quick and dirty fix that should work without any changes from us(until we actually fix it)

    • go to the instance settings
    • go to versions tab
    • click Minecraft
    • click Customize
    • click edit (this should open .../<instance_root>/patches/net.minecraft.json)
    • locate the mainJar key
    • replace the artifact there with a library from above

    e.g.

      "mainJar": {
        "downloads": {
          "artifact": {
            "sha1": "d9e58ac9c7779ba3bf8142aff6c830617a7fe60f",
            "size": 69908,
            "url": "https://libraries.minecraft.net/org/slf4j/slf4j-api/2.0.17/slf4j-api-2.0.17.jar"
          }
        },
        "name": "org.slf4j:slf4j-api:2.0.17"
      },
    
    • hit launch
    • this should skip the minecraft cleint jar and start the game
  8. LexManos commented on Mar 28, 2026

    @LexManos

    Honestly I haven't gone through the full history to verify if every version doesn't use the main jar.
    I'm pretty sure we do use it for <1.13 as that is before the re-write to JPMS and all that.

    I don't like special casing launchers. As our standard target will always been the vanilla launcher. But a special flag might be feasible. And just hope that other launchers follow suit.

    Honestly tho, I would advise just skipping the installer wrapper and doing it at install time like it should be.

    There is no reason to re-run the installer every launch, it wastes so much time for the end user.

  9. GameLord2011 commented on Apr 2, 2026

    @GameLord2011

    [Somewhat related sorry for the ping lex]: Something that would be nice is if it automatically put jarmods above the Minecraft jar, I frequently use them to recreate "lost" versions, for example Minecraft 2.0, and I am not the best at remembering specific nuances, so I keep running into problems where I forget to move it up. (I understand if you want to write this off as "you should git gud then" and I'm fine if you do.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions