[mythtv-commits] Ticket #13461: Playback of Blu-Ray ISO file with mythfrontend encounters SEEK_SET failure at the file position of 2GB preventing further playback

MythTV noreply at mythtv.org
Tue Jun 11 20:11:21 UTC 2019


#13461: Playback of Blu-Ray ISO file with mythfrontend encounters SEEK_SET failure
at the file position of 2GB preventing further playback
-------------------------------------------+--------------------------
     Reporter:  robertlwatson              |      Owner:  JYA
         Type:  Patch - Bug Fix            |     Status:  new
     Priority:  minor                      |  Milestone:  needs_triage
    Component:  MythTV - Blu-ray Playback  |    Version:  v29-fixes
     Severity:  medium                     |   Keywords:
Ticket locked:  0                          |
-------------------------------------------+--------------------------
 The problem I am reporting does *not* affect playing Blu-Ray optical disks
 as done by mythfrontend main menu “Optical Disks” -> “Play Optical Disc”.
 Nor does it seem to effect large DVD ISO’s (i.e. larger than 2GB). The
 only time
 I have seen this bug is when using the ISO file.\\

 I recently created an ISO of Blu-Ray disk (dd if=/dev/sr0 of=MyDisc.iso)
 and put the resulting ISO in the /var/lib/mythtv/videos/ directory. I was
 pleased to see that mythfrontend would happily play this ISO (after
 sorting out libaacs0 and KEYDB.cfg) but every time the playback got to
 11m19s, playback abruptly halted and mythfrontend went back to the
 ‘Videos’ menu. At that time the mythfrontend process had logged several
 messages like this:\\

 mythfrontend.real: mythfrontend[29854]: E Decoder fileringbuffer.cpp:892
 (SeekInternal) FileRingBuf(myth://Videos@<backendName>/<MyDisc>.iso):
 Seek(-2147483648, SEEK_SET) Failed eno: Invalid argument (22)\\

 Please note the message above is the first of 10 or so in a burst.
 -2147483648 is suspicious because it is 0x8000000 in hexadecimal which
 smells like 32 bit integer overflow. The other seeks are in sequence and
 further into integer overflow.\\

 A similar message occurs if you try to ‘jump’ past the 2GB point during
 playback. For example if you are at the 8 minute point in playback and
 attempt to skip forward using the right arrow key. The same message is
 issued, but to state the obvious, the seek position is different.\\

 Investigation of this message revealed that the fault is in fact one of
 signed 32-bit integer overflow resulting in a bad seek address. I have
 tested a proposed fix and found it to work fine. No side effects observed.
 A patch is attached to this bug. I propose this patch as a fix for this
 bug.\\

 This bug was observed in ‘fixes/0.29’. Looking at master, this bug is
 still present.

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


More information about the mythtv-commits mailing list