#1889·eigent

[BUG] v1.0.3: 退出时出现"对象已被销毁"错误对话框 (Windows)

作者: JMH65203创建于 2026年9月1日更新于 2026年9月1日
标签bug

你用的是什么版本的精灵?

1.0.3 (中文(简体) ).

系统信息

Eigent v1.0.3 — “主进程发生了一个 JavaScript 错误”( TypeError: Object已销毁) 退出时

□ 总结 在 Windows 上退出 Eigent v1.0.3 可靠地显示电子错误对话框 : `在主要过程中发生了JavaScript错误-未发现例外:类型错误:对象已销毁'。 应用程序在之后正确退出(清理完成),所以这是化妆品,但非常明显——它出现在every退出上.

□ 环境

  • Eigent v1.0.3(最新版本,发布于2026-08-28),Windows 11(也在Windows 10等硬件上再版),x64
  • 从v1.0.2升级到新安装和升级后

□ 复制步骤

  1. 启动Eigent v1.0.3,登录,等待UI加载.
  2. 退出应用(窗口关闭/退出).
  3. 出现错误对话框;单击“确定”完成退出。

□ 堆栈跟踪( 从对话框)

类型错误: 对象已销毁
在Dd.unbind Health Listeners (dist-electron: 115) (中文(简体) ).
在Dd.unbind Window (dist-electron:76) (中文(简体) ).
at App.<anonymous> (dist-electron:74)
at App.emit(节点:活动:530:35)

同样的错误也通过IPC退出路径(ipcMainimpl.emit ' -Dd.quit'-`unbind Window')出现。

□ 根源分析 在“未选中的健康倾听者(e)”中,密码访问“e.webContents”(例如“e.webContents.off”(“did-start-loading”,......)而不检查“Browser Window”/其“webContents”是否已被销毁:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? 健康听众(e){ e.off("未响应",这个. handleRenderUn response), e.off("反应",这个. handleRender Responsive), e.webContents.off ("did- start-loading"), 此. handleRenderLoading), // 如果被销毁, / <- 抛出 e.webContents.off(“移交程序完成”,这个.handleRenderGone), e. 网络连接( "被破坏" ), 这个. handleRender Destried); {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? 取消窗口( ) { 此窗口( 此窗口. window. off( "close" , this. handle Window Close), 此窗口. unbind Health Listeners( this.window)) ) , ///- no被销毁() 守护 . . . . . . . . {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?


在退出期间,制作器已经关闭/被毁坏,因此,在删除任何听众之前,被销毁的`Browser Window'上的`WebContents'号投出`TypeError:Object已经被摧毁'。 " Unbind Window() " 还缺少 " 被销毁() " 的检查。 请注意,`手风琴关闭'和`送出请求'同班人马*do* 岗哨被`被摧毁()'——这一清理道路被错过。

□ 建议修正
守住两地,与其余班级一致:

{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么?
健康听众(e){
e.off("未响应",这个. handleRenderUn response),
e. off(“响应”,这个. handleRender Responsive);
如果(e.webContents !e.webContents.isDestroyed ()) {
e.webContents.off("did-start-loading",此为.handleRenderLoading),并称为"W.
e.webContents.off(“移交程序完成”,这个.handleRenderGone),
e. 网络连接( "被破坏" ), 这个. handleRender Destried);
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
取消窗口( ) {
如果(这个窗口!这个窗口。这个窗口。是被毁灭的){
这个,窗口,关闭("关闭"),
. . . . . . .

内容来源: eigent-ai/eigent