RetroMCP-Java icon indicating copy to clipboard operation
RetroMCP-Java copied to clipboard

Often `ZipException` while decompilation

Open ChefMC opened this issue 2 years ago • 3 comments

Some classes won't decompile and RMCP breaking decompilation with error:

java.util.zip.ZipException: duplicate entry: net/any/package/Example.class
	at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:233)
	at org.mcphackers.rdi.nio.ClassStorageWriter.write(ClassStorageWriter.java:57)
	at org.mcphackers.rdi.nio.RDInjector.write(RDInjector.java:71)
	at org.mcphackers.rdi.nio.RDInjector.write(RDInjector.java:75)
	at org.mcphackers.mcp.tasks.TaskDecompile.applyInjector(TaskDecompile.java:190)
	at org.mcphackers.mcp.tasks.TaskDecompile.lambda$setStages$1(TaskDecompile.java:72)
	at org.mcphackers.mcp.tasks.TaskDecompile$$Lambda$66/615932360.doTask(Unknown Source)
	at org.mcphackers.mcp.tasks.TaskStaged$Stage.doTask(TaskStaged.java:76)
	at org.mcphackers.mcp.tasks.TaskStaged$Stage.access$200(TaskStaged.java:60)
	at org.mcphackers.mcp.tasks.TaskStaged.doTask(TaskStaged.java:36)
	at org.mcphackers.mcp.tasks.Task.performTask(Task.java:65)
	at org.mcphackers.mcp.MCP.lambda$performTask$0(MCP.java:115)
	at org.mcphackers.mcp.MCP$$Lambda$61/632266499.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Class successfully exist in decompiled.jar, but further decompilation (of another classes) is stopped.

I tried to fix that this way (inside your org.mcphackers.rdi.nio.ClassStorageWriter class): image But I still getting the same error, like my fix doesn't exist at all.

ChefMC avatar Feb 10 '24 19:02 ChefMC

Do you happen to have the JAR file that causes this?

PhoenixVX avatar Feb 27 '24 02:02 PhoenixVX