Skip to content

[Bug] 关服引发崩溃 #379

Description

@wuw111

Describe the bug

关闭服务器时,PlayerClass::getNbt内部遇到无效状态,引起崩溃

trace_2026-07-21_05-00-00.zip

To Reproduce

版本:LSE 0.19.2(0.18.2版本不会产生问题)
在服务器关闭时,PlayerClass::getNbt仍然被调用
例如,创建一个监听玩家离开事件,然后扫描该玩家NBT的JS插件,
玩家正常离开时,该插件逻辑运行正常,不会崩溃,
而服务器关闭时,若关闭前有玩家在线则会崩溃

FixCopyItem.js

测试发现这个崩溃无法被插件卸载事件拦截,可能是因为插件卸载事件在玩家离开事件之后发生

Expected behavior

避免崩溃现象发生

Screenshots

No response

Platform

Windows10&Windows11

BDS Version

1.26.20.5

LeviLamina Version

LeviLamina-26.20.4

LegacyScriptEngine Version

v0.19.2

Additional context

这个问题是1.26.20开始稳定出现的,也就是说,1.26.10(0.18.2)及以前的版本没有此直接崩溃的问题,这可能和近几个版本对nbt功能加强有关,但会对已有插件产生严重兼容性问题

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions