{"record":{"id":"49f793a31b6805de","repo":"paperclipai/paperclip","slug":"removing-stale-embedded-postgresql-lock-file","errorCode":null,"errorMessage":"Removing stale embedded PostgreSQL lock file","messagePattern":"Removing stale embedded PostgreSQL lock file","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"server/src/index.ts","lineNumber":553,"sourceCode":"          databaseDir: dataDir,\n          user: \"paperclip\",\n          password: \"paperclip\",\n          port,\n          persistent: true,\n          initdbFlags: [\"--encoding=UTF8\", \"--locale=C\", \"--lc-messages=C\"],\n          onLog: appendEmbeddedPostgresLog,\n          onError: appendEmbeddedPostgresLog,\n        });\n        embeddedPostgres = createEmbeddedPostgres();\n\n        if (!clusterAlreadyInitialized) {\n          try {\n            await embeddedPostgres.initialise();\n          } catch (err) {\n            logEmbeddedPostgresFailure(\"initialise\", err);\n            throw formatEmbeddedPostgresError(err, {\n              fallbackMessage: `Failed to initialize embedded PostgreSQL cluster in ${dataDir} on port ${port}`,\n              recentLogs: logBuffer.getRecentLogs(),\n            });\n          }\n        } else {\n          logger.info(`Embedded PostgreSQL cluster already exists (${clusterVersionFile}); skipping init`);\n        }\n\n        if (existsSync(postmasterPidFile)) {\n          logger.warn(\"Removing stale embedded PostgreSQL lock file\");\n          rmSync(postmasterPidFile, { force: true });\n        }\n        try {\n          await embeddedPostgres.start();\n        } catch (err) {\n          logEmbeddedPostgresFailure(\"start\", err);\n          throw formatEmbeddedPostgresError(err, {\n            fallbackMessage: `Failed to start embedded PostgreSQL on port ${port}`,\n            recentLogs: logBuffer.getRecentLogs(),\n          });","sourceCodeStart":535,"sourceCodeEnd":571,"githubUrl":"https://github.com/paperclipai/paperclip/blob/01ad8584922b5d85292b1723cae71fa0d9b07a19/server/src/index.ts#L535-L571","documentation":"Startup log message in startServer's embedded PostgreSQL path. Fires when a stale lock/postmaster file remains from a previous unclean shutdown (no live process claims it); the stale file is removed so a fresh embedded postgres can start on the same data directory.","triggerScenarios":"Thrown at server/src/index.ts:479 when the library encounters an invalid state.","commonSituations":"Logged at startup when a leftover embedded PostgreSQL lock file is found whose owning process is no longer running.","solutions":["Informational only; a stale lock file from a dead embedded PostgreSQL process was removed.","If this recurs, ensure previous server processes were shut down cleanly."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"01ad8584922b5d85292b1723cae71fa0d9b07a19","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}