Repository navigation
Replies: 5 comments 3 replies
|
同样的问题,更新之后就用不了了 |
|
将.dsh\profiles\desktop\node_modules\@deepseek-ai里面的dsh-storage-domain文件夹删除试试看。我是这么解决的,删了也没影响功能。 |
|
试一下把C:\Users\用户名.dsh\sessions中的对话文件全部删除,这样就可以重新用了 |
|
Root cause found (with reproduction), plus a fix PR — our machine hit the same error and we dug all the way down. The
Evidence:
Fix PR: #1 in https://github.com/polaris-smart/deepseek-harness — in Residual risk worth flagging: any external tool that archives by renaming directories inside CC: #9984 (the same error message, different proximate trigger — same fix covers it). |
|
Follow-up: the actual diff (12 lines) — apply-ready if maintainers want it as a PR. Upstream has issues and PRs disabled, so leaving this here. The change makes listing scans throw the typed ``````diff
diff --git a/packages/session/session-persistence-jsonl/src/index.ts b/packages/session/session-persistence-jsonl/src/index.ts
index f8351fa9ee..1fe897629a 100644
--- a/packages/session/session-persistence-jsonl/src/index.ts
+++ b/packages/session/session-persistence-jsonl/src/index.ts
@@ -1608,8 +1608,17 @@ class JsonlSessionPersistence extends SessionPersistence {
signal?: AbortSignal,
): Promise<void> {
signal?.throwIfAborted()
+ // Listing scans pass no expectedId: a relocated (e.g. archived) log must be
+ // skipped there, not fail the whole workspace listing, so identity mismatches
+ // surface as the typed corruption error that listArtifacts already filters.
+ // Targeted loads (expectedId set) keep the caller-specific plain error.
+ const isListingScan = expectedId === undefined
+ const identityError = (message: string, cause?: unknown) =>
+ isListingScan
+ ? new SessionPersistenceCorruptionError(message, { cause })
+ : new Error(message, { cause })
if (expectedId !== undefined && meta.id !== expectedId) {
- throw new Error(`corrupt session log "${path}": requested id "${expectedId}" does not match header id "${meta.id}"`)
+ throw identityError(`corrupt session log "${path}": requested id "${expectedId}" does not match header id "${meta.id}"`)
}
let expectedPath: string
try {
@@ -1621,10 +1630,10 @@ class JsonlSessionPersistence extends SessionPersistence {
this.compression,
)
} catch (error) {
- throw new Error(`corrupt session log "${path}": header id cannot name a storage path`, { cause: error })
+ throw identityError(`corrupt session log "${path}": header id cannot name a storage path`, error)
}
if (path !== expectedPath && !await this.sameFile(path, expectedPath, signal)) {
- throw new Error(`corrupt session log "${path}": header id "${meta.id}" and cwd identify "${expectedPath}"`)
+ throw identityError(`corrupt session log "${path}": header id "${meta.id}" and cwd identify "${expectedPath}"`)
}
signal?.throwIfAborted()
}The branch is on our fork ( Relative validation on our Linux box (same env, master vs this branch): listing-relocation test failures on master no longer fail with this change (5 failed/25 passed → 2 failed/31 passed at the package level; the remaining failures are missing workspace builds in our environment, unrelated). |
Uh oh!
There was an error while loading. Please reload this page.
workspace create failed: gateway/service-unavailable: typert gateway: workspace/create: active Service "workspaceController" is unavailable

All reactions