MoreMcmeta / core

Animate almost any Minecraft texture with more options. Texture configuration API. 1.16-1.21
GNU Lesser General Public License v3.0
30 stars 5 forks source link

Stack overflow when other mods scan all resources (Dynamic Assets Generator) #18

Closed soir20 closed 1 year ago

soir20 commented 1 year ago

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.(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.(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.(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.(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.(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

  1. Add MoreMcmeta and Dynamic Assets Generator to the mods folder.
  2. 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?

Mods list

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 1 year ago

Fixed by 50a6e6a (1.16), 7419552 (1.17), c9a50f3 (1.18), 75d165b (1.19).

soir20 commented 1 year ago

Fix was released in version 3.0.6.