Description
Example stack:
panic({0x276a9e0, 0x41c9bc0}) |
/home/couchbase/.cbdepscache/exploded/x86_64/go-1.20.10/go/src/runtime/panic.go:884 +0x213 |
github.com/couchbase/query/execution.getOriginalCachedValue({0x0, 0x0}, {0x30bd7b8, 0xc022de71d0}, {0xc018bf83e8, 0x6}, 0xc001c2e1e8) |
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/execution/util.go:67 +0x41 |
github.com/couchbase/query/execution.(*Order).lessThan(0xc001c2e000, {0x31199b0, 0xc0053f8990}, {0x0, 0x0}) |
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/execution/order.go:190 +0x169 |
github.com/couchbase/query/execution.(*Order).Less(0x27523c0?, 0xc02cff6f00?, 0x1058a1a?) |
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/execution/order.go:174 +0x51 |
github.com/couchbase/query/sort.insertionSort({0x3084a90, 0xc001c2e000}, 0x0, 0x6) |
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/sort/sort.go:24 +0xb1 |
github.com/couchbase/query/sort.quickSort({0x3084a90?, 0xc001c2e000}, 0xc03f683d30?, 0x20bbc7e?, 0xc008403890?, 0x30?) |
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/sort/sort.go:212 +0x3f3 |
github.com/couchbase/query/sort.Sort({0x3084a90, 0xc001c2e000}) |
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/sort/sort.go:233 +0x56 |
github.com/couchbase/query/execution.(*Order).afterItems(0xc001c2e000, 0xc03a85e2c0) |
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/execution/order.go:110 +0xbe |
github.com/couchbase/query/execution.(*base).runConsumer.func1()
|
/home/couchbase/jenkins/workspace/toy-unix-simple/goproj/src/github.com/couchbase/query/execution/base.go:950 +0x414 |
The panic is most likely due to nil elements in the operator's values array, either from being passed in for processing or by the values array being pooled for reuse whilst afterItems() is still active. (A coordination issue.)