Skip to content

bug: --verify-with-sdk crashes on Windows due to reserved MS-DOS filenames (aux.dex, con.dex) #140

@cyberboh

Description

@cyberboh

Bug description

SdkDexVerifier issue I guess

Error logs

YouTube 21.18.163:

INFO: Wrote 9 dex files to C:\Users\DELL\AppData\Local\Temp\patcher\patched\dex 
INFO: Verifying 9 DEX files with dexdump/d8 
INFO: Patching result saved to C:\Morphe\temp_result_YouTube.json
INFO: Purging temporary files 
INFO: Failed to purge resource cache directory 
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at java.base/java.util.Arrays.copyOfRangeByte(Arrays.java:3863)
	at java.base/java.util.Arrays.copyOfRange(Arrays.java:3854)
	at java.base/java.lang.String.<init>(String.java:4790)
	at java.base/java.lang.StringBuffer.toString(StringBuffer.java:739)
	at java.base/java.io.StringWriter.toString(StringWriter.java:220)
	at kotlin.io.TextStreamsKt.readText(ReadWrite.kt:122)
	at app.morphe.patcher.dex.SdkDexVerifier.exec(DexVerifier.kt:412)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyWithDexdump(DexVerifier.kt:328)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyDexFile(DexVerifier.kt:117)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyDexDirectory(DexVerifier.kt:134)
	at app.morphe.patcher.patch.BytecodePatchContext.compileFull(BytecodePatchContext.kt:282)
	at app.morphe.patcher.patch.BytecodePatchContext.get(BytecodePatchContext.kt:262)
	at app.morphe.patcher.Patcher.get(Patcher.kt:174)
	at app.morphe.cli.command.PatchCommand.call(PatchCommand.kt:738)
	at app.morphe.cli.command.PatchCommand.call(PatchCommand.kt:51)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
	at picocli.CommandLine.execute(CommandLine.java:2174)
	at app.morphe.MorpheLauncherKt.main(MorpheLauncher.kt:23)


YT Music 9.17.51:

INFO: Wrote 8 dex files to C:\Users\DELL\AppData\Local\Temp\patcher\patched\dex 
INFO: Verifying 8 DEX files with dexdump/d8 
SEVERE: An unexpected error occurred: d8 failed on classes5.dex (exit code 1):
Error in C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\con.dex:
java.nio.file.FileSystemException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\con.dex: Incorrect function
Error in C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\aux.dex:
java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\aux.dex
Error in C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex:
java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
Compilation failed with an internal error.
Exception in thread "main" java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:126)
	at com.android.tools.r8.D8.main(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:5)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
	at Version.fakeStackEntry(Version_8.2.2-dev.java:0)
	at com.android.tools.r8.M.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:5)
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:81)
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:32)
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:31)
	at com.android.tools.r8.utils.R0.b(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:2)
	at com.android.tools.r8.D8.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c55

... [truncated 3458 chars] ...

tools.r8.D8.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:24)
		at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:113)
		at com.android.tools.r8.D8.main(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:5)
	Caused by: com.android.tools.r8.utils.b: java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
		at com.android.tools.r8.utils.O2.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:21)
		at com.android.tools.r8.utils.O2.error(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:1)
		at com.android.tools.r8.utils.I0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:23)
		at com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer.accept(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:2)
		at com.android.tools.r8.dex.k.b(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:52)
		at com.android.tools.r8.utils.d3.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:4)
		at com.android.tools.r8.utils.d3.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:40)
		at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1456)
		at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
		at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
		at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
		at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
		at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
	Caused by: [CIRCULAR REFERENCE: java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex]
 
app.morphe.patcher.dex.DexVerificationException: d8 failed on classes5.dex (exit code 1):
Error in C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\con.dex:
java.nio.file.FileSystemException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\con.dex: Incorrect function
Error in C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\aux.dex:
java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\aux.dex
Error in C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex:
java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
Compilation failed with an internal error.
Exception in thread "main" java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:126)
	at com.android.tools.r8.D8.main(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:5)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
	at Version.fakeStackEntry(Version_8.2.2-dev.java:0)
	at com.android.tools.r8.M.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:5)
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:81)
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:32)
	at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:31)
	at com.android.tools.r8.utils.R0.b(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:2)
	at com.android.tools.r8.D8.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c55

... [truncated 3458 chars] ...

tools.r8.D8.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:24)
		at com.android.tools.r8.utils.R0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:113)
		at com.android.tools.r8.D8.main(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:5)
	Caused by: com.android.tools.r8.utils.b: java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex
		at com.android.tools.r8.utils.O2.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:21)
		at com.android.tools.r8.utils.O2.error(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:1)
		at com.android.tools.r8.utils.I0.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:23)
		at com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer.accept(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:2)
		at com.android.tools.r8.dex.k.b(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:52)
		at com.android.tools.r8.utils.d3.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:4)
		at com.android.tools.r8.utils.d3.a(R8_8.2.2-dev_53a55043254cc5be8ef500331bba25d1b4ca4bc2cd66c555d4358bf672a1f10a:40)
		at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1456)
		at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
		at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
		at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
		at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
		at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
	Caused by: [CIRCULAR REFERENCE: java.nio.file.NoSuchFileException: C:\Users\DELL\AppData\Local\Temp\d8-verify-3176826548818970237.tmp\prn.dex]

	at app.morphe.patcher.dex.SdkDexVerifier.exec(DexVerifier.kt:422)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyWithD8(DexVerifier.kt:344)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyDexFile(DexVerifier.kt:118)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyDexDirectory(DexVerifier.kt:134)
	at app.morphe.patcher.patch.BytecodePatchContext.compileFull(BytecodePatchContext.kt:282)
	at app.morphe.patcher.patch.BytecodePatchContext.get(BytecodePatchContext.kt:262)
	at app.morphe.patcher.Patcher.get(Patcher.kt:174)
	at app.morphe.cli.command.PatchCommand.call(PatchCommand.kt:738)
	at app.morphe.cli.command.PatchCommand.call(PatchCommand.kt:51)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
	at picocli.CommandLine.execute(CommandLine.java:2174)
	at app.morphe.MorpheLauncherKt.main(MorpheLauncher.kt:23)


Reddit 2026.18.0:

INFO: Wrote 13 dex files to C:\Users\DELL\AppData\Local\Temp\patcher\patched\dex 
INFO: Verifying 13 DEX files with dexdump/d8 
INFO: Patching result saved to C:\Morphe\temp_result_Reddit.json 
INFO: Purging temporary files 
INFO: Purged resource cache directory 
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
	at java.base/java.util.Arrays.copyOfRangeByte(Arrays.java:3863)
	at java.base/java.util.Arrays.copyOfRange(Arrays.java:3854)
	at java.base/java.lang.String.<init>(String.java:4790)
	at java.base/java.lang.StringBuffer.toString(StringBuffer.java:739)
	at java.base/java.io.StringWriter.toString(StringWriter.java:220)
	at kotlin.io.TextStreamsKt.readText(ReadWrite.kt:122)
	at app.morphe.patcher.dex.SdkDexVerifier.exec(DexVerifier.kt:412)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyWithDexdump(DexVerifier.kt:328)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyDexFile(DexVerifier.kt:117)
	at app.morphe.patcher.dex.SdkDexVerifier.verifyDexDirectory(DexVerifier.kt:134)
	at app.morphe.patcher.patch.BytecodePatchContext.compileFull(BytecodePatchContext.kt:282)
	at app.morphe.patcher.patch.BytecodePatchContext.get(BytecodePatchContext.kt:262)
	at app.morphe.patcher.Patcher.get(Patcher.kt:174)
	at app.morphe.cli.command.PatchCommand.call(PatchCommand.kt:738)
	at app.morphe.cli.command.PatchCommand.call(PatchCommand.kt:51)
	at picocli.CommandLine.executeUserObject(CommandLine.java:2031)
	at picocli.CommandLine.access$1500(CommandLine.java:148)
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2469)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2461)
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2423)
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2425)
	at picocli.CommandLine.execute(CommandLine.java:2174)
	at app.morphe.MorpheLauncherKt.main(MorpheLauncher.kt:23)

Solution

No response

Additional context

No response

Acknowledgements

  • I have checked all open and closed bug reports and this is not a duplicate.
  • I have chosen an appropriate title.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions