jocko icon indicating copy to clipboard operation
jocko copied to clipboard

panic: runtime error: slice bounds out of range

Open gooops opened this issue 7 years ago • 1 comments

2017-04-13 22:23:45 [DEBUG] jocko: broker/apply cmd [0] 2017-04-13 22:23:46 [DEBUG] jocko: correlation id [6], request size [29], key [3] 2017-04-13 22:23:46 [DEBUG] jocko: correlation id [0], request size [61], key [1] 2017-04-13 22:23:48 [DEBUG] jocko: correlation id [7], request size [29], key [3] 2017-04-13 22:23:48 [DEBUG] jocko: correlation id [1], request size [61], key [1] 2017-04-13 22:23:50 [DEBUG] jocko: correlation id [8], request size [29], key [3] 2017-04-13 22:23:50 [DEBUG] jocko: correlation id [2], request size [61], key [1] 2017-04-13 22:23:52 [DEBUG] jocko: correlation id [9], request size [29], key [3] 2017-04-13 22:23:52 [DEBUG] jocko: correlation id [3], request size [61], key [1] 2017-04-13 22:23:54 [DEBUG] jocko: correlation id [10], request size [29], key [3] 2017-04-13 22:23:54 [DEBUG] jocko: correlation id [4], request size [61], key [1] 2017-04-13 22:23:54 [DEBUG] jocko: correlation id [0], request size [20], key [3] 2017-04-13 22:23:54 [DEBUG] jocko: correlation id [1], request size [29], key [3] 2017-04-13 22:23:54 [DEBUG] jocko: correlation id [0], request size [238], key [0] panic: runtime error: slice bounds out of range

goroutine 48 [running]: github.com/travisjeffery/jocko/commitlog.(*index).WriteAt(0xc4201f43c0, 0xc4201ed0c0, 0x8, 0x40, 0xa00000, 0x0) /mygo/src/github.com/travisjeffery/jocko/commitlog/index.go:137 +0xf8 github.com/travisjeffery/jocko/commitlog.(*index).WriteEntry(0xc4201f43c0, 0x12, 0x0, 0xbf, 0xbf) /mygo/src/github.com/travisjeffery/jocko/commitlog/index.go:102 +0x159 github.com/travisjeffery/jocko/commitlog.(*CommitLog).Append(0xc420072600, 0xc420092a33, 0xbf, 0xbf, 0x7, 0xc420066e48, 0xc42012e0b8) /mygo/src/github.com/travisjeffery/jocko/commitlog/commitlog.go:130 +0x10f github.com/travisjeffery/jocko.(*Partition).Append(0xc420072580, 0xc420092a33, 0xbf, 0xbf, 0xc420072501, 0x0, 0x0) /mygo/src/github.com/travisjeffery/jocko/jocko.go:120 +0x52 github.com/travisjeffery/jocko/server.(*Server).handleProduce(0xc420056f00, 0xcd0420, 0xc42000e348, 0xc4201d8f68, 0xc4201f3b60, 0xc420206500, 0x0) /mygo/src/github.com/travisjeffery/jocko/server/server.go:428 +0x2db github.com/travisjeffery/jocko/server.(*Server).handleRequest(0xc420056f00, 0xcd0420, 0xc42000e348) /mygo/src/github.com/travisjeffery/jocko/server/server.go:143 +0x8c7 created by github.com/travisjeffery/jocko/server.(*Server).Start.func1 /mygo/src/github.com/travisjeffery/jocko/server/server.go:75 +0x119

gooops avatar Apr 13 '17 14:04 gooops

It seem to rely on an issue within the commitlog index.

Can be reproduced by:

  • start jocko
  • create index
  • restart jocko (so it reads the index time again)
  • invoke a produce command

The issue is propably, that the index is fully allocated at start and persist in a file. This file of the hole size of the index. After reading the file, the index is set to the size of the file. I'll try to get in to understand it correctly.

@travisjeffery do you have some idea of how to set the correct position of the index correctly?

mrcrgl avatar Aug 18 '17 11:08 mrcrgl