panic during object put #1306

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

Originally created by @evgeniiz321 on GitHub (Dec 24, 2024).

Originally assigned to: @carpawell on GitHub.

DsopKCVomH7wTFikghs1y9DtJhdW3P1BUJXQdnkBEbRL", "op": "PUT", "type": "peapod", "storage_id": "peapod"}
info	log/log.go:12	local object storage operation	{"shard_id": "AjU7Fguw6MmnYjhSYr6G4j", "address": "9Df2VFJBady7bRFtndSVs8J1AEd7o6QH43Rg2ckja3KH/DsopKCVomH7wTFikghs1y9DtJhdW3P1BUJXQdnkBEbRL", "op": "metabase PUT"}
debug	session/executor.go:30	serving request...	{"component": "SessionService", "request": "Create"}
panic: runtime error: integer divide by zero

goroutine 4840 [running]:
github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*distributedTarget).Close(0xc00153b500)
	github.com/nspcc-dev/neofs-node/pkg/services/object/put/distributed.go:154 +0xd25
github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*readyObjectPayloadWriter).Close(0x1e06970?)
	github.com/nspcc-dev/neofs-node/pkg/services/object/put/slice.go:121 +0x1b
github.com/nspcc-dev/neofs-sdk-go/object/slicer.writeInMemObject({0x1401190, 0xc003023b30}, {0x1401158, _}, {_, _}, {0xc00300ebd0, 0xc000634f80, 0xc000294ee0, {0x0, ...}}, ...)
	github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:656 +0x353
github.com/nspcc-dev/neofs-sdk-go/object/slicer.(*PayloadWriter)._writeChild(0xc00016f448, {0x1401190, 0xc003023b30}, {0x3e8, {0x14031c0, 0xc00073c480}, {0x1403200, 0xc001aea640}}, {0xc00081d520, 0x1, ...}, ...)
	github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:556 +0x326
github.com/nspcc-dev/neofs-sdk-go/object/slicer.(*PayloadWriter).writeLastChild(...)
	github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:508
github.com/nspcc-dev/neofs-sdk-go/object/slicer.(*PayloadWriter).Close(0xc00081d5d8?)
	github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:483 +0x30a
github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*slicingTarget).Close(0xc001656e40)
	github.com/nspcc-dev/neofs-node/pkg/services/object/put/slice.go:87 +0x32
github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*validatingTarget).Close(0xc0030239e0?)
	github.com/nspcc-dev/neofs-node/pkg/services/object/put/validation.go:147 +0x92
github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*Streamer).Close(0xc001b701e0)
	github.com/nspcc-dev/neofs-node/pkg/services/object/put/streamer.go:269 +0x3e
github.com/nspcc-dev/neofs-node/pkg/services/object/put/v2.(*streamer).CloseAndRecv(0xc001648400)
	github.com/nspcc-dev/neofs-node/pkg/services/object/put/v2/streamer.go:109 +0x54
github.com/nspcc-dev/neofs-node/pkg/services/object/acl/v2.putStreamBasicChecker.CloseAndRecv(...)
	github.com/nspcc-dev/neofs-node/pkg/services/object/acl/v2/service.go:593
github.com/nspcc-dev/neofs-node/pkg/services/object.(*ResponseService).Put.func2()
	github.com/nspcc-dev/neofs-node/pkg/services/object/response.go:87 +0x1c
github.com/nspcc-dev/neofs-node/pkg/services/util/response.(*ClientMessageStreamer).CloseAndRecv(0xc001d7c9a8)
	github.com/nspcc-dev/neofs-node/pkg/services/util/response/client_stream.go:30 +0x22
github.com/nspcc-dev/neofs-node/pkg/services/object.(*putStreamResponser).CloseAndRecv(0xc000068a90)
	github.com/nspcc-dev/neofs-node/pkg/services/object/response.go:67 +0x25
github.com/nspcc-dev/neofs-node/pkg/services/object.(*SignService).Put.func2()
	github.com/nspcc-dev/neofs-node/pkg/services/object/sign.go:98 +0x1c
github.com/nspcc-dev/neofs-node/pkg/services/util.(*RequestMessageStreamer).CloseAndRecv(0xc003023b90)
	github.com/nspcc-dev/neofs-node/pkg/services/util/sign.go:90 +0x38
github.com/nspcc-dev/neofs-node/pkg/services/object.(*putStreamSigner).CloseAndRecv(0x13edf20?)
	github.com/nspcc-dev/neofs-node/pkg/services/object/sign.go:78 +0x1a
github.com/nspcc-dev/neofs-node/pkg/services/object.putStreamMetric.CloseAndRecv({{0x13fa4d8, 0xc000068a98}, {0x140eab8, 0xc000322508}, {0xc1d28e269b04f4d3, 0x108cae82f0, 0x1e2b260}})
	github.com/nspcc-dev/neofs-node/pkg/services/object/metrics.go:162 +0x45
github.com/nspcc-dev/neofs-node/pkg/network/transport/object/grpc.(*Server).Put(0xc0001d3310, {0x1408ce0, 0xc000046610})
	github.com/nspcc-dev/neofs-node/pkg/network/transport/object/grpc/service.go:80 +0x194
github.com/nspcc-dev/neofs-api-go/v2/object/grpc._ObjectService_Put_Handler({0x10f6ca0?, 0xc0001d3310}, {0x14058b8, 0xc00040c870})
	github.com/nspcc-dev/neofs-api-go/v2@v2.14.1-0.20240827150555-5ce597aa14ea/object/grpc/service_grpc.pb.go:714 +0xd8
google.golang.org/grpc.(*Server).processStreamingRPC(0xc00013f200, {0x1401190, 0xc003023a40}, {0x1409e00, 0xc0015ee180}, 0xc00393e6c0, 0xc00160baa0, 0x1e19b20, 0x0)
	google.golang.org/grpc@v1.64.1/server.go:1673 +0x1208
google.golang.org/grpc.(*Server).handleStream(0xc00013f200, {0x1409e00, 0xc0015ee180}, 0xc00393e6c0)
	google.golang.org/grpc@v1.64.1/server.go:1794 +0xe3a
google.golang.org/grpc.(*Server).serveStreams.func2.1()
	google.golang.org/grpc@v1.64.1/server.go:1029 +0x8b
created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 4850
	google.golang.org/grpc@v1.64.1/server.go:1040 +0x125
Originally created by @evgeniiz321 on GitHub (Dec 24, 2024). Originally assigned to: @carpawell on GitHub. ``` DsopKCVomH7wTFikghs1y9DtJhdW3P1BUJXQdnkBEbRL", "op": "PUT", "type": "peapod", "storage_id": "peapod"} info log/log.go:12 local object storage operation {"shard_id": "AjU7Fguw6MmnYjhSYr6G4j", "address": "9Df2VFJBady7bRFtndSVs8J1AEd7o6QH43Rg2ckja3KH/DsopKCVomH7wTFikghs1y9DtJhdW3P1BUJXQdnkBEbRL", "op": "metabase PUT"} debug session/executor.go:30 serving request... {"component": "SessionService", "request": "Create"} panic: runtime error: integer divide by zero goroutine 4840 [running]: github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*distributedTarget).Close(0xc00153b500) github.com/nspcc-dev/neofs-node/pkg/services/object/put/distributed.go:154 +0xd25 github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*readyObjectPayloadWriter).Close(0x1e06970?) github.com/nspcc-dev/neofs-node/pkg/services/object/put/slice.go:121 +0x1b github.com/nspcc-dev/neofs-sdk-go/object/slicer.writeInMemObject({0x1401190, 0xc003023b30}, {0x1401158, _}, {_, _}, {0xc00300ebd0, 0xc000634f80, 0xc000294ee0, {0x0, ...}}, ...) github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:656 +0x353 github.com/nspcc-dev/neofs-sdk-go/object/slicer.(*PayloadWriter)._writeChild(0xc00016f448, {0x1401190, 0xc003023b30}, {0x3e8, {0x14031c0, 0xc00073c480}, {0x1403200, 0xc001aea640}}, {0xc00081d520, 0x1, ...}, ...) github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:556 +0x326 github.com/nspcc-dev/neofs-sdk-go/object/slicer.(*PayloadWriter).writeLastChild(...) github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:508 github.com/nspcc-dev/neofs-sdk-go/object/slicer.(*PayloadWriter).Close(0xc00081d5d8?) github.com/nspcc-dev/neofs-sdk-go@v1.0.0-rc.12.0.20240809202351-256513c1b29b/object/slicer/slicer.go:483 +0x30a github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*slicingTarget).Close(0xc001656e40) github.com/nspcc-dev/neofs-node/pkg/services/object/put/slice.go:87 +0x32 github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*validatingTarget).Close(0xc0030239e0?) github.com/nspcc-dev/neofs-node/pkg/services/object/put/validation.go:147 +0x92 github.com/nspcc-dev/neofs-node/pkg/services/object/put.(*Streamer).Close(0xc001b701e0) github.com/nspcc-dev/neofs-node/pkg/services/object/put/streamer.go:269 +0x3e github.com/nspcc-dev/neofs-node/pkg/services/object/put/v2.(*streamer).CloseAndRecv(0xc001648400) github.com/nspcc-dev/neofs-node/pkg/services/object/put/v2/streamer.go:109 +0x54 github.com/nspcc-dev/neofs-node/pkg/services/object/acl/v2.putStreamBasicChecker.CloseAndRecv(...) github.com/nspcc-dev/neofs-node/pkg/services/object/acl/v2/service.go:593 github.com/nspcc-dev/neofs-node/pkg/services/object.(*ResponseService).Put.func2() github.com/nspcc-dev/neofs-node/pkg/services/object/response.go:87 +0x1c github.com/nspcc-dev/neofs-node/pkg/services/util/response.(*ClientMessageStreamer).CloseAndRecv(0xc001d7c9a8) github.com/nspcc-dev/neofs-node/pkg/services/util/response/client_stream.go:30 +0x22 github.com/nspcc-dev/neofs-node/pkg/services/object.(*putStreamResponser).CloseAndRecv(0xc000068a90) github.com/nspcc-dev/neofs-node/pkg/services/object/response.go:67 +0x25 github.com/nspcc-dev/neofs-node/pkg/services/object.(*SignService).Put.func2() github.com/nspcc-dev/neofs-node/pkg/services/object/sign.go:98 +0x1c github.com/nspcc-dev/neofs-node/pkg/services/util.(*RequestMessageStreamer).CloseAndRecv(0xc003023b90) github.com/nspcc-dev/neofs-node/pkg/services/util/sign.go:90 +0x38 github.com/nspcc-dev/neofs-node/pkg/services/object.(*putStreamSigner).CloseAndRecv(0x13edf20?) github.com/nspcc-dev/neofs-node/pkg/services/object/sign.go:78 +0x1a github.com/nspcc-dev/neofs-node/pkg/services/object.putStreamMetric.CloseAndRecv({{0x13fa4d8, 0xc000068a98}, {0x140eab8, 0xc000322508}, {0xc1d28e269b04f4d3, 0x108cae82f0, 0x1e2b260}}) github.com/nspcc-dev/neofs-node/pkg/services/object/metrics.go:162 +0x45 github.com/nspcc-dev/neofs-node/pkg/network/transport/object/grpc.(*Server).Put(0xc0001d3310, {0x1408ce0, 0xc000046610}) github.com/nspcc-dev/neofs-node/pkg/network/transport/object/grpc/service.go:80 +0x194 github.com/nspcc-dev/neofs-api-go/v2/object/grpc._ObjectService_Put_Handler({0x10f6ca0?, 0xc0001d3310}, {0x14058b8, 0xc00040c870}) github.com/nspcc-dev/neofs-api-go/v2@v2.14.1-0.20240827150555-5ce597aa14ea/object/grpc/service_grpc.pb.go:714 +0xd8 google.golang.org/grpc.(*Server).processStreamingRPC(0xc00013f200, {0x1401190, 0xc003023a40}, {0x1409e00, 0xc0015ee180}, 0xc00393e6c0, 0xc00160baa0, 0x1e19b20, 0x0) google.golang.org/grpc@v1.64.1/server.go:1673 +0x1208 google.golang.org/grpc.(*Server).handleStream(0xc00013f200, {0x1409e00, 0xc0015ee180}, 0xc00393e6c0) google.golang.org/grpc@v1.64.1/server.go:1794 +0xe3a google.golang.org/grpc.(*Server).serveStreams.func2.1() google.golang.org/grpc@v1.64.1/server.go:1029 +0x8b created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 4850 google.golang.org/grpc@v1.64.1/server.go:1040 +0x125 ```
sami 2025-12-28 17:22:32 +00:00
Author
Owner

@cthulhu-rider commented on GitHub (Dec 24, 2024):

does meta-on-chain feature is enabled in tested containers? @evgeniiz321

@cthulhu-rider commented on GitHub (Dec 24, 2024): does meta-on-chain feature is enabled in tested containers? @evgeniiz321
Author
Owner

@carpawell commented on GitHub (Dec 24, 2024):

enabled in tested containers

Wow, that is also a bug, will fix.

@carpawell commented on GitHub (Dec 24, 2024): > enabled in tested containers Wow, that is also a bug, will fix.
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#1306
No description provided.