I am trying to fix a breakage where somehow we end up getting a node of 12
length from getfnode(). Understanding the hgtagsfnodescache code, it seems
highly unlikely that it can happen unless one of mctx.readfast().get() or
ctx.filenode() is returning a node of 12 length.
For safety, I think it's better to add a check to make sure that record which we
are parsing is of same length we are expecting otherwise we consider that as
invalid record.