Stack overflow when other mods scan all resources (Dynamic Assets Generator)
soir20 opened this issue · 2 comments
soir20 commented
Describe the bug
1.19.3
Using MoreMcmeta and Dynamic Assets Generator together causes the game to take an absurd amount of time or load (or possibly it never loads). Relevant stacktrace from the logs (truncated for char limit):
java.lang.StackOverflowError: null
at java.lang.StringBuilder.append(StringBuilder.java:179) ~[?:?]
at cpw.mods.niofs.union.UnionPath.<init>(UnionPath.java:39) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.niofs.union.UnionFileSystem.getPath(UnionFileSystem.java:170) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.jarhandling.impl.Jar.findFile(Jar.java:65) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.jarhandling.impl.Jar$JarModuleDataProvider.open(Jar.java:291) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.cl.JarModuleFinder$JarModuleReader.open(JarModuleFinder.java:76) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.cl.ModuleClassLoader.lambda$getClassBytes$10(ModuleClassLoader.java:105) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.util.LambdaExceptionUtils.lambda$rethrowFunction$2(LambdaExceptionUtils.java:42) ~[securejarhandler-2.1.4.jar:?]
at java.util.Optional.flatMap(Optional.java:289) ~[?:?]
at cpw.mods.cl.ModuleClassLoader.getClassBytes(ModuleClassLoader.java:105) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.cl.ModuleClassLoader.readerToClass(ModuleClassLoader.java:113) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.cl.ModuleClassLoader.lambda$findClass$15(ModuleClassLoader.java:219) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.cl.ModuleClassLoader.loadFromModule(ModuleClassLoader.java:229) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.cl.ModuleClassLoader.findClass(ModuleClassLoader.java:219) ~[securejarhandler-2.1.4.jar:?]
at cpw.mods.cl.ModuleClassLoader.loadClass(ModuleClassLoader.java:135) ~[securejarhandler-2.1.4.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at org.apache.logging.log4j.message.ParameterizedNoReferenceMessageFactory.newMessage(ParameterizedNoReferenceMessageFactory.java:105) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.message.AbstractMessageFactory.newMessage(AbstractMessageFactory.java:99) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2057) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1931) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.warn(AbstractLogger.java:2805) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.handleLogMessageException(AbstractLogger.java:2225) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2208) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:750) ~[log4j-api-2.19.0.jar%23129!/:2.19.0]
at dev.lukebemish.dynamicassetgenerator.api.ResourceCache.lambda$getResources$1(ResourceCache.java:58) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
at dev.lukebemish.dynamicassetgenerator.api.ResourceCache.getResources(ResourceCache.java:52) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.GeneratedPackResources.getStreams(GeneratedPackResources.java:39) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.GeneratedPackResources.m_5698_(GeneratedPackResources.java:76) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at io.github.soir20.moremcmeta.client.adapter.PackResourcesAdapter.getNamespaces(PackResourcesAdapter.java:120) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.lambda$listResources$3(OrderedResourceRepository.java:111) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.listResources(OrderedResourceRepository.java:114) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.TextureLoader.load(TextureLoader.java:78) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.TextureCache.load(TextureCache.java:81) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.MoreMcmeta.lambda$start$2(MoreMcmeta.java:121) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at net.minecraft.server.packs.repository.Pack.m_10445_(Pack.java:110) ~[client-1.19.3-20221207.122022-srg.jar%23152!/:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at dev.lukebemish.dynamicassetgenerator.api.client.ClientPrePackRepository.getResources(ClientPrePackRepository.java:45) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.client.BuiltinAssetResourceCache.getSourceJsons(BuiltinAssetResourceCache.java:33) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.client.BuiltinAssetResourceCache.lambda$new$0(BuiltinAssetResourceCache.java:26) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.api.ResourceCache.lambda$getResources$1(ResourceCache.java:54) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
at dev.lukebemish.dynamicassetgenerator.api.ResourceCache.getResources(ResourceCache.java:52) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.GeneratedPackResources.getStreams(GeneratedPackResources.java:39) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.GeneratedPackResources.m_5698_(GeneratedPackResources.java:76) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at io.github.soir20.moremcmeta.client.adapter.PackResourcesAdapter.getNamespaces(PackResourcesAdapter.java:120) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.lambda$listResources$3(OrderedResourceRepository.java:111) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.listResources(OrderedResourceRepository.java:114) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.TextureLoader.load(TextureLoader.java:78) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.TextureCache.load(TextureCache.java:81) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.MoreMcmeta.lambda$start$2(MoreMcmeta.java:121) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at net.minecraft.server.packs.repository.Pack.m_10445_(Pack.java:110) ~[client-1.19.3-20221207.122022-srg.jar%23152!/:?]
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at dev.lukebemish.dynamicassetgenerator.api.client.ClientPrePackRepository.getResources(ClientPrePackRepository.java:45) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.client.BuiltinAssetResourceCache.getSourceJsons(BuiltinAssetResourceCache.java:33) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.client.BuiltinAssetResourceCache.lambda$new$0(BuiltinAssetResourceCache.java:26) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.api.ResourceCache.lambda$getResources$1(ResourceCache.java:54) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at java.util.ArrayList.forEach(ArrayList.java:1511) ~[?:?]
at dev.lukebemish.dynamicassetgenerator.api.ResourceCache.getResources(ResourceCache.java:52) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.GeneratedPackResources.getStreams(GeneratedPackResources.java:39) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at dev.lukebemish.dynamicassetgenerator.impl.GeneratedPackResources.m_5698_(GeneratedPackResources.java:76) ~[dynamicassetgenerator-forge-1.19.3-3.0.1.jar%23150!/:3.0.1]
at io.github.soir20.moremcmeta.client.adapter.PackResourcesAdapter.getNamespaces(PackResourcesAdapter.java:120) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.lambda$listResources$3(OrderedResourceRepository.java:111) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?]
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?]
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?]
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.listResources(OrderedResourceRepository.java:114) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.TextureLoader.load(TextureLoader.java:78) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.client.resource.TextureCache.load(TextureCache.java:81) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
at io.github.soir20.moremcmeta.MoreMcmeta.lambda$start$2(MoreMcmeta.java:121) ~[moremcmeta-1.19.3-3.0.5-forge.jar%23151!/:?]
1.18.2
The game crashes with a `java.util.regex.PatternSyntaxException: Stack overflow during pattern compilation near index 12 (?:\Q/\E)+(?=(?:\Q/\E))` error (truncated for char limit):
java.util.regex.PatternSyntaxException: Stack overflow during pattern compilation near index 12
(?:\Q/\E)+(?=(?:\Q/\E))
^
at java.util.regex.Pattern.error(Pattern.java:2028) ~[?:?] {}
at java.util.regex.Pattern.<init>(Pattern.java:1432) ~[?:?] {}
at java.util.regex.Pattern.compile(Pattern.java:1069) ~[?:?] {}
at java.lang.String.replaceAll(String.java:2939) ~[?:?] {re:mixin}
at cpw.mods.niofs.union.UnionPath.getPathParts(UnionPath.java:56) ~[securejarhandler-1.0.3.jar:?] {}
at cpw.mods.niofs.union.UnionPath.<init>(UnionPath.java:29) ~[securejarhandler-1.0.3.jar:?] {}
at cpw.mods.niofs.union.UnionFileSystem.getPath(UnionFileSystem.java:115) ~[securejarhandler-1.0.3.jar:?] {}
at cpw.mods.niofs.union.UnionFileSystem.lambda$newDirStream$10(UnionFileSystem.java:244) ~[securejarhandler-1.0.3.jar:?] {}
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?] {}
at java.util.Iterator.forEachRemaining(Iterator.java:133) ~[?:?] {}
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1845) ~[?:?] {}
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?] {}
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?] {}
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {}
at java.util.stream.ReferencePipeline.forEachOrdered(ReferencePipeline.java:601) ~[?:?] {}
at cpw.mods.niofs.union.UnionFileSystem.newDirStream(UnionFileSystem.java:245) ~[securejarhandler-1.0.3.jar:?] {}
at cpw.mods.niofs.union.UnionFileSystemProvider.newDirectoryStream(UnionFileSystemProvider.java:157) ~[securejarhandler-1.0.3.jar:?] {}
at java.nio.file.Files.newDirectoryStream(Files.java:482) ~[?:?] {}
at java.nio.file.FileTreeWalker.visit(FileTreeWalker.java:301) ~[?:?] {}
at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:323) ~[?:?] {}
at java.nio.file.FileTreeIterator.<init>(FileTreeIterator.java:71) ~[?:?] {}
at java.nio.file.Files.walk(Files.java:3918) ~[?:?] {}
at net.minecraftforge.resource.PathResourcePack.m_5698_(PathResourcePack.java:131) ~[forge-1.18.2-40.0.12-universal.jar%2358!/:?] {re:classloading}
at net.minecraftforge.resource.PathResourcePack.m_5698_(PathResourcePack.java:142) ~[forge-1.18.2-40.0.12-universal.jar%2358!/:?] {re:classloading}
at net.minecraftforge.resource.DelegatingResourcePack.buildNamespaceMap(DelegatingResourcePack.java:50) ~[forge-1.18.2-40.0.12-universal.jar%2358!/:?] {re:classloading}
at net.minecraftforge.resource.DelegatingResourcePack.<init>(DelegatingResourcePack.java:42) ~[forge-1.18.2-40.0.12-universal.jar%2358!/:?] {re:classloading}
at net.minecraftforge.client.loading.ClientModLoader.lambda$clientPackFinder$12(ClientModLoader.java:211) ~[forge-1.18.2-40.0.12-universal.jar%2358!/:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.server.packs.repository.Pack.m_10445_(Pack.java:124) ~[client-1.18.2-20220228.144236-srg.jar%2354!/:?] {re:classloading}
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?] {}
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {}
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] {}
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {}
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] {}
at io.github.lukebemish.dynamic_asset_generator.client.api.ClientPrePackRepository.getResources(ClientPrePackRepository.java:35) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:mixin,re:classloading}
at io.github.lukebemish.dynamic_asset_generator.client.api.ClientPrePackRepository.getSourceJsons(ClientPrePackRepository.java:58) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:mixin,re:classloading}
at io.github.lukebemish.dynamic_asset_generator.client.DynAssetGenClientPlanner.getResources(DynAssetGenClientPlanner.java:55) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:classloading}
at io.github.lukebemish.dynamic_asset_generator.forge.DynAssetGenClientResourcePack.getStreams(DynAssetGenClientResourcePack.java:26) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:classloading}
at io.github.lukebemish.dynamic_asset_generator.forge.DynAssetGenClientResourcePack.m_5698_(DynAssetGenClientResourcePack.java:86) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:classloading}
at io.github.soir20.moremcmeta.client.adapter.PackResourcesAdapter.getNamespaces(PackResourcesAdapter.java:102) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.lambda$listResources$3(OrderedResourceRepository.java:111) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?] {}
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {}
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] {}
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {}
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] {}
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.listResources(OrderedResourceRepository.java:114) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.client.resource.TextureLoader.load(TextureLoader.java:78) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.client.resource.TextureCache.load(TextureCache.java:81) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.MoreMcmeta.lambda$start$2(MoreMcmeta.java:119) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at net.minecraft.server.packs.repository.Pack.m_10445_(Pack.java:124) ~[client-1.18.2-20220228.144236-srg.jar%2354!/:?] {re:classloading}
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] {}
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?] {}
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {}
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] {}
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {}
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] {}
at io.github.lukebemish.dynamic_asset_generator.client.api.ClientPrePackRepository.getResources(ClientPrePackRepository.java:35) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:mixin,re:classloading}
at io.github.lukebemish.dynamic_asset_generator.client.api.ClientPrePackRepository.getSourceJsons(ClientPrePackRepository.java:58) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:mixin,re:classloading}
at io.github.lukebemish.dynamic_asset_generator.client.DynAssetGenClientPlanner.getResources(DynAssetGenClientPlanner.java:55) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:classloading}
at io.github.lukebemish.dynamic_asset_generator.forge.DynAssetGenClientResourcePack.getStreams(DynAssetGenClientResourcePack.java:26) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:classloading}
at io.github.lukebemish.dynamic_asset_generator.forge.DynAssetGenClientResourcePack.m_5698_(DynAssetGenClientResourcePack.java:86) ~[dynamic_asset_generator-forge-1.18.2-0.6.3.jar%2352!/:0.6.3] {re:classloading}
at io.github.soir20.moremcmeta.client.adapter.PackResourcesAdapter.getNamespaces(PackResourcesAdapter.java:102) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.lambda$listResources$3(OrderedResourceRepository.java:111) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) ~[?:?] {}
at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] {}
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] {}
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] {}
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) ~[?:?] {}
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] {}
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) ~[?:?] {}
at io.github.soir20.moremcmeta.client.resource.OrderedResourceRepository.listResources(OrderedResourceRepository.java:114) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.client.resource.TextureLoader.load(TextureLoader.java:78) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.client.resource.TextureCache.load(TextureCache.java:81) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
at io.github.soir20.moremcmeta.MoreMcmeta.lambda$start$2(MoreMcmeta.java:119) ~[moremcmeta-1.18.2-3.0.5-forge.jar%2353!/:?] {re:classloading}
To reproduce
- Add MoreMcmeta and Dynamic Assets Generator to the mods folder.
- Launch the game.
Expected behavior
Game loads within a normal amount of time and does not crash.
Screenshots or videos
N/A
Which Minecraft versions does this bug affect?
1.18, 1.19
(Technically, 1.16 and 1.17 are also affected, but DAG is not available for these versions.)
Mod loader
Which mod loaders does this bug affect?
- Forge
- Fabric
Mods list
- MoreMcmeta 3.0.5
- Dynamic Asset Generator 3.0.1
Resource pack
Demo pack.
Additional context
Reported via CurseForge comments.
Cause is stack overflow error because both mods scan all resources when resource packs are opened. MoreMcmeta's pack opens --> DAG's pack opens --> MoreMcmeta's pack opens again --> DAG's pack opens again --> ... --> stack overflow.
soir20 commented
Fix was released in version 3.0.6.