Skip to content

[gui] java.lang.OutOfMemoryError: Required array size too large #2619

@AndroidMaster25

Description

@AndroidMaster25

Issue details

I'm getting out of memory error when trying to load a large XAPK file but I have lots of memory space. Tested with both stable version 1.5.2 and unstable build

APK link:
Tested with Lost Sword 1.378.335
https://apkcombo.com/lost-sword/com.wemadeconnect.aos.lostdgl/download/apk

Logs:

Jadx version : r2503.4335864
Java version : 17.0.16
Java VM      : Oracle Corporation Java HotSpot(TM) 64-Bit Server VM
Platform     : Windows 11 (10.0 amd64)
Max heap size: 28624 MB
Program args : -Xms128M -XX:MaxRAMPercentage=70.0 -Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Djava.util.Arrays.useLegacyMergeSort=true -Djdk.util.zip.disableZip64ExtraFieldValidation=true -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.lang=ALL-UNNAMED --enable-native-access=ALL-UNNAMED -Dsun.java2d.noddraw=true -Dsun.java2d.d3d=false -Dsun.java2d.ddforcevram=true -Dsun.java2d.ddblit=false -Dswing.useflipBufferStrategy=true

java.lang.OutOfMemoryError: Required array size too large
	at java.base/java.io.InputStream.readNBytes(InputStream.java:417)
	at java.base/java.io.InputStream.readAllBytes(InputStream.java:346)
	at jadx.zip.fallback.FallbackZipParser.getBytes(FallbackZipParser.java:70)
	at jadx.zip.fallback.FallbackZipEntry.getBytes(FallbackZipEntry.java:34)
	at jadx.plugins.input.xapk.XApkLoader.unpackXApk(XApkLoader.java:88)
	at jadx.plugins.input.xapk.XApkLoader.checkAndLoad(XApkLoader.java:66)
	at jadx.plugins.input.xapk.XApkCustomInput.loadFiles(XApkCustomInput.java:32)
	at jadx.api.JadxDecompiler.loadInputFiles(JadxDecompiler.java:161)
	at jadx.api.JadxDecompiler.load(JadxDecompiler.java:125)
	at jadx.gui.JadxWrapper.open(JadxWrapper.java:78)
	at jadx.gui.ui.MainWindow.lambda$loadFiles$4(MainWindow.java:582)
	at jadx.core.utils.tasks.TaskExecutor.wrapTask(TaskExecutor.java:168)
	at jadx.core.utils.tasks.TaskExecutor.runStages(TaskExecutor.java:143)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:842)

Screenshot:
Image

Jadx version

r2503.4335864

Java version

17.0.16

OS

  • Windows
  • Linux
  • macOS

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions