I’m not sure what tool produced or manipulated it, but I recently came across a mobi7 file that contains several FONT sections with no data in them. This book is viewable in Calibre and Amazon applications, but caused mobi-unpack to fail. I mention this as a “heads up” in case others come across this sort of malformed file.
FYI: The error occurs in the struct.unpack_from call following elif type == "FONT" in mobi_unpack.py. I patched my copy to skip it if the data length is too short.