Panic in object.GET_RANGE #1077

Closed
opened 2024-04-05 12:43:53 +00:00 by fyrchik · 1 comment
anic: runtime error: slice bounds out of range [1:0] [recovered]
        panic: runtime error: slice bounds out of range [1:0]

goroutine 99 [running]:
testing.tRunner.func1.2({0xca4460, 0xc0003182e8})
        /home/dzeta/.go/src/testing/testing.go:1545 +0x238
testing.tRunner.func1()
        /home/dzeta/.go/src/testing/testing.go:1548 +0x397
panic({0xca4460?, 0xc0003182e8?})
        /home/dzeta/.go/src/runtime/panic.go:914 +0x21f
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*assembler).initializeFromSourceObjectID(0xc000253910, {0xeeab00, 0x155a640}, {0xaf, 0xbd, 0xa, 0x18, 0x68, 0x28, 0xc9, ...})
        /repo/frostfs/node/pkg/services/object/get/assembler.go:125 +0x62c
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*assembler).Assemble(0xc000253910, {0xeeab00, 0x155a640}, {0xee4470, 0xc00046b320})
        /repo/frostfs/node/pkg/services/object/get/assembler.go:50 +0x98
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).assemble(0xc0003150e0, {0xeeab00, 0x155a640})
        /repo/frostfs/node/pkg/services/object/get/assemble.go:53 +0x7cc
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).analyzeStatus(0xc0003150e0, {0xeeab00, 0x155a640}, 0xc0?)
        /repo/frostfs/node/pkg/services/object/get/get.go:106 +0x2ad
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).analyzeStatus(0xc0003150e0, {0xeeab00, 0x155a640}, 0x1)
        /repo/frostfs/node/pkg/services/object/get/get.go:116 +0x245
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).execute(0xc0003150e0, {0xeeab00, 0x155a640})
        /repo/frostfs/node/pkg/services/object/get/get.go:94 +0x72
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*Service).get(0xc00003eea0, {0xeeab00, 0x155a640}, {{{0xee4470, 0xc00046b320}, 0xc0000a8fa0, {{0x5e, 0x15, 0x62, 0x6b, ...}, ...}, ...}, ...})
        /repo/frostfs/node/pkg/services/object/get/get.go:83 +0x1a7
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*Service).GetRange(...)
        /repo/frostfs/node/pkg/services/object/get/get.go:21
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.TestGetRange.func2(0xc00032c760?, 0x526f9c?, {{0x5e, 0x15, 0x62, 0x6b, 0x2f, 0xc9, 0xe8, 0xb, ...}, ...}, ...)
        /repo/frostfs/node/pkg/services/object/get/get_test.go:1737 +0x22e
git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.TestGetRange.func5.1.1(0x0?)
        /repo/frostfs/node/pkg/services/object/get/get_test.go:1824 +0x65
testing.tRunner(0xc0003031e0, 0xc0000a8f00)
        /home/dzeta/.go/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 8
        /home/dzeta/.go/src/testing/testing.go:1648 +0x3ad
FAIL    git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get      0.066s
FAIL

It happened in my tests, supposedly it occurs when using --range=X:0, where X is the offset of the first byte of the last object.

``` anic: runtime error: slice bounds out of range [1:0] [recovered] panic: runtime error: slice bounds out of range [1:0] goroutine 99 [running]: testing.tRunner.func1.2({0xca4460, 0xc0003182e8}) /home/dzeta/.go/src/testing/testing.go:1545 +0x238 testing.tRunner.func1() /home/dzeta/.go/src/testing/testing.go:1548 +0x397 panic({0xca4460?, 0xc0003182e8?}) /home/dzeta/.go/src/runtime/panic.go:914 +0x21f git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*assembler).initializeFromSourceObjectID(0xc000253910, {0xeeab00, 0x155a640}, {0xaf, 0xbd, 0xa, 0x18, 0x68, 0x28, 0xc9, ...}) /repo/frostfs/node/pkg/services/object/get/assembler.go:125 +0x62c git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*assembler).Assemble(0xc000253910, {0xeeab00, 0x155a640}, {0xee4470, 0xc00046b320}) /repo/frostfs/node/pkg/services/object/get/assembler.go:50 +0x98 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).assemble(0xc0003150e0, {0xeeab00, 0x155a640}) /repo/frostfs/node/pkg/services/object/get/assemble.go:53 +0x7cc git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).analyzeStatus(0xc0003150e0, {0xeeab00, 0x155a640}, 0xc0?) /repo/frostfs/node/pkg/services/object/get/get.go:106 +0x2ad git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).analyzeStatus(0xc0003150e0, {0xeeab00, 0x155a640}, 0x1) /repo/frostfs/node/pkg/services/object/get/get.go:116 +0x245 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*request).execute(0xc0003150e0, {0xeeab00, 0x155a640}) /repo/frostfs/node/pkg/services/object/get/get.go:94 +0x72 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*Service).get(0xc00003eea0, {0xeeab00, 0x155a640}, {{{0xee4470, 0xc00046b320}, 0xc0000a8fa0, {{0x5e, 0x15, 0x62, 0x6b, ...}, ...}, ...}, ...}) /repo/frostfs/node/pkg/services/object/get/get.go:83 +0x1a7 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.(*Service).GetRange(...) /repo/frostfs/node/pkg/services/object/get/get.go:21 git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.TestGetRange.func2(0xc00032c760?, 0x526f9c?, {{0x5e, 0x15, 0x62, 0x6b, 0x2f, 0xc9, 0xe8, 0xb, ...}, ...}, ...) /repo/frostfs/node/pkg/services/object/get/get_test.go:1737 +0x22e git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get.TestGetRange.func5.1.1(0x0?) /repo/frostfs/node/pkg/services/object/get/get_test.go:1824 +0x65 testing.tRunner(0xc0003031e0, 0xc0000a8f00) /home/dzeta/.go/src/testing/testing.go:1595 +0xff created by testing.(*T).Run in goroutine 8 /home/dzeta/.go/src/testing/testing.go:1648 +0x3ad FAIL git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/get 0.066s FAIL ``` It happened in my tests, supposedly it occurs when using `--range=X:0`, where `X` is the offset of the first byte of the last object.
fyrchik added this to the v0.38.4 milestone 2024-04-05 12:43:53 +00:00
fyrchik added the
bug
frostfs-node
P0
labels 2024-04-05 12:43:53 +00:00
fyrchik self-assigned this 2024-04-05 12:43:57 +00:00
Poster
Owner

Closed via #1078

Closed via #1078
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
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: TrueCloudLab/frostfs-node#1077
There is no content yet.