{"record":{"id":"99d2cfd98b3cdd4c","repo":"coreybutler/nvm-windows","slug":"error-failed-to-obtain-update-data-v","errorCode":null,"errorMessage":"error: failed to obtain update data: %v\n","messagePattern":"error: failed to obtain update data: (.+?)\n","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/upgrade/upgrade.go","lineNumber":234,"sourceCode":"\t// Wait for the prior subroutine to initialize before starting the next dependent thread\n\ttime.Sleep(300 * time.Millisecond)\n\n\t// Run the update\n\tgo func() {\n\t\texe, _ := os.Executable()\n\t\twinIco := filepath.Join(filepath.Dir(exe), \"nvm.ico\")\n\t\tico := filepath.Join(filepath.Dir(exe), \"download.ico\")\n\n\t\tvar err error\n\t\tu, err = checkForUpdate(UPDATE_URL)\n\t\tif err != nil {\n\t\t\tdisplay(Notification{\n\t\t\t\tTitle:   \"Update Error\",\n\t\t\t\tMessage: err.Error(),\n\t\t\t\tIcon:    \"error\",\n\t\t\t})\n\n\t\t\tstatus <- Status{Err: fmt.Errorf(\"error: failed to obtain update data: %v\\n\", err)}\n\t\t}\n\n\t\tvar perr error\n\t\tdlg, perr = zenity.Progress(\n\t\t\tzenity.Title(fmt.Sprintf(\"Installing NVM for Windows v%s\", u.Version)),\n\t\t\tzenity.Icon(ico),\n\t\t\tzenity.WindowIcon(winIco),\n\t\t\tzenity.AutoClose(),\n\t\t\tzenity.NoCancel(),\n\t\t\tzenity.Pulsate())\n\n\t\tif perr != nil {\n\t\t\tfmt.Println(\"Failed to create progress dialog\")\n\t\t}\n\n\t\tgo func() {\n\t\t\tfor {\n\t\t\t\tselect {","sourceCodeStart":216,"sourceCodeEnd":252,"githubUrl":"https://github.com/coreybutler/nvm-windows/blob/5b18223ca19ff50d707f35410dbc6bd440a9f74d/src/upgrade/upgrade.go#L216-L252","documentation":"GUI update path (upgrade entry with zenity dialogs): checkForUpdate(UPDATE_URL) failed, so the remote release metadata could not be fetched. The error is reported both as a desktop notification ('Update Error') and on the status channel; note the goroutine does not return/exit after sending, so the flow continues with a zero-value Update.","triggerScenarios":"Any network/DNS failure, proxy interception, or GitHub unreachability while `nvm install`/update check fetches UPDATE_URL; also an invalid response body that fails to unmarshal into the Update struct.","commonSituations":"Corporate proxies with self-signed certificates, offline machine, firewall blocking github.com, or a transient GitHub outage during `nvm` update checks.","solutions":["Check network connectivity to the update URL host (curl the UPDATE_URL) and retry","Configure proxy/SSL: set HTTP_PROXY/HTTPS_PROXY or fix the corporate root CA store","If offline by design, disable/skip the update check or install the nvm upgrade manually from the releases page","Retry later if GitHub is having an incident"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pre-check connectivity to the update host before launching the GUI update","Configure HTTP(S)_PROXY in corporate networks","Treat update-check failures as non-fatal: notify and continue with the current version"],"tags":["nvm-windows","network","update","github","proxy"],"backgroundTag":null,"analyzedSha":"5b18223ca19ff50d707f35410dbc6bd440a9f74d","analyzedAt":"2026-08-15T10:06:51.428Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}