{"record":{"id":"1b25c9cfafb10249","repo":"remix-run/remix","slug":"rmx-route-map-loader-signal","errorCode":"RMX_ROUTE_MAP_LOADER_SIGNAL","errorMessage":"Route-map loader exited from a signal","messagePattern":"Route-map loader exited from a signal","errorType":"error_code","errorClass":"CliError","httpStatus":null,"severity":"error","filePath":"packages/cli/src/lib/errors.ts","lineNumber":118,"sourceCode":"    title: 'Remix configuration not found',\n    fix: 'Check the --config path and try again.',\n  },\n  remoteSkillDataMissing: {\n    code: 'RMX_REMOTE_SKILL_DATA_MISSING',\n    title: 'Could not find remote Remix skill data',\n  },\n  routeMapLoaderFailed: {\n    code: 'RMX_ROUTE_MAP_LOADER_FAILED',\n    title: 'Route-map loader failed',\n    fix: 'Check app/routes.ts and make sure it exports a named `routes` value with a valid route map.',\n  },\n  routeMapLoaderInvalidJson: {\n    code: 'RMX_ROUTE_MAP_LOADER_INVALID_JSON',\n    title: 'Route-map loader returned invalid JSON',\n    fix: 'Check app/routes.ts and make sure route-map loading does not write extra output.',\n  },\n  routeMapLoaderSignal: {\n    code: 'RMX_ROUTE_MAP_LOADER_SIGNAL',\n    title: 'Route-map loader exited from a signal',\n    fix: 'Check app/routes.ts for side effects or runtime issues and try again.',\n  },\n  routeOwnerPlanUnresolved: {\n    code: 'RMX_ROUTE_OWNER_PLAN_UNRESOLVED',\n    title: 'Could not resolve a route owner plan',\n  },\n  routesFileNotFound: {\n    code: 'RMX_ROUTES_FILE_NOT_FOUND',\n    title: 'Could not find app/routes.ts',\n    fix: 'Run this command inside a Remix app that has app/routes.ts.',\n  },\n  targetDirectoryNotEmpty: {\n    code: 'RMX_TARGET_DIRECTORY_NOT_EMPTY',\n    title: 'Target directory is not empty',\n    fix: 'Re-run with --force to continue.',\n  },\n  targetPathNotDirectory: {","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/remix-run/remix/blob/9696913134be3a4423513d2775f7b31d6917c049/packages/cli/src/lib/errors.ts#L100-L136","documentation":"The subprocess the Remix CLI uses to load your route map was terminated by a signal (e.g. SIGSEGV, SIGKILL, OOM) rather than exiting normally. This usually points to a crash or environment kill during evaluation of app/routes.ts.","triggerScenarios":"A native module loaded by app/routes.ts segfaulting, the loader process being OOM-killed, or manual termination of the CLI's child process while loading routes.","commonSituations":"Native dependencies (sharp, esbuild bindings, database drivers) crashing under the loader's runtime; memory-constrained containers where the loader is OOM-killed; stray process managers restarting children.","solutions":["Re-run the command once to rule out transient termination.","Check for crash-prone native imports in app/routes.ts and make them lazy.","Increase available memory if the loader is being OOM-killed (check dmesg / container limits).","Remove side effects from app/routes.ts as the error's fix hint suggests."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await loadRouteMap()\n} catch (error) {\n  if (error.code === 'RMX_ROUTE_MAP_LOADER_SIGNAL') {\n    // check for native-module crashes / OOM, then retry once\n  }\n}","preventionTips":["Avoid native imports in route config.","Keep memory headroom in containers.","Make route-map imports lazy."],"tags":["cli","process-crash","signal"],"backgroundTag":"child-process-killed-by-signal","analyzedSha":"9696913134be3a4423513d2775f7b31d6917c049","analyzedAt":"2026-08-27T19:55:01.024Z","schemaVersion":2},"datasetVersion":"2026-08-28T00:17:15.603Z"}