Files
karuo-ai/运营中枢/参考资料/Cursor闪退排查_20260304.md

3.7 KiB
Raw Blame History

Cursor 自动关闭问题 · 日志分析与处理记录

日期2026-03-04
现象Cursor 经常莫名自动关闭。
原则:不关闭硬件加速,保留视频/剪辑等所需能力,从根因入手。


一、日志结论与根因

  • 日志路径~/Library/Application Support/Cursor/logs/(按会话分目录,如 20260304T190511

  • 直接表现

    1. 渲染进程崩溃code 5CodeWindow: renderer process gone (reason: crashed, code: 5),随后主进程未捕获异常 Render frame was disposed before WebFrameMain could be accessed,导致整个应用退出。
    2. Agent 分析 SQLite 报错[AgentAnalyticsOperationsMainService] Error ... SQLITE_ERROR: cannot start a transaction within a transaction(嵌套事务),在「存储 AI code hashes / marking commits as scored」时反复出现可能加剧不稳定。
    3. 窗口无响应CodeWindow: detected unresponsive 后有时恢复,有时被关掉。
    4. ptyHost 心跳超时No ptyHost heartbeat after 6 seconds,终端相关进程偶发无响应。
  • 根因(社区与日志综合)

    • code 5 在 macOS 上多与 V8/JS 内存OOM、GC 压力、以及 macOS mach port 通知失败 有关,不一定与 GPU 驱动有关;硬件加速已保留,不通过关闭它来规避。
    • AgentAnalyticsOperationsMainService 的嵌套事务是 Cursor 端 bug需等官方修复或通过清理该服务数据缓解。

二、已做处理(不限制功能)

  1. 保持硬件加速开启

    • ~/.cursor/argv.json 启用 disable-hardware-acceleration,视频/剪辑相关能力不受影响。
  2. 本机已有设置

    • cursor.general.enableCodebaseIndexing": false 已关闭,减轻后台索引压力。

三、今日3/4日志复检结论

  • 会话数3 月 4 日共有 11 个 Cursor 日志会话12:3821:58说明今日多次重启/自动关闭。
  • 重复出现的错误CodeWindow: detected unresponsiveUnresponsiveSampleError(窗口无响应后可能被关掉);AgentAnalyticsOperationsMainServiceSQLITE_ERROR: cannot start a transaction within a transaction 在多个会话中反复出现Extension host 多次正常退出code 0可能伴随窗口重载。
  • 结论:根因与文档第一节一致,无新类型;缓解手段仍为减轻内存压力 + 清理缓存 + 等官方修复。

四、建议操作(不关功能、从根因缓解)

  • 减轻内存压力:少开不需要的窗口/工作区、关掉不用的标签页;大项目可考虑单独开一个 Cursor 窗口,避免单进程负载过大。
  • 清理缓存(推荐)完全退出 Cursor 后在终端执行以下命令,再重新打开,可减轻 OOM/旧缓存导致的崩溃:
    rm -rf ~/Library/Application\ Support/Cursor/GPUCache ~/Library/Application\ Support/Cursor/Cache
    
    若 Cursor 正在运行,请先 Cmd+Q 完全退出再执行。
  • 向 Cursor 官方反馈:把闪退时间段的 main.log(含 code 5、Render frame disposed、AgentAnalytics SQLITE_ERROR提交到 Cursor Forum 或官方支持,便于他们修 code 5 与 SQLite 嵌套事务。
  • 保持 Cursor 更新:当前 2.6.11,后续版本可能修复上述问题。

若官方或社区后续提供「增加 JS 堆大小」等 argv 支持,再在 argv.json 中按文档配置,无需关闭硬件加速。


五、日志位置速查

内容 路径
主进程日志 ~/Library/Application Support/Cursor/logs/<会话目录>/main.log
窗口日志 同上目录下 window1/window2/
启动参数 ~/.cursor/argv.json