Two MP3 files in my collection cause positron to crash during database record
read. This means I can't do much of anything if these mp3s are added to the
database. I can't for the life of me figure out how these two files are
different from the rest. They are similar in that they are very short, but I
have shorter ones that cause no problems. They are both from albums that have
identical id3 tags other than the titles and track numbers. Both mp3s play
normally on my computer.
Here is the error:
---------------------
Traceback (most recent call last):
File "/usr/bin/positron", line 153, in ?
main(sys.argv)
File "/usr/bin/positron", line 138, in main
cmd.run(config, myNeuros, remaining[1:])
File "/usr/lib/python2.2/site-packages/positron/cmd_rebuild.py", line 112, in
run
audio_db.pack(util.cmp_records)
File "/usr/lib/python2.2/site-packages/positron/db/WOID.py", line 297, in pack
records = [r for r in self.get_records() if r != None]
File "/usr/lib/python2.2/site-packages/positron/db/WOID.py", line 125, in
get_records
if not self.mdb.is_record_deleted_at(pointer[0])]
File "/usr/lib/python2.2/site-packages/positron/db/WOID.py", line 82, in
_get_record_at
mdb_record = self.mdb.read_record_at(pointer)[0]
File "/usr/lib/python2.2/site-packages/positron/db/MDB.py", line 225, in
read_record_at
(value, ) = struct.unpack(fmt, item)
struct.error: unpack str size does not match format
------------------------
I took a look at the values of fmt and item when the error occurs, and it looks
like it's expecting to make an unsigned integer out of a string of length 4, but
when the error occurs, the string is of length 2.
I will attach the files involved.