{"record":{"id":"bcbe87452536da8e","repo":"abiosoft/colima","slug":"inotify-not-running","errorCode":null,"errorMessage":"inotify not running","messagePattern":"inotify not running","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"daemon/process/inotify/inotify.go","lineNumber":50,"sourceCode":"var _ process.Process = (*inotifyProcess)(nil)\n\ntype inotifyProcess struct {\n\tvmVols  []string\n\tguest   environment.GuestActions\n\truntime string\n\n\tlog *logrus.Entry\n}\n\n// Alive implements process.Process\nfunc (f *inotifyProcess) Alive(ctx context.Context) error {\n\tdaemonRunning, _ := ctx.Value(process.CtxKeyDaemon()).(bool)\n\n\t// if the parent is active, we can assume inotify is active.\n\tif daemonRunning {\n\t\treturn nil\n\t}\n\treturn fmt.Errorf(\"inotify not running\")\n}\n\n// Dependencies implements process.Process\nfunc (*inotifyProcess) Dependencies() (deps []process.Dependency, root bool) {\n\treturn nil, false\n}\n\n// Name implements process.Process\nfunc (*inotifyProcess) Name() string {\n\treturn Name\n}\n\n// Start implements process.Process\nfunc (f *inotifyProcess) Start(ctx context.Context) error {\n\targs, ok := ctx.Value(CtxKeyArgs()).(Args)\n\tif !ok {\n\t\treturn fmt.Errorf(\"args missing in context\")\n\t}","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/daemon/process/inotify/inotify.go#L32-L68","documentation":"inotifyProcess.Alive is a liveness probe used by Manager.Running, not a runtime failure. If the context carries CtxKeyDaemon()==true (the parent daemon is running) it reports healthy by assumption; otherwise it returns 'inotify not running'. You see it in `colima daemon status` output as the inotify subprocess's error when the parent daemon is down or being queried standalone.","triggerScenarios":"calling daemon status / Manager.Running when the parent daemon process is not running; the daemon was stopped with `colima daemon stop` or exited with the VM; checking subprocess status after `colima stop`.","commonSituations":"status checks while the VM is intentionally stopped; scripts enumerating subprocess health without first checking the parent daemon.","solutions":["treat as expected status when the VM is stopped — no repair needed","start colima normally (`colima start`) — daemon and inotify come up with it","if the daemon should be up, inspect logs under <profile config dir>/daemon and `colima daemon status <profile>`"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// check the parent daemon first; inotify status is meaningless without it\nif err := host.RunQuiet(osutil.Executable(), \"daemon\", \"status\", profile); err != nil {\n    // daemon down: expect inotify 'not running' — informational, not a fault\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["interpret inotify status only after confirming the parent daemon status","in monitoring, map this error to 'stopped' state, not an alert-worthy failure","start with `colima start` — daemon and inotify lifecycle are managed together"],"tags":["inotify","status","daemon"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}