here is my config:
`
log, err := wal.Open("/tmp/wal/tidwall", &wal.Options{
SegmentSize: 128 * 1024 * 1024,
SegmentCacheSize: 1,
})
`
I start 2 go routine thread read segment data rand, and painc when read epos:
`
epos := s.epos[index-s.index]
`
it may caused by evicted itself when pushCache? LUR algorithm may could not put the segment specifying by segIdx to cache when this segment frequency less than others.