Skript

Skript

788k Downloads

Bunch of assertion errors in dev environment

Closed this issue · 3 comments

commented

Skript/Server Version

2.11.2

I use config.sk setting script loader thread size: 1 so this could be the culprit.

[11:49:25 ERROR]: #!#!
[11:49:25 ERROR]: #!#! [Skript] Severe Error:
[11:49:25 ERROR]: #!#!
[11:49:25 ERROR]: #!#! Skript is running with developer command-line options. Consider disabling them if not a developer.
[11:49:25 ERROR]: #!#!
[11:49:25 ERROR]: #!#! Stack trace:
[11:49:25 ERROR]: #!#! Caused by: java.util.concurrent.CompletionException: java.lang.AssertionError
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.ScriptLoader.lambda$makeFuture$2(ScriptLoader.java:398)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.ScriptLoader$AsyncLoaderThread.run(ScriptLoader.java:343)
[11:49:25 ERROR]: #!#! Caused by: java.lang.AssertionError
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.variables.Variables.serialize(Variables.java:856)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.variables.Variables.saveVariableChange(Variables.java:890)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.variables.Variables.setVariable(Variables.java:611)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.variables.Variables.setVariable(Variables.java:594)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.structures.StructVariables.load(StructVariables.java:252)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.ScriptLoader.lambda$loadScripts$9(ScriptLoader.java:543)
[11:49:25 ERROR]: #!#!     at java.base/java.util.ArrayList.removeIf(ArrayList.java:1755)
[11:49:25 ERROR]: #!#!     at java.base/java.util.ArrayList.removeIf(ArrayList.java:1743)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.ScriptLoader.lambda$loadScripts$14(ScriptLoader.java:534)
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
[11:49:25 ERROR]: #!#!     at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2179)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.ScriptLoader.lambda$makeFuture$2(ScriptLoader.java:398)
[11:49:25 ERROR]: #!#!     at Skript.jar//ch.njol.skript.ScriptLoader$AsyncLoaderThread.run(ScriptLoader.java:343)
[11:49:25 ERROR]: #!#!
[11:49:25 ERROR]: #!#! Skript: 2.11.2-nightly-cd4de6d29 (development)
[11:49:25 ERROR]: #!#!     Flavor: skriptlang-nightly
[11:49:25 ERROR]: #!#!     Date: 11:48:09.404887
[11:49:25 ERROR]: #!#! Bukkit: 1.21.5-R0.1-SNAPSHOT
[11:49:25 ERROR]: #!#! Minecraft: 1.21.5
[11:49:25 ERROR]: #!#! Java: 21.0.6 (Java HotSpot(TM) 64-Bit Server VM 21.0.6+8-LTS-188)
[11:49:25 ERROR]: #!#! OS: Windows 10 amd64 10.0
[11:49:25 ERROR]: #!#!
[11:49:25 ERROR]: #!#! Server platform: Paper
[11:49:25 ERROR]: #!#!
[11:49:25 ERROR]: #!#! Current node: null
[11:49:25 ERROR]: #!#! Current item: null
[11:49:25 ERROR]: #!#! Thread: Thread-4
[11:49:25 ERROR]: #!#! Language: english
[11:49:25 ERROR]: #!#! Link parse mode: DISABLED
[11:49:25 ERROR]: #!#! End of Error.
[11:49:25 ERROR]: #!#!
[11:50:18 INFO]: [Skript] Disabling Skript v2.11.2-nightly-cd4de6d29
[11:50:18 ERROR]: Error occurred while disabling Skript v2.11.2-nightly-cd4de6d29
java.lang.AssertionError: null
        at Skript.jar/ch.njol.skript.structures.StructCommand.unload(StructCommand.java:312) ~[Skript.jar:?]
        at Skript.jar/ch.njol.skript.ScriptLoader.unloadScripts(ScriptLoader.java:850) ~[Skript.jar:?]
        at Skript.jar/ch.njol.skript.Skript.beforeDisable(Skript.java:1252) ~[Skript.jar:?]
        at Skript.jar/ch.njol.skript.Skript.onDisable(Skript.java:1264) ~[Skript.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:286) ~[paper-api-1.21.5-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugin(PaperPluginInstanceManager.java:237) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.disablePlugins(PaperPluginInstanceManager.java:161) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.disablePlugins(PaperPluginManagerImpl.java:97) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:541) ~[paper-api-1.21.5-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.CraftServer.disablePlugins(CraftServer.java:626) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:999) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServer.java:715) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1292) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServer.java:308) ~[paper-1.21.5.jar:1.21.5-114-a1b3058]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

Steps to Reproduce

load the dev environment gradlew skriptTestDev

commented

This is because Variables#serialize() can only run on the main thread and is being called off it.

commented

However, I'm not seeing these assertions fail when running skriptTestDev on a clean dev/feature with the script loader setting changed to 1.

> Task :skriptTestDev
Initializing Skript test platform...
Test environments: paper-1.21.5
Starting testing on paper-1.21.5
Listening for transport dt_socket at address: 8000
Downloading mojang_1.21.5.jar
Applying patches
Starting org.bukkit.craftbukkit.Main
2025-06-20T18:12:44.776113100Z ServerMain WARN Advanced terminal features are not available in this environment
[11:12:45 INFO]: [bootstrap] Running Java 21 (Java HotSpot(TM) 64-Bit Server VM 21.0.3+7-LTS-152; Oracle Corporation null) on Windows 10 10.0 (amd64)
[11:12:45 INFO]: [bootstrap] Loading Paper 1.21.5-114-ver/1.21.5@a1b3058 (2025-06-18T10:59:02Z) for Minecraft 1.21.5
[11:12:46 INFO]: [PluginInitializerManager] Initializing plugins...
[11:12:46 INFO]: [ReobfServer] Remapping server...
[11:12:52 INFO]: [ReobfServer] Done remapping server in 5740ms.
[11:12:52 INFO]: [PluginRemapper] Remapping plugin 'plugins\Skript.jar'...
[11:12:53 INFO]: [PluginRemapper] Done remapping plugin 'plugins\Skript.jar' in 727ms.
[11:12:53 INFO]: [PluginInitializerManager] Initialized 1 plugin
[11:12:53 INFO]: [PluginInitializerManager] Bukkit plugins (1):
 - Skript (2.11.2-nightly-1caf28b1d)
[11:12:59 WARN]: Failed to load eula.txt
[11:12:59 ERROR]: You have used the Spigot command line EULA agreement flag.
[11:12:59 ERROR]: By using this setting you are indicating your agreement to Mojang's EULA (https://aka.ms/MinecraftEULA).
[11:12:59 ERROR]: If you do not agree to the above EULA please stop your server and remove this flag immediately.
[11:12:59 INFO]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[11:12:59 INFO]: Found new data pack file/bukkit, loading it automatically
[11:12:59 INFO]: Found new data pack paper, loading it automatically
[11:12:59 INFO]: No existing world data, creating new world
[11:13:00 ERROR]: No key layers in MapLike[{}]
[11:13:00 INFO]: Loaded 1373 recipes
[11:13:00 INFO]: Loaded 1484 advancements
[11:13:01 INFO]: Starting minecraft server version 1.21.5
[11:13:01 INFO]: Loading properties
[11:13:01 INFO]: This server is running Paper version 1.21.5-114-ver/1.21.5@a1b3058 (2025-06-18T10:59:02Z) (Implementing API version 1.21.5-R0.1-SNAPSHOT)
[11:13:01 INFO]: [spark] This server bundles the spark profiler. For more information please visit https://docs.papermc.io/paper/profiling
[11:13:01 INFO]: Using 4 threads for Netty based IO
[11:13:01 INFO]: Server Ping Player Sample Count: 12
[11:13:01 INFO]: [MoonriseCommon] Paper is using 3 worker threads, 1 I/O threads
[11:13:01 INFO]: [ChunkTaskScheduler] Chunk system is using population gen parallelism: true
[11:13:02 INFO]: Default game type: CREATIVE
[11:13:02 INFO]: Generating keypair
[11:13:02 INFO]: Starting Minecraft server on *:25565
[11:13:02 INFO]: Using default channel type
[11:13:02 INFO]: Paper: Using Java compression from Velocity.
[11:13:02 INFO]: Paper: Using Java cipher from Velocity.
[11:13:02 INFO]: [Skript] Loading server plugin Skript v2.11.2-nightly-1caf28b1d
[11:13:02 INFO]: Preparing level "world"
[11:13:02 ERROR]: No key layers in MapLike[{}]
[11:13:02 ERROR]: No key layers in MapLike[{}]
[11:13:03 INFO]: Preparing start region for dimension minecraft:overworld
[11:13:03 INFO]: Preparing spawn area: 2%
[11:13:03 INFO]: Time elapsed: 184 ms
[11:13:03 INFO]: Preparing start region for dimension minecraft:the_end
[11:13:03 INFO]: Preparing spawn area: 2%
[11:13:04 INFO]: Preparing spawn area: 20%
[11:13:04 INFO]: Time elapsed: 758 ms
[11:13:04 INFO]: [Skript] Enabling Skript v2.11.2-nightly-1caf28b1d
[11:13:04 INFO]: [Skript] Successfully generated the config and the example scripts.
[11:13:04 INFO]: [Skript]     Missing entry 'teleport causes.consumable_effect' in the default/english language file
[11:13:04 INFO]: [Skript]     Missing entry 'teleport causes.consumable_effect' in the default/english language file
[11:13:04 INFO]: [Skript]     Missing entry 'equipment slots.saddle' in the default/english language file
[11:13:04 INFO]: [Skript]     Missing entry 'equipment slots.saddle' in the default/english language file
[11:13:05 INFO]: [Skript]     Missing entry 'equipment slots.saddle' in the default/english language file
[11:13:05 INFO]: [Skript]     Missing entry 'teleport causes.consumable_effect' in the default/english language file
[11:13:05 INFO]: [Skript] You're currently running a development build of Skript. No updates will be automatically installed.
[11:13:06 INFO]: [Skript]  ~ created by & � Peter G�ttinger aka Njol ~
[11:13:06 INFO]: [spark] Starting background profiler...
[11:13:06 INFO]: [spark] The async-profiler engine is not supported for your os/arch (windows10/amd64), so the built-in Java engine will be used instead.
[11:13:06 INFO]: Done preparing level "world" (4.405s)
[11:13:06 INFO]: Running delayed init tasks
[11:13:07 INFO]: [Skript] Loaded 5464 aliases in 972ms
[11:13:07 INFO]: [Skript] Preparing Skript for testing...
[11:13:07 INFO]: [Skript]     Missing entry 'types.testgui' in the default/english language file
[11:13:07 INFO]: [Skript]     Missing entry 'types.exemplus' in the default/english language file
[11:13:07 INFO]: [Skript]     Missing entry 'types.aardwolf' in the default/english language file
[11:13:07 INFO]: [Skript]     Missing entry 'types.hoof' in the default/english language file
[11:13:07 INFO]: [Skript] Loading variables...
[11:13:07 INFO]: [Skript] Loaded 0 variables in 0.0 seconds
[11:13:07 INFO]: [Skript] Skript testing environment enabled, starting...
[11:13:07 INFO]: [Skript] Test development mode enabled. Test scripts are at E:\Programming\Skript\src\test\skript\tests
[11:13:07 INFO]: [Skript] All scripts loaded without errors.
[11:13:07 INFO]: [Skript]     No scripts were found, maybe you should write some ;)
[11:13:07 INFO]: [Skript] Finished loading.
[11:13:07 INFO]: Done (23.482s)! For help, type "help"
[11:13:07 INFO]: *************************************************************************************
[11:13:07 INFO]: This is the first time you're starting this server.
[11:13:07 INFO]: It's recommended you read our 'Getting Started' documentation for guidance.
[11:13:07 INFO]: View this and more helpful information here: https://docs.papermc.io/paper/next-steps
[11:13:07 INFO]: *************************************************************************************
sk reload all
[11:13:37 INFO]: [Skript] Reloading the config, aliases and all scripts...
[11:13:37 INFO]: [Skript] Loaded 5464 aliases in 348ms
[11:13:37 INFO]: [Skript]     No scripts were found, maybe you should write some ;)
[11:13:37 INFO]: Successfully reloaded the config, aliases and all scripts. (355ms)
commented

Figured it out, you have to run the default variables.sk test to reproduce.