Skip to content

Commit d9b5adc

Browse files
committed
RHINENG-21276: fix sigsegv
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1947adf] goroutine 2826 [running]: app/evaluator.updateSystemPlatform(0xc02658edb0, 0xc025dae3c0, 0xc02648bb30, 0x221, 0x0, 0x0) /go/src/app/evaluator/evaluate.go:534 +0x13f app/evaluator.evaluateAndStore(0xc025dae3c0, 0xc025741b40, 0xc02612efc0) /go/src/app/evaluator/evaluate.go:469 +0x1b5 app/evaluator.evaluateWithVmaas(0xc025741b40, 0xc000560460?, 0xc025dae3c0?) /go/src/app/evaluator/evaluate.go:281 +0x25 app/evaluator.evaluateInDatabase({0x2358448, 0xc000560460}, 0xc02612efc0, {0xc02412d9e1, 0x24}) /go/src/app/evaluator/evaluate.go:228 +0xa5 app/evaluator.Evaluate({0x2358448, 0xc000560460}, 0xc02612efc0, {0xc02412d9e1, 0x24}, {0xc000046391, 0x6}) /go/src/app/evaluator/evaluate.go:144 +0x1e7 app/evaluator.runEvaluate.func1() /go/src/app/evaluator/evaluate.go:184 +0x6f created by app/evaluator.runEvaluate in goroutine 103 /go/src/app/evaluator/evaluate.go:183 +0x25d
1 parent 5b23fcd commit d9b5adc

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

evaluator/evaluate.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,9 @@ func updateSystemPlatform(tx *gorm.DB, system *models.SystemPlatform,
531531
advisories SystemAdvisoryMap, installed, installable, applicable int) error {
532532
tStart := time.Now()
533533
defer utils.ObserveSecondsSince(tStart, evaluationPartDuration.WithLabelValues("system-update"))
534-
defer utils.ObserveSecondsSince(*system.LastUpload, uploadEvaluationDelay)
534+
if system.LastUpload != nil {
535+
defer utils.ObserveSecondsSince(*system.LastUpload, uploadEvaluationDelay)
536+
}
535537
if system.LastEvaluation != nil {
536538
defer utils.ObserveHoursSince(*system.LastEvaluation, twoEvaluationsInterval)
537539
}
@@ -584,7 +586,7 @@ func updateSystemPlatform(tx *gorm.DB, system *models.SystemPlatform,
584586
err := tx.Model(system).Updates(data).Error
585587

586588
now := time.Now()
587-
if system.LastUpload.Sub(now) > time.Hour {
589+
if system.LastUpload != nil && system.LastUpload.Sub(now) > time.Hour {
588590
// log long evaluating systems
589591
utils.LogWarn("id", system.InventoryID, "lastUpload", *system.LastUpload, "now", now, "uploadEvaluationDelay")
590592
}

0 commit comments

Comments
 (0)