DSH 0.1.2-rc.1(Windows)发消息即失败:Cannot read properties of undefined (reading 'find')——会话持久化 ENOENT(0.1.1-rc.2 正常) #5802
Replies: 5 comments
|
Source-level follow-up on your sections 五/六 (the ENOENT theory), verified against both
So the actionable crash is the One important caveat for your further tracing: the functions you cited from the lib stack ( For the current-tree case, the fastest locus finder: run with |
|
同样问题,回退 0.1.1-rc.2 了 |
|
@libxing 感谢确认——现在这个报告有 2 个 Windows 用户 + OP 的零插件/全新空数据最小复现,可以定性为 rc.1 窗口的 core 回归(不是插件偏斜、不是历史数据、不是路径布局——OP 的三/七之二已经把这三条都排除了)。这跟隔壁 #5860/#5864 那些最终归到插件/版本偏斜的报告不同,#5802 是干净的 core 复现,值得维护者按 core bug 对待。 补一个缩小到具体抛点的建议:turn/end error 只记录了 message + code UNKNOWN,没有堆栈——"reading 'find'" 的具体调用点还不知道。OP 的
如果拿到堆栈贴上来,我可以直接按源把抛点找出来(rc.1 窗口的改动面:APIProxy→Remote refactor、Session.events 移除、session-prep 路径都可能是 |
结论不是 core 回归。 崩溃元凶 = 第三方插件 @dsh-external/dsh-mode-boost(GitHub: yjh051108/dsh-mode-boost,v0.1.0,最后提交 2026-08-15,未适配 rc.1)。 崩溃点(完整调用栈,按官方建议的"settle 后开断点"方法抓到)技术原因
为何此前误判为 core 回归
修复与影响
|
|
macOS · 纯官方 core(零第三方插件)—— 这是核心 bug,不是插件适配问题 环境 / Env:macOS · 复现 / Repro(全新 profile)
我验证过什么 / What I verified(排除插件背锅)
npm 发布状态(全是 prerelease,无正式版)/ Release status
影响与请求 / Impact & ask 影响: |
Uh oh!
There was an error while loading. Please reload this page.
一、现象
Web 界面发送任意消息后约 200ms,agent 回合即失败,界面显示:
二、环境
dsh --profile web,DSH_HOME 为自定义数据目录(非系统默认~/.dsh)三、复现步骤
最小化复现:启动清单缩至仅官方平台层(@deepseek-ai/dsh-base + @deepseek-ai/dsh-web-app,零第三方插件),并切换官方内置 ptc 预设——同样复现。
四、完整排查与排除项(证明非插件 / 非用户配置 / 非路径问题)
五、后台监管证据(node --inspect + 全异常断点,精确抓取)
用
node --inspect启动 + CDPDebugger.setPauseOnExceptions({state:'all'})抓取进程内全部异常:六、代码级定位
源码审读要点:
a) 存在未走 exists() 的 fire-and-forget 探测调用(未 await / await 链漏捕);
b) Windows 分支 assertLogParentAllowsAbsence() 内 stat(父目录) 在特定场景(父路径为文件值/竞态/编码目录)抛出的 ENOENT/ENOTDIR 未被外层捕获;
c) 0.1.1-rc.2 同目录结构、同历史数据完全正常——指向 rc.1 该模块回归。
七、第二现场(疑与 #六 同源,请一并核查)
rc.1 平台包集合未包含 0.1.1 时代的 client 包:@deepseek-ai/dsh-client-runtime、dsh-client-store、dsh-host-apiproxy(疑改名/合并)。部分面向旧 client API 的第三方插件 client 端在 rc.1 下报:
UI 控制台另有:TypeError: nodes is not iterable at firstUserText、Cannot read properties of undefined (reading 'legacy')(slot conversation.composer.dock)、slots 服务不可用、多个资源 404。若 rc.1 对 client 运行时改名/合并,请评估向后兼容。
七之二、补充验证:全新空数据(无历史会话)同样复现
将全部历史会话数据目录隔离(改名保留)后启动 0.1.2-rc.1:
→ 与历史会话数据、升级遗留均无关;用官方全新环境即可复现。
八、期望
All reactions