{"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":562,"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":544,"sourceCodeEnd":580,"githubUrl":"https://github.com/paperclipai/paperclip/blob/3f1d897a7c018d76563a21c6e39c3c9b03933622/server/src/index.ts#L544-L580","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":"3f1d897a7c018d76563a21c6e39c3c9b03933622","analyzedAt":"2026-08-18T22:49:45.177Z","contentChangedAt":"2026-08-18T22:49:45.177Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}