Skip to content

ArrayIndexOutOfBoundsException while remapping mods for transform cache #482

Description

@unilock

Describe the crash

My very large modpack crashes during mod remapping while Quilt Loader (v0.29.3-beta.1) is preparing its transformation cache. The thrown exception provides very little information:

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2
	at org.quiltmc.loader.impl.lib.tinyremapper.TinyRemapper.waitForAll(TinyRemapper.java:1229)
	at org.quiltmc.loader.impl.lib.tinyremapper.TinyRemapper.apply(TinyRemapper.java:967)
	at org.quiltmc.loader.impl.transformer.RuntimeModRemapper.remap0(RuntimeModRemapper.java:201)
	at org.quiltmc.loader.impl.transformer.RuntimeModRemapper.remap(RuntimeModRemapper.java:135)
	at org.quiltmc.loader.impl.transformer.TransformCache.<init>(TransformCache.java:158)
	at org.quiltmc.loader.impl.transformer.TransformCacheGenerator.generate(TransformCacheGenerator.java:45)
	at org.quiltmc.loader.impl.transformer.TransformCacheManager.writeTransformCache(TransformCacheManager.java:302)
	at org.quiltmc.loader.impl.transformer.TransformCacheManager.createTransformCache(TransformCacheManager.java:275)
	at org.quiltmc.loader.impl.transformer.TransformCacheManager.populateTransformBundle(TransformCacheManager.java:105)
	at org.quiltmc.loader.impl.QuiltLoaderImpl.setup(QuiltLoaderImpl.java:377)
	at org.quiltmc.loader.impl.QuiltLoaderImpl.load(QuiltLoaderImpl.java:306)
	at org.quiltmc.loader.impl.launch.knot.Knot.init(Knot.java:150)
	at org.quiltmc.loader.impl.launch.knot.Knot.launch(Knot.java:79)
	at org.quiltmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:28)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:105)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)
Caused by: java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:124)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:193)
	at org.quiltmc.loader.impl.lib.tinyremapper.TinyRemapper.waitForAll(TinyRemapper.java:1226)
	... 16 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2
	at org.quiltmc.loader.impl.lib.tinyremapper.AsmClassRemapper$AsmMethodRemapper.processLocals(AsmClassRemapper.java:344)
	at org.quiltmc.loader.impl.lib.tinyremapper.AsmClassRemapper$AsmMethodRemapper.visitEnd(AsmClassRemapper.java:310)
	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1516)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:745)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:425)
	at org.quiltmc.loader.impl.lib.tinyremapper.TinyRemapper.apply(TinyRemapper.java:1132)
	at org.quiltmc.loader.impl.lib.tinyremapper.TinyRemapper.lambda$apply$5(TinyRemapper.java:963)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
	at java.base/java.lang.Thread.run(Thread.java:1474)

I suspect some mod is doing something very strange to cause this issue, but I have no idea which mod it could be.

Which environment crashed?

Client

Logs

https://mclo.gs/vVL47Xl

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugsomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions