{"record":{"id":"3e4412e3c710cd74","repo":"goharbor/harbor","slug":"failed-to-unmashal-the-param-v","errorCode":null,"errorMessage":"failed to unmashal the param: %v","messagePattern":"failed to unmashal the param: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/controller/purge/controller.go","lineNumber":47,"sourceCode":"const (\n\t// SchedulerCallback ...\n\tSchedulerCallback = \"PURGE_AUDIT_LOG_CALLBACK\"\n)\n\n// Ctrl a global purge controller instance\nvar Ctrl = NewController()\n\nfunc init() {\n\terr := scheduler.RegisterCallbackFunc(SchedulerCallback, purgeCallback)\n\tif err != nil {\n\t\tlog.Fatalf(\"failed to registry purge job call back, %v\", err)\n\t}\n}\n\nfunc purgeCallback(ctx context.Context, p string) error {\n\tparam := &JobPolicy{}\n\tif err := json.Unmarshal([]byte(p), param); err != nil {\n\t\treturn fmt.Errorf(\"failed to unmashal the param: %v\", err)\n\t}\n\t_, err := Ctrl.Start(ctx, *param, task.ExecutionTriggerSchedule)\n\treturn err\n}\n\n// Controller defines the interface with the purge job\ntype Controller interface {\n\t// Start kick off a purge schedule\n\tStart(ctx context.Context, policy JobPolicy, trigger string) (int64, error)\n\t// Stop a purge job\n\tStop(ctx context.Context, id int64) error\n}\n\ntype controller struct {\n\ttaskMgr task.Manager\n\texeMgr  task.ExecutionManager\n}\n","sourceCodeStart":29,"sourceCodeEnd":65,"githubUrl":"https://github.com/goharbor/harbor/blob/7b2fd08cc568955cca339afeefab27372840d936/src/controller/purge/controller.go#L29-L65","documentation":"Error \"failed to unmashal the param: %v\" thrown in goharbor/harbor.","triggerScenarios":"Thrown at src/controller/purge/controller.go:47 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":"7b2fd08cc568955cca339afeefab27372840d936","analyzedAt":"2026-08-16T00:00:10.961Z","schemaVersion":2},"datasetVersion":"2026-08-16T03:17:38.424Z"}