{"record":{"id":"0d44ab615336eaf1","repo":"toeverything/AFFiNE","slug":"failed-to-create-doc-0d44ab","errorCode":null,"errorMessage":"Failed to create doc","messagePattern":"Failed to create doc","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/frontend/core/src/modules/doc/services/docs.ts","lineNumber":153,"sourceCode":"    const doc = docScope.get(DocService).doc;\n\n    doc.scope.emitEvent(DocInitialized, doc);\n\n    const { obj, release } = this.pool.put(docId, doc);\n\n    return { doc: obj, release };\n  }\n\n  createDoc(options: DocCreateOptions = {}) {\n    for (const middleware of this.docCreateMiddlewares) {\n      options = middleware.beforeCreate\n        ? middleware.beforeCreate(options)\n        : options;\n    }\n    const id = this.store.createDoc(options.id);\n    const docStore = this.store.getBlockSuiteDoc(id);\n    if (!docStore) {\n      throw new Error('Failed to create doc');\n    }\n    if (options.skipInit !== true) {\n      initDocFromProps(docStore, options.docProps, options);\n    }\n    const docRecord = this.list.doc$(id).value;\n    if (!docRecord) {\n      throw new Unreachable();\n    }\n    if (options.primaryMode) {\n      docRecord.setPrimaryMode(options.primaryMode);\n    }\n    if (options.isTemplate) {\n      docRecord.setProperty('isTemplate', true);\n    }\n    for (const middleware of this.docCreateMiddlewares) {\n      middleware.afterCreate?.(docRecord, options);\n    }\n    docRecord.setCreatedAt(Date.now());","sourceCodeStart":135,"sourceCodeEnd":171,"githubUrl":"https://github.com/toeverything/AFFiNE/blob/b4c8548c09da21b2898443559a5b846f0ccf5dd8/packages/frontend/core/src/modules/doc/services/docs.ts#L135-L171","documentation":"createDoc throws when store.createDoc succeeds but getBlockSuiteDoc returns null for the fresh id, meaning the newly created doc could not be materialized in the BlockSuite store — an internal consistency failure.","triggerScenarios":"Thrown by createDoc when store.createDoc succeeded but store.getBlockSuiteDoc for the new id returns null, so the newly created doc cannot be retrieved for initialization.","commonSituations":"Doc creation fails right after the record is made because the doc store cannot be fetched, usually a transient storage engine issue. Retry creating the doc; if it persists, check workspace storage health.","solutions":["Retry doc creation; ensure the workspace is available.","Check storage quota and permissions."],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b4c8548c09da21b2898443559a5b846f0ccf5dd8","analyzedAt":"2026-08-18T21:16:52.546Z","contentChangedAt":"2026-08-18T21:16:52.546Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}