Carpet

Carpet

2M Downloads

IntegrityException when getting suggestions after reloading an app that has a suggester

altrisi opened this issue ยท 1 comments

commented

Not entirely sure what it means or why it happens. Happens both with an app reload and with reload command. 1.16.5

carpet.script.exception.IntegrityException: Module structure changed for the app. Did you reload the app with tasks running?
	at carpet.script.ScriptHost.getModuleData(ScriptHost.java:304) ~[main/:?]
	at carpet.script.ScriptHost.getFunction(ScriptHost.java:209) ~[main/:?]
	at carpet.script.ScriptHost.getAssertFunction(ScriptHost.java:197) ~[main/:?]
	at carpet.script.argument.FunctionArgument.findIn(FunctionArgument.java:57) ~[main/:?]
	at carpet.script.language.Functions$1.lazyEval(Functions.java:52) ~[main/:?]
	at carpet.script.Expression.lambda$21(Expression.java:1296) ~[main/:?]
	at carpet.script.value.FunctionValue.execute(FunctionValue.java:255) ~[main/:?]
	at carpet.script.CarpetScriptHost.lambda$27(CarpetScriptHost.java:867) ~[main/:?]
	at carpet.script.Expression.evalValue(Expression.java:907) ~[main/:?]
	at carpet.script.CarpetScriptHost.call(CarpetScriptHost.java:866) ~[main/:?]
	at carpet.script.CarpetScriptHost.handleCommand(CarpetScriptHost.java:731) ~[main/:?]
	at carpet.script.command.CommandArgument.getOptions(CommandArgument.java:395) ~[main/:?]
	at carpet.script.command.CommandArgument$StringArgument.getOptions(CommandArgument.java:468) ~[main/:?]
	at carpet.script.command.CommandArgument.suggestFor(CommandArgument.java:375) ~[main/:?]
	at carpet.script.command.CommandArgument.suggest(CommandArgument.java:369) ~[main/:?]
	at carpet.script.command.CommandArgument.lambda$79(CommandArgument.java:292) ~[main/:?]
	at com.mojang.brigadier.tree.ArgumentCommandNode.listSuggestions(ArgumentCommandNode.java:71) ~[brigadier-1.0.17.jar:?]
	at com.mojang.brigadier.CommandDispatcher.getCompletionSuggestions(CommandDispatcher.java:596) ~[brigadier-1.0.17.jar:?]
	at com.mojang.brigadier.CommandDispatcher.getCompletionSuggestions(CommandDispatcher.java:579) ~[brigadier-1.0.17.jar:?]
	at net.minecraft.server.network.ServerPlayNetworkHandler.onRequestCommandCompletions(ServerPlayNetworkHandler.java:469) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.network.packet.c2s.play.RequestCommandCompletionsC2SPacket.apply(RequestCommandCompletionsC2SPacket.java:34) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.network.packet.c2s.play.RequestCommandCompletionsC2SPacket.apply(RequestCommandCompletionsC2SPacket.java:15) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils.java:20) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.ServerTask.run(ServerTask.java:17) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor.java:136) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor.java:22) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:752) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:1776) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor.java:109) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:732) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.runTask(MinecraftServer.java:726) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor.java:119) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:712) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.handler$zbd000$modifiedRunLoop(MinecraftServer.java:2958) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:646) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:227) ~[minecraft-1.16.5-project-@-mapped-net.fabricmc.yarn-1.16.5+build.1-v2.jar:?]
	at java.lang.Thread.run(Thread.java:831) [?:?]

I'm running the ScarpetEdit (aka World-Edit) app and trying to get command suggestions for languages by writing /se lang , but instead I'm getting that exception.

It worked when I wrote it back in the day, or when I load the app for the first time on a world.

The suggester is the following one (with json files in a langs folder inside the appdata):

_get_lang_list() -> (
    filter(map(list_files('langs', 'json'), slice(_,6)), !(_~' '));
);

Don't ask me how did it work, I don't really remember.

commented

That exception is thrown when some code tried to be executed in a loaded app, where its module is not linked to the current instance, so an old reference has been retained from the previous instance after reloading.