Donate Share

Freevo - Home Theatre PC Platform

Tracker: Bugs

5 crashes on empty mpeg files - ID: 2392037
Last Update: Settings changed ( tack )

hi, sometimes my DVB-T gadget fails to tune, and creates broken files, or
empty files with .mpeg extension; this triggers crashes in kaa.metadata, as
follows

2008-12-05 08:56:38,656 ERROR parse error
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/kaa/metadata/factory.py", line
149, in create_from_file
return parser(file)
File "/usr/lib/python2.5/site-packages/kaa/metadata/video/mpeg.py", line
153, in __init__
if not self.isMPEG(file):
File "/usr/lib/python2.5/site-packages/kaa/metadata/video/mpeg.py", line
510, in isMPEG
self.length = self.get_length()
File "/usr/lib/python2.5/site-packages/kaa/metadata/video/mpeg.py", line
859, in get_length
end = self.get_endpos()
File "/usr/lib/python2.5/site-packages/kaa/metadata/video/mpeg.py", line
839, in get_endpos
file.seek(min(size-self.__sample_size__,0))
IOError: [Errno 22] Invalid argument


2008-12-05 09:10:52,165 ERROR parser error
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/kaa/metadata/factory.py", line
198, in create_from_file
return self.get_class(e[R_CLASS])(file)
File "/usr/lib/python2.5/site-packages/kaa/metadata/video/mp4.py", line
182, in __init__
(size,type) = unpack('>I4s',h)
File "/usr/lib/python2.5/struct.py", line 87, in unpack
return o.unpack(s)
error: unpack requires a string argument of length 8

I attach two patches for the above.


A C G Mennucc ( mennucc ) - 2008-12-05 08:21

5

Closed

Fixed

Dirk Meyer

kaa.metadata

kaa svn

Public


Comments ( 3 )

Date: 2009-05-17 17:06
Sender: tackProject Admin

Fix committed to svn. Thanks!


Date: 2008-12-05 08:26
Sender: mennucc

one correction:
> sometimes my DVB-T gadget fails to tune, and creates broken files, or
> empty files with .mpeg
actually in this case the recording was fine, but it happened that
kaa.metadata tried to parse the file too soon


Date: 2008-12-05 08:24
Sender: mennucc

I started a new recording, and I got a few more

2008-12-05 09:14:01,130 ERROR parser error
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/kaa/metadata/factory.py", line
198, in create_from_file
return self.get_class(e[R_CLASS])(file)
File "/usr/lib/python2.5/site-packages/kaa/metadata/image/bmp.py", line
55, in __init__
struct.unpack('<2sIIIIII', file.read(26))
File "/usr/lib/python2.5/struct.py", line 87, in unpack
return o.unpack(s)
error: unpack requires a string argument of length 26



2008-12-05 09:14:01,100 ERROR parser error
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/kaa/metadata/factory.py", line
198, in create_from_file
return self.get_class(e[R_CLASS])(file)
File "/usr/lib/python2.5/site-packages/kaa/metadata/video/real.py", line
53, in __init__
(object_id,object_size,object_version) = struct.unpack('>4sIH',h)
File "/usr/lib/python2.5/struct.py", line 87, in unpack
return o.unpack(s)
error: unpack requires a string argument of length 10



2008-12-05 09:14:00,912 ERROR parser error
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/kaa/metadata/factory.py", line
198, in create_from_file
return self.get_class(e[R_CLASS])(file)
File "/usr/lib/python2.5/site-packages/kaa/metadata/video/mp4.py", line
182, in __init__
(size,type) = unpack('>I4s',h)
File "/usr/lib/python2.5/struct.py", line 87, in unpack
return o.unpack(s)
error: unpack requires a string argument of length 8


Those can be fixed as I did in m4a.diff


Attached Files ( 2 )

Filename Description Download
m4a.diff Download
mpeg.diff Download

Changes ( 8 )

Field Old Value Date By
close_date - 2009-05-17 17:06 tack
status_id Open 2009-05-17 17:06 tack
resolution_id None 2009-05-17 17:06 tack
allow_comments 1 2009-05-17 17:06 tack
assigned_to nobody 2008-12-16 19:16 duncanwebb
artifact_group_id None 2008-12-16 19:16 duncanwebb
File Added 304151: mpeg.diff 2008-12-05 08:22 mennucc
File Added 304149: m4a.diff 2008-12-05 08:21 mennucc