panic: runtime error: slice bounds out of range #1426

Closed
opened 2025-12-28 17:22:57 +00:00 by sami · 4 comments
Owner

Originally created by @532910 on GitHub (Jun 11, 2025).

Originally assigned to: @roman-khimov on GitHub.

systemd: Started neofs-ir.service - NeoFS InnerRing node.
neofs-ir: info        neofs-ir/main.go:159        prometheus is enabled
neofs-ir: info        neofs-ir/main.go:159        pprof is enabled
neofs-ir: panic: runtime error: slice bounds out of range [::268955648] with length 268435455
neofs-ir: goroutine 1 [running]:
neofs-ir: go.etcd.io/bbolt/internal/common.UnsafeByteSlice(...)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/internal/common/unsafe.go:26
neofs-ir: go.etcd.io/bbolt.(*Tx).write(0xc058754000)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/tx.go:516 +0x5fe
neofs-ir: go.etcd.io/bbolt.(*Tx).Commit(0xc058754000)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/tx.go:244 +0x4ea
neofs-ir: go.etcd.io/bbolt.(*DB).Update(0xc000162d20?, 0xc0001d6c30)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/db.go:906 +0xca
neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewBoltDBStore({{0xc000162d20?, 0x0?}, 0x0?})
neofs-ir:         github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/boltdb_store.go:56 +0x1b0
neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewStore({{0xc000156380, 0x6}, {{0x0, 0x0}, 0x0}, {{0xc000162d20, 0x1a}, 0x0}})
neofs-ir:         github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/store.go:135 +0x85
neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain.New(0xc000154cb0, 0xc000154c30, 0xc0001208c0, 0xc0001208c0?)
neofs-ir:         github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain/blockchain.go:243 +0xbf0
neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring.New({0x15e6e30, 0xc000143180}, 0xc000177480, 0xc000154c08, 0xc0001208c0)
neofs-ir:         github.com/nspcc-dev/neofs-node/pkg/innerring/innerring.go:438 +0x135d
neofs-ir: main.main()
neofs-ir:         github.com/nspcc-dev/neofs-node/cmd/neofs-ir/main.go:97 +0x635
systemd: neofs-ir.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Originally created by @532910 on GitHub (Jun 11, 2025). Originally assigned to: @roman-khimov on GitHub. ``` systemd: Started neofs-ir.service - NeoFS InnerRing node. neofs-ir: info neofs-ir/main.go:159 prometheus is enabled neofs-ir: info neofs-ir/main.go:159 pprof is enabled neofs-ir: panic: runtime error: slice bounds out of range [::268955648] with length 268435455 neofs-ir: goroutine 1 [running]: neofs-ir: go.etcd.io/bbolt/internal/common.UnsafeByteSlice(...) neofs-ir: go.etcd.io/bbolt@v1.4.0/internal/common/unsafe.go:26 neofs-ir: go.etcd.io/bbolt.(*Tx).write(0xc058754000) neofs-ir: go.etcd.io/bbolt@v1.4.0/tx.go:516 +0x5fe neofs-ir: go.etcd.io/bbolt.(*Tx).Commit(0xc058754000) neofs-ir: go.etcd.io/bbolt@v1.4.0/tx.go:244 +0x4ea neofs-ir: go.etcd.io/bbolt.(*DB).Update(0xc000162d20?, 0xc0001d6c30) neofs-ir: go.etcd.io/bbolt@v1.4.0/db.go:906 +0xca neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewBoltDBStore({{0xc000162d20?, 0x0?}, 0x0?}) neofs-ir: github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/boltdb_store.go:56 +0x1b0 neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewStore({{0xc000156380, 0x6}, {{0x0, 0x0}, 0x0}, {{0xc000162d20, 0x1a}, 0x0}}) neofs-ir: github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/store.go:135 +0x85 neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain.New(0xc000154cb0, 0xc000154c30, 0xc0001208c0, 0xc0001208c0?) neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain/blockchain.go:243 +0xbf0 neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring.New({0x15e6e30, 0xc000143180}, 0xc000177480, 0xc000154c08, 0xc0001208c0) neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/innerring.go:438 +0x135d neofs-ir: main.main() neofs-ir: github.com/nspcc-dev/neofs-node/cmd/neofs-ir/main.go:97 +0x635 systemd: neofs-ir.service: Main process exited, code=exited, status=2/INVALIDARGUMENT ```
sami 2025-12-28 17:22:57 +00:00
Author
Owner

@roman-khimov commented on GitHub (Jun 12, 2025):

SN:

neofs-node[1884986]: panic: runtime error: slice bounds out of range [::268779520] with length 268435455
neofs-node[1884986]: goroutine 1 [running]:
neofs-node[1884986]: go.etcd.io/bbolt/internal/common.UnsafeByteSlice(...)
neofs-node[1884986]:         go.etcd.io/bbolt@v1.4.0/internal/common/unsafe.go:26
neofs-node[1884986]: go.etcd.io/bbolt.(*Tx).write(0xc030104ee0)
neofs-node[1884986]:         go.etcd.io/bbolt@v1.4.0/tx.go:516 +0x5fe
neofs-node[1884986]: go.etcd.io/bbolt.(*Tx).Commit(0xc030104ee0)
neofs-node[1884986]:         go.etcd.io/bbolt@v1.4.0/tx.go:244 +0x4ea
neofs-node[1884986]: go.etcd.io/bbolt.(*DB).Update(0xc0015a1470?, 0xc07fc859f8)
neofs-node[1884986]:         go.etcd.io/bbolt@v1.4.0/db.go:906 +0xca
neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase.(*DB).init(0xc0015a1470, 0x0)
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase/control.go:105 +0x298
neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase.(*DB).Init(0x1e0c8b0?)
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase/control.go:67 +0x15
neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard.(*Shard).Init(0xc0015a14a0)
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard/control.go:104 +0x1d5
neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine.(*StorageEngine).Init(0xc0001cc150)
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine/control.go:44 +0x10e
neofs-node[1884986]: main.initApp.func1(0xc0003a4488)
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:132 +0x65
neofs-node[1884986]: main.initAndLog(0xc0003a4488, {0x11f5afb, 0xe}, 0x12ee668)
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:120 +0x99
neofs-node[1884986]: main.initApp(0xc0003a4488)
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:130 +0x90
neofs-node[1884986]: main.main()
neofs-node[1884986]:         github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:63 +0x34f

Existing huge DBs in both case. Like

{
    "name": "root",
    "keyN": 0,
    "buckets": [
        {
            "name": "DB",
            "keyN": 201282786
        }
    ]
}

For IR/CN. Checking them now.

@roman-khimov commented on GitHub (Jun 12, 2025): SN: ``` neofs-node[1884986]: panic: runtime error: slice bounds out of range [::268779520] with length 268435455 neofs-node[1884986]: goroutine 1 [running]: neofs-node[1884986]: go.etcd.io/bbolt/internal/common.UnsafeByteSlice(...) neofs-node[1884986]: go.etcd.io/bbolt@v1.4.0/internal/common/unsafe.go:26 neofs-node[1884986]: go.etcd.io/bbolt.(*Tx).write(0xc030104ee0) neofs-node[1884986]: go.etcd.io/bbolt@v1.4.0/tx.go:516 +0x5fe neofs-node[1884986]: go.etcd.io/bbolt.(*Tx).Commit(0xc030104ee0) neofs-node[1884986]: go.etcd.io/bbolt@v1.4.0/tx.go:244 +0x4ea neofs-node[1884986]: go.etcd.io/bbolt.(*DB).Update(0xc0015a1470?, 0xc07fc859f8) neofs-node[1884986]: go.etcd.io/bbolt@v1.4.0/db.go:906 +0xca neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase.(*DB).init(0xc0015a1470, 0x0) neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase/control.go:105 +0x298 neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase.(*DB).Init(0x1e0c8b0?) neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/metabase/control.go:67 +0x15 neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard.(*Shard).Init(0xc0015a14a0) neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/shard/control.go:104 +0x1d5 neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine.(*StorageEngine).Init(0xc0001cc150) neofs-node[1884986]: github.com/nspcc-dev/neofs-node/pkg/local_object_storage/engine/control.go:44 +0x10e neofs-node[1884986]: main.initApp.func1(0xc0003a4488) neofs-node[1884986]: github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:132 +0x65 neofs-node[1884986]: main.initAndLog(0xc0003a4488, {0x11f5afb, 0xe}, 0x12ee668) neofs-node[1884986]: github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:120 +0x99 neofs-node[1884986]: main.initApp(0xc0003a4488) neofs-node[1884986]: github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:130 +0x90 neofs-node[1884986]: main.main() neofs-node[1884986]: github.com/nspcc-dev/neofs-node/cmd/neofs-node/main.go:63 +0x34f ``` Existing huge DBs in both case. Like ``` { "name": "root", "keyN": 0, "buckets": [ { "name": "DB", "keyN": 201282786 } ] } ``` For IR/CN. Checking them now.
Author
Owner

@roman-khimov commented on GitHub (Jun 12, 2025):

bbolt check reports that the DBs are OK, so likely it can be fixed without resyncs.

@roman-khimov commented on GitHub (Jun 12, 2025): `bbolt check` reports that the DBs are OK, so likely it can be fixed without resyncs.
Author
Owner

@532910 commented on GitHub (Jun 12, 2025):

systemd: Started neofs-ir.service - NeoFS InnerRing node.
neofs-ir: info        neofs-ir/main.go:159        prometheus is enabled
neofs-ir: info        neofs-ir/main.go:159        pprof is enabled
neofs-ir: panic: runtime error: slice bounds out of range [::268955648] with length 268435455
neofs-ir: goroutine 1 [running]:
neofs-ir: go.etcd.io/bbolt/internal/common.UnsafeByteSlice(...)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/internal/common/unsafe.go:26
neofs-ir: go.etcd.io/bbolt.(*Tx).write(0xc057a76000)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/tx.go:503 +0x5fe
neofs-ir: go.etcd.io/bbolt.(*Tx).Commit(0xc057a76000)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/tx.go:244 +0x4ea
neofs-ir: go.etcd.io/bbolt.(*DB).Update(0xc0002b4d60?, 0xc0001f4c30)
neofs-ir:         go.etcd.io/bbolt@v1.4.0/db.go:899 +0xca
neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewBoltDBStore({{0xc0002b4d60?, 0x0?}, 0x0?})
neofs-ir:         github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/boltdb_store.go:56 +0x1b0
neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewStore({{0xc00029c9e0, 0x6}, {{0x0, 0x0}, 0x0}, {{0xc0002b4d60, 0x1a}, 0x0}})
neofs-ir:         github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/store.go:135 +0x85
neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain.New(0xc0002e6cb0, 0xc0002e6c30, 0xc0000a6070, 0xc0000a6070?)
neofs-ir:         github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain/blockchain.go:243 +0xbf0
neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring.New({0x15e5cf0, 0xc0002b7800}, 0xc000487400, 0xc0002e6c08, 0xc0000a6070)
neofs-ir:         github.com/nspcc-dev/neofs-node/pkg/innerring/innerring.go:438 +0x135d
neofs-ir: main.main()
neofs-ir:         github.com/nspcc-dev/neofs-node/cmd/neofs-ir/main.go:97 +0x635
systemd: neofs-ir.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
% neofs-ir --version
NeoFS Inner Ring node
Version: 0.47.1 
GoVersion: go1.24.4
@532910 commented on GitHub (Jun 12, 2025): ``` systemd: Started neofs-ir.service - NeoFS InnerRing node. neofs-ir: info neofs-ir/main.go:159 prometheus is enabled neofs-ir: info neofs-ir/main.go:159 pprof is enabled neofs-ir: panic: runtime error: slice bounds out of range [::268955648] with length 268435455 neofs-ir: goroutine 1 [running]: neofs-ir: go.etcd.io/bbolt/internal/common.UnsafeByteSlice(...) neofs-ir: go.etcd.io/bbolt@v1.4.0/internal/common/unsafe.go:26 neofs-ir: go.etcd.io/bbolt.(*Tx).write(0xc057a76000) neofs-ir: go.etcd.io/bbolt@v1.4.0/tx.go:503 +0x5fe neofs-ir: go.etcd.io/bbolt.(*Tx).Commit(0xc057a76000) neofs-ir: go.etcd.io/bbolt@v1.4.0/tx.go:244 +0x4ea neofs-ir: go.etcd.io/bbolt.(*DB).Update(0xc0002b4d60?, 0xc0001f4c30) neofs-ir: go.etcd.io/bbolt@v1.4.0/db.go:899 +0xca neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewBoltDBStore({{0xc0002b4d60?, 0x0?}, 0x0?}) neofs-ir: github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/boltdb_store.go:56 +0x1b0 neofs-ir: github.com/nspcc-dev/neo-go/pkg/core/storage.NewStore({{0xc00029c9e0, 0x6}, {{0x0, 0x0}, 0x0}, {{0xc0002b4d60, 0x1a}, 0x0}}) neofs-ir: github.com/nspcc-dev/neo-go@v0.110.0/pkg/core/storage/store.go:135 +0x85 neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain.New(0xc0002e6cb0, 0xc0002e6c30, 0xc0000a6070, 0xc0000a6070?) neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/internal/blockchain/blockchain.go:243 +0xbf0 neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring.New({0x15e5cf0, 0xc0002b7800}, 0xc000487400, 0xc0002e6c08, 0xc0000a6070) neofs-ir: github.com/nspcc-dev/neofs-node/pkg/innerring/innerring.go:438 +0x135d neofs-ir: main.main() neofs-ir: github.com/nspcc-dev/neofs-node/cmd/neofs-ir/main.go:97 +0x635 systemd: neofs-ir.service: Main process exited, code=exited, status=2/INVALIDARGUMENT ``` ``` % neofs-ir --version NeoFS Inner Ring node Version: 0.47.1 GoVersion: go1.24.4 ```
Author
Owner

@roman-khimov commented on GitHub (Jun 12, 2025):

DBs are fully readable, compaction should fix the problem.

@roman-khimov commented on GitHub (Jun 12, 2025): DBs are fully readable, compaction should fix the problem.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-node#1426
No description provided.