jarifibrahim commented :
The crash happens because uint32 overflow. The following code is called for every new addition
On line 241, we try to increase the size (len: 4172166119) by 50%
So
x := 4172166119
y := uint32(x + x/2)
y -> 1963281920
and the newly allocated slice by the grow function is less than the original slice (b.buf)
The maximum size of uint32 is around 4 GB. So the question is how could there be a single table of more than 4 GB?