#157 70009 版本中打开设置面板里的插件下拉菜单会导致客户端崩溃(ldebug.c:747 断言)
状态: 已关闭 · 分类: 界面与插件 · 插件与API
在设置面板中打开插件注册的下拉菜单会让游戏客户端直接崩溃,而不是只报一个错误。
当前表现
在 1.60.1.70009 上,打开由插件通过 `Settings.CreateDropdown` 注册的下拉菜单,会使客户端因致命错误而崩溃: ERROR #0 (0x85100000) Assertion failure! ((((t))->tt_) == (((5)))) Engine\Source\lua-5.1\src\ldebug.c(747) 崩溃报告中的 Lua 堆栈止于暴雪代码,没有任何插件的栈帧: `Menu.lua:2212` 是 `proxy.ownerRegion = ownerRegion`,并且报告将插件命名为 `<Addons.Current>`,所以执行已被打开其下拉菜单的插件所污染(taint)。暴雪自己在“游戏”标签页中的下拉菜单可以正常打开。`Menu.lua` 自 69913 以来没有变化,所以这看起来是 70009 可执行文件(9 月 23 日构建)中的改动。
预期表现
下拉菜单应当打开,或者最坏情况下抛出一个 Lua 错误。Lua 虚拟机内部的断言不应能被插件代码触达。
复现步骤
1. 启用任意一个用 Settings.CreateDropdown 注册下拉菜单的插件。 2. 打开选项,插件,选择该插件的页面。 3. 点击下拉菜单。客户端崩溃。