Skip to content

NightConfig Flaky crash #13

@3arthqu4ke

Description

@3arthqu4ke

Only observed on Neoforge 1.20.4 up to now.
https://forums.minecraftforge.net/topic/141171-1201-crash-on-game-load-config-issue/

"This is a known rare issue with the config lib Forge uses, caused by concurrent modification. The author of NightConfig has been made aware and we're waiting on a fix from them.

The bug triggers more often when config files are left open in editors while the game is launching or running, or multiple instances of the game are started, however it can unfortunately also happen at random without doing either of those things."

Odd as we do not have multiple instances open on the same machine when running the matrix workflow with all the instances?

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "net.neoforged.fml.loading.FMLConfig$ConfigValue.getConfigValue(com.electronwill.nightconfig.core.file.CommentedFileConfig)" is null
	at net.neoforged.fml.earlydisplay.DisplayWindow.setupMinecraftWindow(DisplayWindow.java:523) ~[earlydisplay-2.0.17.jar%23126!/:2.0] {}
	at net.neoforged.fml.loading.ImmediateWindowHandler.setupMinecraftWindow(ImmediateWindowHandler.java:68) ~[loader-2.0.17.jar%23127!/:2.0] {}
	at com.mojang.blaze3d.platform.Window.<init>(Window.java:87) ~[client-1.20.4-20231207.154220-srg.jar%23171!/:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.VirtualScreen.newWindow(VirtualScreen.java:21) ~[client-1.20.4-20231207.154220-srg.jar%23171!/:?] {re:classloading}
	at net.minecraft.client.Minecraft.<init>(Minecraft.java:475) ~[client-1.20.4-20231207.154220-srg.jar%23171!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
	at net.minecraft.client.main.Main.main(Main.java:206) ~[neoforge-20.4.237.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
	at java.lang.reflect.Method.invoke(Method.java:569) ~[?:?] {}
	at net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-2.0.17.jar:2.0] {}
	at net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-2.0.17.jar:2.0] {}
	at net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:24) ~[loader-2.0.17.jar:2.0] {}
	at net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-2.0.17.jar:2.0] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "net.neoforged.fml.loading.FMLConfig$ConfigValue.getConfigValue(com.electronwill.nightconfig.core.file.CommentedFileConfig)" is null
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?] {}
	at java.util.concurrent.FutureTask.get(FutureTask.java:205) ~[?:?] {}
	at net.neoforged.fml.earlydisplay.DisplayWindow.setupMinecraftWindow(DisplayWindow.java:521) ~[earlydisplay-2.0.17.jar%23126!/:2.0] {}
	... 21 more
Caused by: java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "net.neoforged.fml.loading.FMLConfig$ConfigValue.getConfigValue(com.electronwill.nightconfig.core.file.CommentedFileConfig)" is null
	at net.neoforged.fml.loading.FMLConfig.getBoolConfigValue(FMLConfig.java:137) ~[loader-2.0.17.jar%23127!/:2.0] {}
	at net.neoforged.fml.earlydisplay.DisplayWindow.initRender(DisplayWindow.java:235) ~[earlydisplay-2.0.17.jar%23126!/:2.0] {}
	at net.neoforged.fml.earlydisplay.DisplayWindow.lambda$start$9(DisplayWindow.java:287) ~[earlydisplay-2.0.17.jar%23126!/:2.0] {}
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?] {}
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] {}
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] {}
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] {}
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] {}
	at java.lang.Thread.run(Thread.java:840) ~[?:?] {}


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at net.neoforged.fml.earlydisplay.DisplayWindow.setupMinecraftWindow(DisplayWindow.java:523) ~[earlydisplay-2.0.17.jar%23126!/:2.0] {}
	at net.neoforged.fml.loading.ImmediateWindowHandler.setupMinecraftWindow(ImmediateWindowHandler.java:68) ~[loader-2.0.17.jar%23127!/:2.0] {}
	at com.mojang.blaze3d.platform.Window.<init>(Window.java:87) ~[client-1.20.4-20231207.154220-srg.jar%23171!/:?] {re:classloading,pl:runtimedistcleaner:A}
	at net.minecraft.client.renderer.VirtualScreen.newWindow(VirtualScreen.java:21) ~[client-1.20.4-20231207.154220-srg.jar%23171!/:?] {re:classloading}
	at net.minecraft.client.Minecraft.<init>(Minecraft.java:475) ~[client-1.20.4-20231207.154220-srg.jar%23171!/:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:A,pl:runtimedistcleaner:A}
-- Initialization --
Details:
	Modules: 
Stacktrace:
	at net.minecraft.client.main.Main.main(Main.java:206) ~[neoforge-20.4.237.jar:?] {re:classloading,pl:runtimedistcleaner:A}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}
	at java.lang.reflect.Method.invoke(Method.java:569) ~[?:?] {}
	at net.neoforged.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:136) ~[loader-2.0.17.jar:2.0] {}
	at net.neoforged.fml.loading.targets.CommonLaunchHandler.clientService(CommonLaunchHandler.java:124) ~[loader-2.0.17.jar:2.0] {}
	at net.neoforged.fml.loading.targets.CommonClientLaunchHandler.runService(CommonClientLaunchHandler.java:24) ~[loader-2.0.17.jar:2.0] {}
	at net.neoforged.fml.loading.targets.CommonLaunchHandler.lambda$launchService$4(CommonLaunchHandler.java:118) ~[loader-2.0.17.jar:2.0] {}
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar:?] {}
	at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions