mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
lib/uint64set: return an emptry set instead of nil set from Set.Clone
, since the caller may add data to the cloned set
This fixes the following panic in v1.28.1: panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x783a7e] goroutine 1155 [running]: github.com/VictoriaMetrics/VictoriaMetrics/lib/uint64set.(*Set).Add(0x0, 0x15b3bfb41e8b71ec) github.com/VictoriaMetrics/VictoriaMetrics@/lib/uint64set/uint64set.go:57 +0x2e github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.(*indexSearch).getMetricIDsForRecentHours(0xc5bdc0dd40, 0x16e273f6b50, 0x16e2745d3f0, 0x5b8d95, 0x10, 0x4a2f51, 0xaa01000000000000) github.com/VictoriaMetrics/VictoriaMetrics@/lib/storage/index_db.go:1951 +0x260 github.com/VictoriaMetrics/VictoriaMetrics/lib/storage.(*indexSearch).getMetricIDsForTimeRange(0xc5bdc0dd40, 0x16e273f6b50, 0x16e2745d3f0, 0x5b8d95, 0x10, 0xb296c0, 0xc00009cd80, 0x9bc640)
This commit is contained in:
parent
2f58f37f07
commit
370cfbb365
1 changed files with 2 additions and 1 deletions
|
@ -31,7 +31,8 @@ func (s *bucket32Sorter) Swap(i, j int) {
|
|||
// Clone returns an independent copy of s.
|
||||
func (s *Set) Clone() *Set {
|
||||
if s == nil {
|
||||
return nil
|
||||
// Return an empty set, so data could be added into it later.
|
||||
return &Set{}
|
||||
}
|
||||
var dst Set
|
||||
dst.itemsCount = s.itemsCount
|
||||
|
|
Loading…
Reference in a new issue