[mythtv-commits] Ticket #12772: Crash in Recorded.getProgram() for recordings without bookmark after upgrade to 0.28

MythTV noreply at mythtv.org
Sat May 14 23:40:38 UTC 2016


#12772: Crash in Recorded.getProgram() for recordings without bookmark after
upgrade to 0.28
---------------------------------------------+----------------------
     Reporter:  Fred Fettinger <fettinge@…>  |      Owner:  wagnerrp
         Type:  Bug Report - Crash           |     Status:  new
     Priority:  minor                        |  Milestone:  unknown
    Component:  Bindings - Python            |    Version:  0.28.0
     Severity:  medium                       |   Keywords:
Ticket locked:  0                            |
---------------------------------------------+----------------------
 My backend is running on a banana pi, I'm using the compiled myth packages
 from deb-multimedia.org:
 deb http://www.deb-multimedia.org jessie main non-free
 deb http://www.deb-multimedia.org jessie-backports main

 mythtv-backend and related packages all have the version 0.28-dmo6~bpo8+2

 I encountered this crash after upgrading from 0.27 to 0.28 in a script I
 use which exports shows as a video and then deletes the original program,
 since Recorded.delete() calls Recorded.getProgram(). But, you can
 essentially simplify this down to the following, which will fail for any
 recording where a bookmark has not been set.
 {{{
 #!python
 db = MythDB()
 rec = Recorded((chanid, starttime), db=db)
 rec.getProgram()
 }}}

 I get the following error message:
 {{{
   File "/etc/mythtv/mythvidexport.py", line 71, in __init__
     self.rec.getProgram()
   File "/usr/lib/python2.7/dist-packages/MythTV/dataheap.py", line 377, in
 getProgram
     return Program.fromRecorded(self)
   File "/usr/lib/python2.7/dist-packages/MythTV/mythproto.py", line 946,
 in fromRecorded
     return be.getRecording(rec.chanid, rec.starttime)
   File "/usr/lib/python2.7/dist-packages/MythTV/mythproto.py", line 647,
 in getRecording
     return Program(res[1:], db=self.db)
   File "/usr/lib/python2.7/dist-packages/MythTV/mythproto.py", line 875,
 in __init__
     DictData.__init__(self, raw)
   File "/usr/lib/python2.7/dist-packages/MythTV/altdict.py", line 147, in
 __init__
     data = self._process(data)
   File "/usr/lib/python2.7/dist-packages/MythTV/altdict.py", line 164, in
 _process
     data[i] = self._trans[self._field_type[i]](v)
   File "/usr/lib/python2.7/dist-packages/MythTV/altdict.py", line 103, in
 <lambda>
     lambda x: datetime.fromtimestamp(x, datetime.UTCTZ())\
   File "/usr/lib/python2.7/dist-packages/MythTV/utility/dt.py", line 304,
 in fromtimestamp
     obj = super(datetime, cls).fromtimestamp(float(timestamp), tz)
 ValueError: timestamp out of range for platform time_t
 }}}

 As of MYTH_PROTO_VERSION 88, bookmarkupdate is the last item in the
 response to QUERY_RECORDING TIMESLOT. For some reason, this is always
 '4294967295' (0xffffffff) for any recordings without bookmarks on my
 setup, despite the fact that the bookmarkupdate column is 0 for these
 programs in the database.

 Is there any logging that I can enable in mythbackend to find the cause? I
 did a quick check of the libmyth source code but I didn't see anything
 suspicious.

--
Ticket URL: <https://code.mythtv.org/trac/ticket/12772>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list