Skript

Skript

743k Downloads

Server randomy crashes

Blizzmond opened this issue ยท 5 comments

commented

Skript/Server Version

skript 2.8.3, 1.20.4 git-paper-409

Bug Description

Randomy crashes/unexpected crash from something

Expected Behavior

Not crash

Steps to Reproduce

Not sure

Errors or Screenshots

[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! [Skript] Severe Error:
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! Something went horribly wrong with Skript.
[20:29:17] [Server thread/ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[20:29:17] [Server thread/ERROR]: #!#! It looks like you are using some plugin(s) that alter how Skript works (addons).
[20:29:17] [Server thread/ERROR]: #!#! Here is full list of them:
[20:29:17] [Server thread/ERROR]: #!#! skript-reflect v2.4 (https://github.com/SkriptLang/skript-reflect) skript-particle v1.2.0 (https://github.com/sovdeeth/skript-particle) SkBee v3.4.1 (https://github.com/ShaneBeee/SkBee) Skellett v2.0.10 (https://forums.skunity.com/resources/skellett.24/) SkQuery v4.1.10 
[20:29:17] [Server thread/ERROR]: #!#! We could not identify which of those are specially related, so this might also be Skript issue.
[20:29:17] [Server thread/ERROR]: #!#! You should try disabling those plugins one by one, trying to find which one causes it.
[20:29:17] [Server thread/ERROR]: #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue.
[20:29:17] [Server thread/ERROR]: #!#! In that case, you will be given instruction on how should you report it.
[20:29:17] [Server thread/ERROR]: #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin.
[20:29:17] [Server thread/ERROR]: #!#! Only if the author tells you to do so, report it to Skript's issue tracker.
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! Stack trace:
[20:29:17] [Server thread/ERROR]: #!#! java.lang.NullPointerException: Cannot invoke "org.bukkit.inventory.Inventory.getItem(int)" because "this.invi" is null
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.util.slot.InventorySlot.getAmount(InventorySlot.java:92)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.expressions.ExprItemAmount.convert(ExprItemAmount.java:49)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.expressions.ExprItemAmount.convert(ExprItemAmount.java:34)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//org.skriptlang.skript.lang.converter.Converters.convert(Converters.java:501)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//org.skriptlang.skript.lang.converter.Converters.convertUnsafe(Converters.java:565)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.registrations.Converters.convertUnsafe(Converters.java:203)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:119)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.expressions.base.SimplePropertyExpression.get(SimplePropertyExpression.java:56)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.expressions.base.PropertyExpression.get(PropertyExpression.java:88)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.lang.util.SimpleExpression.check(SimpleExpression.java:150)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.conditions.CondCompare.check(CondCompare.java:348)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.sections.SecConditional.lambda$checkConditions$1(SecConditional.java:384)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.util.stream.ReferencePipeline.allMatch(ReferencePipeline.java:637)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.sections.SecConditional.checkConditions(SecConditional.java:384)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.sections.SecConditional.walk(SecConditional.java:286)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:88)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.lang.Trigger.execute(Trigger.java:52)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.SkriptEventHandler.lambda$check$3(SkriptEventHandler.java:155)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.SkriptEventHandler.lambda$check$4(SkriptEventHandler.java:166)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.util.Task.callSync(Task.java:164)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.util.Task.callSync(Task.java:148)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.SkriptEventHandler.check(SkriptEventHandler.java:164)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.SkriptEventHandler.access$000(SkriptEventHandler.java:53)
[20:29:17] [Server thread/ERROR]: #!#!     at Skript (2).jar//ch.njol.skript.SkriptEventHandler$PriorityListener.lambda$new$0(SkriptEventHandler.java:66)
[20:29:17] [Server thread/ERROR]: #!#!     at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81)
[20:29:17] [Server thread/ERROR]: #!#!     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
[20:29:17] [Server thread/ERROR]: #!#!     at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54)
[20:29:17] [Server thread/ERROR]: #!#!     at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126)
[20:29:17] [Server thread/ERROR]: #!#!     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:3106)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.network.protocol.game.PacketPlayInWindowClick.a(PacketPlayInWindowClick.java:58)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.network.protocol.game.PacketPlayInWindowClick.a(PacketPlayInWindowClick.java:23)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$0(PlayerConnectionUtils.java:54)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.TickTask.run(TickTask.java:18)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1455)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:194)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.MinecraftServer.bl(MinecraftServer.java:1432)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1355)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.util.thread.IAsyncTaskHandler.bu(IAsyncTaskHandler.java:114)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:1547)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1216)
[20:29:17] [Server thread/ERROR]: #!#!     at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319)
[20:29:17] [Server thread/ERROR]: #!#!     at java.base/java.lang.Thread.run(Thread.java:833)
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! Version Information:
[20:29:17] [Server thread/ERROR]: #!#!   Skript: 2.8.3
[20:29:17] [Server thread/ERROR]: #!#!     Flavor: skriptlang-github
[20:29:17] [Server thread/ERROR]: #!#!     Date: 16:23:04.254419600
[20:29:17] [Server thread/ERROR]: #!#!   Bukkit: 1.20.4-R0.1-SNAPSHOT
[20:29:17] [Server thread/ERROR]: #!#!   Minecraft: 1.20.4
[20:29:17] [Server thread/ERROR]: #!#!   Java: 17.0.7 (OpenJDK 64-Bit Server VM 17.0.7+7)
[20:29:17] [Server thread/ERROR]: #!#!   OS: Linux amd64 6.2.0-39-generic
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! Server platform: Paper
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! Current node: null
[20:29:17] [Server thread/ERROR]: #!#! Current item: if item[[ ]stack] (amount|size|number) of event-slot is equal to [[long:1]] (comparator: ch.njol.skript.classes.data.DefaultComparators$1@6f2657de)
[20:29:17] [Server thread/ERROR]: #!#! Current trigger: inventory click (dispense/spawn/drop/craft/pickup/consume/break/despawn/merge/move/stonecutting) (items.sk, line 41)
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! Thread: Server thread
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! Language: english
[20:29:17] [Server thread/ERROR]: #!#! Link parse mode: DISABLED
[20:29:17] [Server thread/ERROR]: #!#! 
[20:29:17] [Server thread/ERROR]: #!#! End of Error.
[20:29:17] [Server thread/ERROR]: #!#! 

Other

No response

Agreement

  • I have read the guidelines above and affirm I am following them with this report.
commented

What if you use event-item instead of event-slot?

commented

Not sure why you're crashing but the issue stems from slot not referencing an inventory which should be impossible for anything using slot normally (excluding dropped items and other entities alike)

Any code of yours using a slot within line 41-X as a reference would be a huge help

commented

Probably a duplicate of #6458

commented

This is due to the event-slot event value, which can return an InventorySlot with null inventory (which happens when you click outside the inventory). I'm not sure whether this is normal or whether the checks need to be done elsewhere.

public Slot get(final InventoryClickEvent e) {
Inventory invi = e.getClickedInventory(); // getInventory is WRONG and dangerous
int slotIndex = e.getSlot();
// Not all indices point to inventory slots. Equipment, for example
if (invi instanceof PlayerInventory && slotIndex >= 36) {
return new ch.njol.skript.util.slot.EquipmentSlot(((PlayerInventory) invi).getHolder(), slotIndex);
} else {
return new InventorySlot(invi, slotIndex, e.getRawSlot());
}

commented

yeah duplicate of #6458