Skip to content

Direct Mode(source_path)的 resolveDocument 從不呼叫 doc.close()——每次呼叫漏一個解壓 tempDir(follow-up finding from #199 verify R2) #221

Description

@kiki830621

Problem

DocxReader.read(from:) 把解壓後的 tempDir 所有權交給回傳的 WordDocument.preservedArchive,並明寫「Caller MUST call doc.close()」。resolveDocument(args:) 的 Direct Mode 分支(source_path)讀完就回傳、從不 close();18 個支援 Direct Mode 的唯讀工具每次呼叫都在 $TMPDIR/che-word-mcp/ 留下一個完整解壓的目錄,直到 process 結束(#199 verify R2 logic lens 實測 8 次 Direct list_images → 8 個目錄)。長時間執行的 server 對大檔重複 Direct 呼叫會累積磁碟佔用。

#199 的 fix round 2 只在 list_images 自己的 Direct 分支補 close();本 issue 追蹤 resolveDocument 共用路徑(要在每個 Direct 工具用完 doc 之後 close,或改成 withDirectDocument { } 形狀)。

Type

bug

Expected

Direct Mode 的文件在工具回傳前 close()$TMPDIR/che-word-mcp/ 在呼叫後不增長。

Actual

每次 Direct 呼叫漏一個 tempDir。


Source: surfaced during /idd-verify #199 R2 (Step 5b follow-up triage). Verify report: PR #218 (Verify R2 comment)
Refs #199

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

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions