You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Badger v4.2.0运行时切片越界错误排查求助

Badger v4.2.0 切片越界运行时错误排查求助

运行基于Badger的进程时触发运行时错误:slice bounds out of range,错误源自Badger内部库,而非业务代码。具体报错栈信息如下:

panic: runtime error: slice bounds out of range [-4169358568:] [recovered]
    panic: runtime error: slice bounds out of range [-4169358568:]
    panic: 
== Recovering from initIndex crash ==
File Info: [ID: 95, Size: 69121215, Zeros: 0]
isEnrypted: false checksumLen: 4238479779 
== Recovered ==


goroutine 6932842 [running]:
github.com/dgraph-io/badger/v4/table.(*Table).initBiggestAndSmallest.func1.1()
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:353 +0xa8
panic({0xba9420, 0xc4324db2d8})
    /usr/local/go/src/runtime/panic.go:884 +0x212
github.com/dgraph-io/ristretto/z.(*MmapFile).Bytes(...)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/ristretto/z/file.go:116
github.com/dgraph-io/badger/v4/table.(*Table).read(...)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:420
github.com/dgraph-io/badger/v4/table.(*Table).readNoFail(0xd0a740?, 0xc4a7b68810?, 0xbfe74d?)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:424 +0xd0
github.com/dgraph-io/badger/v4/table.(*Table).initBiggestAndSmallest.func1()
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:383 +0x2ff
panic({0xba9420, 0xc4324db2c0})
    /usr/local/go/src/runtime/panic.go:884 +0x212
github.com/dgraph-io/ristretto/z.(*MmapFile).Bytes(...)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/ristretto/z/file.go:116
github.com/dgraph-io/badger/v4/table.(*Table).read(...)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:420
github.com/dgraph-io/badger/v4/table.(*Table).readNoFail(0x6?, 0x0?, 0x9?)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:424 +0xd0
github.com/dgraph-io/badger/v4/table.(*Table).initIndex(0xc47e194180)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:445 +0x109
github.com/dgraph-io/badger/v4/table.(*Table).initBiggestAndSmallest(0xc47e194180)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:403 +0x7f
github.com/dgraph-io/badger/v4/table.OpenTable(0xc31e8f4160, {0x0, 0x1, 0x1000000, 0xf33333, 0x0, 0x3f847ae147ae147b, 0x1000, 0x0, 0x1, ...})
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:309 +0x278
github.com/dgraph-io/badger/v4/table.CreateTable({0xc167146b80, 0x33}, 0xccef5a4090)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/table/table.go:273 +0x305
github.com/dgraph-io/badger/v4.(*levelsController).subcompact.func4(0xccef5a4090, 0xc025c8b6e0?)
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/levels.go:846 +0x11b
created by github.com/dgraph-io/badger/v4.(*levelsController).subcompact
    /data/badger_broadband/badger_grpc/vendor/github.com/dgraph-io/badger/v4/levels.go:836 +0x707

使用版本:

  • Badger v4.2.0
  • Golang 1.19

已尝试两种Badger初始化方式,均触发相同错误:

自定义配置初始化

// func to create a key value db
func NewKeyValueDB(dataDir, name string) (*KeyValueDB, error) {
    opts := badger.DefaultOptions(dataDir + "/" + name)
    opts.InMemory = false
    opts.Compression =  options.None
    opts.NumCompactors = 2
    opts.NumGoroutines = 4
    opts.BlockCacheSize = 0
    db, err := badger.Open(opts)
    if err != nil {
        return nil, err
    }
    return &KeyValueDB{
        DB:      db,
        dataDir: dataDir,
        name:    name,
    }, nil
}

默认配置初始化

// func to create a key value db
func NewKeyValueDB(dataDir, name string) (*KeyValueDB, error) {
    opts := badger.DefaultOptions(dataDir + "/" + name)
    db, err := badger.Open(opts)
    if err != nil {
        return nil, err
    }
    return &KeyValueDB{
        DB:      db,
        dataDir: dataDir,
        name:    name,
    }, nil
}

请求协助排查该问题。

内容的提问来源于stack exchange,提问作者Akhilesh mahajan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:15:04