Fix crash log file not found error in spike
Some checks failed
CI / test (pull_request) Has been cancelled

Use getConfig("dataDir") and ensure directory exists before writing crash log, fixing ENOENT error when spike crashes.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
Corey Johnson 2026-03-10 09:53:24 -07:00
parent 1f386df256
commit c9fc834f4e

View File

@ -1,5 +1,12 @@
import { mkdirSync } from "node:fs"
import { getConfig } from "../config"
import { log } from "../log"
const crashLogDir = getConfig("dataDir")
mkdirSync(crashLogDir, { recursive: true })
const crashLogPath = `${crashLogDir}/crash.log`
export const logCrash = async (error: unknown) => {
try {
const stack = error instanceof Error ? error.stack : ""
@ -8,7 +15,7 @@ export const logCrash = async (error: unknown) => {
const crashLog = `Spike crashed at ${new Date().toISOString()}:\n${message}\n${stack ?? ""}\n`
// overwrite the crash log file
const file = Bun.file(`${process.env.DATA_DIR}/crash.log`)
const file = Bun.file(crashLogPath)
file.write(crashLog)
} catch (writeError) {
log({ type: "error", error: writeError, context: "writing crash log" })
@ -33,7 +40,7 @@ export const alertAboutCrashLog = async (client: any) => {
const clearCrashLog = async () => {
try {
const file = Bun.file(`${process.env.DATA_DIR}/crash.log`)
const file = Bun.file(crashLogPath)
if (!(await file.exists())) return
const contents = await file.text()
await file.write("")