Repository navigation
[Crash] FoScriptException: Report: Error parsing JavaScript! Error: java.lang.ClassNotFoundException: org.bukkit.Statistic #3805
Copy link
Copy link
Closed
Labels
auto-crashAutomatically reported crashAutomatically reported crash
Description
Auto-reported crash
| Key | Value |
|---|---|
| Plugin | BungeeControl 5.1.0 |
| Server | BungeeCord git:BungeeCord-Bootstrap:26.1-R0.1-SNAPSHOT:f56d37f:2080 |
| Players Online | 1 |
| BBB Nonce | 5c72f6b6f7d9fa6c3abee533f139bb9e |
Stack Trace
FoScriptException: Report: Error parsing JavaScript! Error: java.lang.ClassNotFoundException: org.bukkit.Statistic
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:321)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:196)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:121)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.canFilterMessage(ProxyPlayerMessage.java:564)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.filter(ProxyPlayerMessage.java:498)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.filter(ProxyPlayerMessage.java:425)
at org.mineacademy.chatcontrol.proxy.operator.ProxyOperator$OperatorCheck.start(ProxyOperator.java:491)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessages.lambda$broadcast$0(ProxyPlayerMessages.java:149)
at org.mineacademy.chatcontrol.bungee.lib.fo.CommonCore.lambda$wrapRunnableInExceptionCatcher$0(CommonCore.java:1703)
at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
at org.mineacademy.chatcontrol.bungee.lib.fo.CommonCore.wrapRunnableInExceptionCatcher(CommonCore.java:1699)
at org.mineacademy.chatcontrol.bungee.lib.fo.remain.Remain.runTaskAsync(Remain.java:120)
at org.mineacademy.chatcontrol.bungee.lib.fo.platform.BungeePlatform.runTask(BungeePlatform.java:208)
at org.mineacademy.chatcontrol.bungee.lib.fo.platform.Platform.runTask(Platform.java:309)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessages.broadcast(ProxyPlayerMessages.java:149)
at org.mineacademy.chatcontrol.proxy.ProxyEvents.broadcastPendingMessage(ProxyEvents.java:482)
at org.mineacademy.chatcontrol.proxy.ChatControlProxyListenerProxy.onMessageReceived(ChatControlProxyListenerProxy.java:116)
at org.mineacademy.chatcontrol.bungee.lib.fo.platform.BungeeListener.onPluginMessage(BungeeListener.java:78)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at net.md_5.bungee.event.EventHandlerMethod.invoke(EventHandlerMethod.java:19)
at net.md_5.bungee.event.EventBus.post(EventBus.java:49)
at net.md_5.bungee.api.plugin.PluginManager.callEvent(PluginManager.java:431)
at net.md_5.bungee.connection.DownstreamBridge.handle(DownstreamBridge.java:328)
at net.md_5.bungee.protocol.packet.PluginMessage.handle(PluginMessage.java:81)
at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:151)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:288)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:361)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:348)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:470)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:804)
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.handle(AbstractEpollChannel.java:487)
at io.netty.channel.epoll.EpollIoHandler$DefaultEpollIoRegistration.handle(EpollIoHandler.java:349)
at io.netty.channel.epoll.EpollIoHandler.processReady(EpollIoHandler.java:546)
at io.netty.channel.epoll.EpollIoHandler.run(EpollIoHandler.java:491)
at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225)
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
RuntimeException: java.lang.ClassNotFoundException: org.bukkit.Statistic
at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:511)
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:415)
at org.openjdk.nashorn.api.scripting.NashornScriptEngine$1.eval(NashornScriptEngine.java:476)
at java.scripting/javax.script.CompiledScript.eval(CompiledScript.java:107)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:259)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:196)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:121)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.canFilterMessage(ProxyPlayerMessage.java:564)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.filter(ProxyPlayerMessage.java:498)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.filter(ProxyPlayerMessage.java:425)
at org.mineacademy.chatcontrol.proxy.operator.ProxyOperator$OperatorCheck.start(ProxyOperator.java:491)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessages.lambda$broadcast$0(ProxyPlayerMessages.java:149)
at org.mineacademy.chatcontrol.bungee.lib.fo.CommonCore.lambda$wrapRunnableInExceptionCatcher$0(CommonCore.java:1703)
at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
ClassNotFoundException: org.bukkit.Statistic
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:534)
at java.base/java.lang.Class.forName(Class.java:513)
at org.openjdk.nashorn.internal.runtime.Context.findClass(Context.java:1020)
at org.openjdk.nashorn.internal.objects.NativeJava.simpleType(NativeJava.java:543)
at org.openjdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:325)
at org.openjdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:317)
at org.openjdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:313)
at org.openjdk.nashorn.internal.scripts.Script$\^eval\_.:program(<eval>:1)
at org.openjdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:646)
at org.openjdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:506)
at org.openjdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:507)
at org.openjdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:415)
at org.openjdk.nashorn.api.scripting.NashornScriptEngine$1.eval(NashornScriptEngine.java:476)
at java.scripting/javax.script.CompiledScript.eval(CompiledScript.java:107)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:259)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:196)
at org.mineacademy.chatcontrol.bungee.lib.fo.model.JavaScriptExecutor.run(JavaScriptExecutor.java:121)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.canFilterMessage(ProxyPlayerMessage.java:564)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.filter(ProxyPlayerMessage.java:498)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessage$PlayerMessageCheck.filter(ProxyPlayerMessage.java:425)
at org.mineacademy.chatcontrol.proxy.operator.ProxyOperator$OperatorCheck.start(ProxyOperator.java:491)
at org.mineacademy.chatcontrol.proxy.operator.ProxyPlayerMessages.lambda$broadcast$0(ProxyPlayerMessages.java:149)
at org.mineacademy.chatcontrol.bungee.lib.fo.CommonCore.lambda$wrapRunnableInExceptionCatcher$0(CommonCore.java:1703)
at net.md_5.bungee.scheduler.BungeeTask.run(BungeeTask.java:63)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
auto-crashAutomatically reported crashAutomatically reported crash
Activity
kangarko commentedon Jul 24, 2026
This is a user script in a messages .rs file on the proxy referencing org.bukkit.Statistic, which cannot exist on BungeeCord. The real bugs were on our side: the failure killed the whole join broadcast and got auto-reported as a crash even though script exceptions are meant to be user errors.
Next release: a broken script logs one framed console error naming the message group, file and script, skips just that group, and the rest of the broadcast continues. No more crash reports for these. If you run scripts on the proxy, only use classes that exist there, java.* and the proxy API, not Bukkit.
kangarko commentedon Jul 25, 2026
Fixed in 12.2.2. A broken script in one message group is skipped and logged with its file name, the rest of the broadcast still sends.