TabooLib / taboolib

Powerful framework for creating multi-platform Minecraft plugin
https://tabooproject.org
MIT License
305 stars 101 forks source link

加载TabooLib的插件后必定jvm崩溃 #52

Closed Soldier233 closed 3 years ago

Soldier233 commented 3 years ago

如题。 Space插件是由tlib编写的 整个服务器只有一个这个插件

[14:59:17 INFO]: [Space] Enabling Space v1.0-SNAPSHOT
[14:59:17 INFO]: [Space] 配置文件加载..
[14:59:17 INFO]: [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Starting...
[14:59:17 INFO]: [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Start completed.
[14:59:17 INFO]: [Space] 连接数据库中..
[14:59:17 INFO]: [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Starting...
[14:59:17 INFO]: [com.zaxxer.hikari.HikariDataSource] HikariPool-2 - Start completed.
[14:59:17 INFO]: [Space] 数据库连接测试通过
[14:59:17 INFO]: Done (1.436s)! For help, type "help" or "?"
[14:59:17 INFO]: Timings Reset
> #
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000068fe66a4, pid=8060, tid=0x0000000000001ac4
#
# JRE version: Java(TM) SE Runtime Environment (8.0_261-b12) (build 1.8.0_261-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.261-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V  [jvm.dll+0x1066a4]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# D:\Minecraft\Servers\1.12\hs_err_pid18256.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

只要启动 就会有jvm崩溃 hs_err_pid18256.log

IzzelAliz commented 3 years ago

GCTask 线程崩了,栈上看起来和 Java 无关

那你的这个 space,里面代码是啥呢

Soldier233 commented 3 years ago

经过测试 注册的命令数量多于5个就会出现这种情况 但是换一个电脑又有没有这种问题

IzzelAliz commented 3 years ago

不知道问题是啥,能否测试此构建一下

https://ci.appveyor.com/api/buildjobs/2qd3uok816g0ym8i/artifacts/build%2Flibs%2FTabooLib-5.41.jar

Soldier233 commented 3 years ago

此构建不会jvm崩溃 但是插件@TInject部分无法加载了

[17:55:05 INFO]: [Space] Enabling Space v2.0
[17:55:05 INFO]: [TabooLib][ERROR] config inject failed: null (config)
[17:55:05 WARN]: java.lang.ExceptionInInitializerError
[17:55:05 WARN]:        at sun.misc.Unsafe.ensureClassInitialized(Native Method)
[17:55:05 WARN]:        at java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(Unknown Source)
[17:55:05 WARN]:        at java.lang.invoke.DirectMethodHandle$EnsureInitialized.computeValue(Unknown Source)
[17:55:05 WARN]:        at java.lang.ClassValue.getFromHashMap(Unknown Source)
[17:55:05 WARN]:        at java.lang.ClassValue.getFromBackup(Unknown Source)
[17:55:05 WARN]:        at java.lang.ClassValue.get(Unknown Source)
[17:55:05 WARN]:        at java.lang.invoke.DirectMethodHandle.checkInitialized(Unknown Source)
[17:55:05 WARN]:        at java.lang.invoke.DirectMethodHandle.ensureInitialized(Unknown Source)
[17:55:05 WARN]:        at java.lang.invoke.DirectMethodHandle.ensureInitialized(Unknown Source)
[17:55:05 WARN]:        at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)
[17:55:05 WARN]:        at io.izzel.taboolib.util.Ref.putField(Ref.java:68)
[17:55:05 WARN]:        at io.izzel.taboolib.module.inject.TInjectLoader.lambda$static$6(TInjectLoader.java:62)
[17:55:05 WARN]:        at io.izzel.taboolib.module.inject.TInjectLoader.inject(TInjectLoader.java:183)
[17:55:05 WARN]:        at io.izzel.taboolib.module.inject.TInjectLoader.lambda$postLoad$12(TInjectLoader.java:176)
[17:55:05 WARN]:        at java.util.ArrayList.forEach(Unknown Source)
[17:55:05 WARN]:        at io.izzel.taboolib.module.inject.TInjectLoader.postLoad(TInjectLoader.java:176)
[17:55:05 WARN]:        at io.izzel.taboolib.TabooLibLoader.lambda$postLoadClass$4(TabooLibLoader.java:201)
[17:55:05 WARN]:        at java.util.ArrayList.forEach(Unknown Source)
[17:55:05 WARN]:        at io.izzel.taboolib.TabooLibLoader.postLoadClass(TabooLibLoader.java:198)
[17:55:05 WARN]:        at io.izzel.taboolib.PluginLoader$1.onStarting(PluginLoader.java:66)
[17:55:05 WARN]:        at io.izzel.taboolib.PluginLoader.lambda$start$2(PluginLoader.java:200)
[17:55:05 WARN]:        at java.util.ArrayList.forEach(Unknown Source)
[17:55:05 WARN]:        at io.izzel.taboolib.PluginLoader.start(PluginLoader.java:200)
[17:55:05 WARN]:        at me.zhanshi123.space.boot.Plugin.onEnable(Plugin.java:67)
[17:55:05 WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[17:55:05 WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316)
[17:55:05 WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
[17:55:05 WARN]:        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:395)
[17:55:05 WARN]:        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:344)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:289)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616)
[17:55:05 WARN]:        at java.lang.Thread.run(Unknown Source)
[17:55:05 WARN]: Caused by: kotlin.UninitializedPropertyAccessException: lateinit property config has not been initialized
[17:55:05 WARN]:        at me.zhanshi123.space.database.Database.<clinit>(Database.kt:22)
[17:55:05 WARN]:        ... 35 more
[17:55:05 INFO]: [Space] 配置文件加载..
[17:55:05 INFO]: [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Starting...
[17:55:05 INFO]: [com.zaxxer.hikari.HikariDataSource] HikariPool-1 - Start completed.
[17:55:05 WARN]: java.lang.NoClassDefFoundError: Could not initialize class me.zhanshi123.space.database.Database
[17:55:05 WARN]:        at me.zhanshi123.space.Main.onStarting(Main.java:30)
[17:55:05 WARN]:        at me.zhanshi123.space.boot.Plugin.onEnable(Plugin.java:69)
[17:55:05 WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[17:55:05 WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316)
[17:55:05 WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405)
[17:55:05 WARN]:        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:395)
[17:55:05 WARN]:        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:344)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:442)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:403)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:341)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:289)
[17:55:05 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:616)
[17:55:05 WARN]:        at java.lang.Thread.run(Unknown Source)
[17:55:05 INFO]: Done (1.273s)! For help, type "help" or "?"
[17:55:05 INFO]: Timings Reset
[17:55:07 INFO]: [Space] 配置文件加载..
IzzelAliz commented 3 years ago

不要在 init{} 引用 lateinit 字段