Back to overview

Postmortem and Incident Analysis Summary - September 1st, 2025

Sep 09 at 06:05pm CEST
Affected services
Requesting URL able to be proxied

Resolved
Sep 09 at 06:05pm CEST

New release of llvm, 21. Resulted in updates to:

The following code introduced a bug:

if majorlevel >= "18" {

The Copilot explanation:

This line is a conditional statement in Go that checks whether the value of majorlevel is greater than or equal to the string "18". The comparison uses the >= operator, which, when applied to strings in Go, compares them lexicographically (dictionary order), not numerically. This means "20" >= "18" is true, but "2" >= "18" is false, because "2" comes before "18" in string order.

Potential gotcha: If majorlevel is meant to represent a numeric value (such as a version number), comparing it as a string can lead to unexpected results. For example, "100" >= "18" is true, but "9" >= "18" is false, even though numerically 9 is less than 18. To avoid this, you should convert majorlevel to an integer before comparing:

major, err := strconv.Atoi(majorlevel)
if err == nil && major >= 18 {
    // ...
}

This ensures the comparison is numeric, which is usually the intended behavior for version checks or similar logic.

The code was updated and restructured to ensure proper numeric comparison for version checks and the special case handling for the newer versions.

Follow up is:

  • Add automated tests for the proxy
  • Evaluate a possible random test generation strategy, so to cover more examples and potential bugs