{"record":{"id":"97c52fe1c6d83864","repo":"GopeedLab/gopeed","slug":"process-d-still-running-after-timeout","errorCode":null,"errorMessage":"process %d still running after timeout","messagePattern":"process (.+?) still running after timeout","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/updater/main.go","lineNumber":105,"sourceCode":"func waitForProcessExit(pid int) error {\n\tdeadline := time.Now().Add(10 * time.Second)\n\tfor time.Now().Before(deadline) {\n\t\tprocess, err := os.FindProcess(pid)\n\t\tif err != nil {\n\t\t\t// On some systems, error is returned if process doesn't exist\n\t\t\treturn nil\n\t\t}\n\n\t\t// Send null signal to test if process exists\n\t\terr = process.Signal(syscall.Signal(0))\n\t\tif err != nil {\n\t\t\t// If error occurs, the process no longer exists\n\t\t\treturn nil\n\t\t}\n\n\t\ttime.Sleep(100 * time.Millisecond)\n\t}\n\treturn fmt.Errorf(\"process %d still running after timeout\", pid)\n}\n\nfunc killProcess(pid int) error {\n\tprocess, err := os.FindProcess(pid)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\treturn process.Kill()\n}\n","sourceCodeStart":87,"sourceCodeEnd":116,"githubUrl":"https://github.com/GopeedLab/gopeed/blob/7b7327ffb30816273a74b142cccc0bc10c5a4c67/cmd/updater/main.go#L87-L116","documentation":"Error \"process %d still running after timeout\" thrown in GopeedLab/gopeed.","triggerScenarios":"Thrown at cmd/updater/main.go:105 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7b7327ffb30816273a74b142cccc0bc10c5a4c67","analyzedAt":"2026-08-16T02:51:03.250Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}