Jump to content

[1.6.2] (decompile fail) install.sh won't patch "temp.patch" and recompile


Recommended Posts

UPDATE: I tried looking for the reason why those patches did not apply.

This is a result for searching "case 167" though the entire tree: http://pastebin.com/vQ9bUpL7

My decompiled FontRenderer.java actually has no "case" in it.

It has "if(p_78263_1_ == 167) {" instead


Obviously the decompile step ended with different code than expected.  Any clue why could that be?


PS: Do you think it could be "solved" by asking someone else to send me an installed forge directory?



UPDATE2: I tried looking at the first compile error.

It says this file is missing the return statement:  http://pastebin.com/8Pff07NV

Obviously it's missing way more than that.


It's now clear that the decompilation is failing horribly.

Link to comment
Share on other sites

Update: I obtained a copy of already-installed forge sources.

I was able to successfully compile and run Project:Red mod using those.


I assume it means that java/jdk/jre/java compiler/python/ant are working properly.

Which means that all those .jar tools shipped with forge should also be OK.


Can you please hint me which piece of software on my machine could be causing such issues?

A piece that is used only during decompilation?


Link to comment
Share on other sites

This can happen sometimes when fernflower has an error decompiling a function.

It'll just return a empty function.

Typically that is a out of memory error.

If you go into the mcp/conf/mcp.cfg file

And find the Decompile Cmd entry and up the amount of ram it's given.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Patreon: http://www.patreon.com/lexmanos
Paypal: http://paypal.me/LexManos

BitCoin: 1Q8rWvUNMM2T1ZfDaFeeYQyVXtYoeT6tTn

Link to comment
Share on other sites

Thanks a lot for the reply.


Is that CmdFernflower?

I managed to get 966M of RAM available for the build.


Question: Can I change mcp.cfg in a way that will preserve the change when I run install.py?

Answer: Edit  fml/config/mcp.cfg instead!


Trying with 768M for fernflower..  No change while patching.  55 build errors as always.


Now I noticed that some of the commands are set with -Xmx 1024M, which is not available.

I tried reducing those to 900M.. No change while patching.  55 build errors as always.


Trying with 900M for fernflower..  No change while patching. 55 build errors as always.


I have almost doubled fernflower's memory and still not even a tiny change.

What else could be failing? (I suspect something not written in java)



I wonder why it has only -Xmx and not -Xms or -Xincgc.

(Answer: It made "Really Applying SpecialSource" fail. No idea why)

And I also wonder why is fernflower by default limited to 512M while other commands are limited to 1G.


I'll try with  1400M for fernflower (using ~512M of SWAP) over the night, but I don't really expect any changes.



I almost forgot to tell you my friend (who owns that linux machine) says it's special ("non-x86", whatever that means)

I thought java runs the same way everywhere, so i didn't really care.

Does that explain anything?

Link to comment
Share on other sites

java should run the same anywhere, except when interacting with native code.

But there are JVMs out there that fuck things up.

Best I can say is if you don't have enough ram to finish the deocmpile, then you have to find a computer that does.

The mcp/logs folder should have the complete FernFlower decompile log. Check that for more information.

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Patreon: http://www.patreon.com/lexmanos
Paypal: http://paypal.me/LexManos

BitCoin: 1Q8rWvUNMM2T1ZfDaFeeYQyVXtYoeT6tTn

Link to comment
Share on other sites

I gave it 2 extra gigabytes of swap space and gave fernflower 2048M

I also gave the same amount of RAM to the other mem-limited commands in the file.

I tried looking at memory usage during decompilation.. it seems that fernflower was using around 200M

Nothing has changed (The same patches didn't apply. The same compile errors.)

I guess it cannot be the RAM space, then?


I am using OpenJDK-7, which is reported to work fine.


Adding of SWAP should make it just extra slow, but working, right?


I found the fernflower output in mcp.log. It has a lot of errors. No clue why.

I had to remove "time" from the lines so it would fit on pastebin.



If anything, I would really like to figure out which program is failing and report the issue to ubuntu.



Link to comment
Share on other sites

Interesting, it's not telling us exactly whats erroring. I haven't seen it fail that hard at decompiling. Something is causing your computer to fail hard.

Typically its a ram issue if it's one or two functions. But the fact that you're erroring in a lot .. i'm not quite sure.


It'd be java, something inside Foernflower.

Can you get  me a full console log of you running the install?

I do Forge for free, however the servers to run it arn't free, so anything is appreciated.
Patreon: http://www.patreon.com/lexmanos
Paypal: http://paypal.me/LexManos

BitCoin: 1Q8rWvUNMM2T1ZfDaFeeYQyVXtYoeT6tTn

Link to comment
Share on other sites

Additionally the fails appear to be still the same. I doubt bad RAM would be able to do that.


Sure. Running the install means "python install.py" ?

I got that in the paste in the first post of this thread.

Ignore first 11 and last  6 lines, those are made by the script that executed "python install.py"


You have my word that the output will be the same when I run it directly with current forge.

Shall I do it anyway?

Link to comment
Share on other sites


Here you go: http://pastebin.com/3NtKf79c


Unzipped forge 849 src

ran install.py for a while to get mcp downloaded, aborted

put mcp/jars I already had from previous attempts (files.mcf.net was rather slow recently, not loading it more)

python install.py --no-assets 2>&1 | tee forgeinstall.log


I am not sure there is any useful information in that file.

But I hope it'll help push things closer to figuring what is wrong and where.

Link to comment
Share on other sites

  • 2 weeks later...

Is there anything I can do to help report the issue to the correct place?



I noticed that java --version says "OpenJDK Zero VM"

Instead of "OpenJDK 64-Bit Server VM" other people said it says for them.


But I installed  openjdk-7-jdk, the same package as them.

No idea why has ubuntu put a Zero VM instead of the Server VM in it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • REM Forge requires a configured set of both JVM and program arguments. REM Add custom JVM arguments to the user_jvm_args.txt REM Add custom program arguments {such as nogui} to this file in the next line before the %* or REM  pass them to this script directly "C:\Program Files\Java\jdk-17\bin\Java.exe" @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.18.2-40.1.80/win_args.txt -Xmx8G -Xms8G %* pause     so I used it.
    • I created an SOUL_JAR Item that has been registered for each mob like - mod:soul_jar_minecraft_cow etc.. but it all has different registry names, i have a model file name soul_jar.json and i want to know how to bind each of those items to this class (When mod iterates through all of vanilla mobs and registering items for them).   I didn't found any info about it because all of info is outdated, and forge docs is complicated asf (i wish there would be more examples) i also used AI but it showing me only outdated info, but theres some code where i registering my item and trying to bind it to model ->   public static void register(IEventBus eventBus){ ITEMS.register(eventBus); Set<ResourceLocation> entityKeyList = ForgeRegistries.ENTITY_TYPES.getKeys(); for (ResourceLocation k : entityKeyList) { EntityType<?> entityType = ForgeRegistries.ENTITY_TYPES.getValue(k); if (!entityType.getCategory().equals(MobCategory.MISC)) { RegistryObject<Item> SOUL_JAR = ITEMS.register("soul_jar" + '_' + k.toString().replace(':', '_').replace('.', '_'), () -> new JarItem(new Item.Properties().rarity(Rarity.RARE).tab(ModTabs.MAGICAL_OBSESSION_JARS), entityType)); if (Thread.currentThread().getThreadGroup() == SidedThreadGroups.CLIENT) { ItemModelShaper itemModelShaper = Minecraft.getInstance().getItemRenderer().getItemModelShaper(); itemModelShaper.register(SOUL_JAR.get().asItem(), new ModelResourceLocation("item.soul_jar", "inventory")); } } } } I also have more questions like how to iterate through all other mods mobs also, or render mob inside of a jar in inventory, but i will try to figure it out.
    • I looked into OctoEconomyAPI and saw that it was a JAR api for fabric. This means you have a fabric mod in your mods folder. I downloaded your mod folder and wasted 2 solid hours creating a Python script to try to find the faulty mod, and eventually just gave up. I suggest you create two installations with half or the mods in each, find which one doesn't launch, cut that one in half, and repeat until you find the fabric mod. Investigué OctoEconomyAPI y vi que era una API JAR para fabric. Esto significa que tienes un mod de Fabric en tu carpeta de mods. Descargué su carpeta de mods y desperdicié 2 horas completas creando un script de Python para tratar de encontrar el mod defectuoso, y finalmente me di por vencido. Le sugiero que cree dos instalaciones con la mitad o las modificaciones en cada una, encuentre cuál no se inicia, córtela por la mitad y repita hasta que encuentre la modificación Fabric.   (The Python script I made is here): (El script de Python que hice está aquí):  
    • I've got it to work now. Instead of using the texture manager I used the Render System:   RenderSystem.setShaderTexture(0, new ResourceLocation("mcaquests", "textures/item/questbook.png"));  
  • Topics

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.