[mythtv-commits] Ticket #12650: 0 byte fan art causes segmentation fault

MythTV noreply at mythtv.org
Sun Apr 10 19:38:42 UTC 2016


#12650: 0 byte fan art causes segmentation fault
-----------------------------------------+-----------------------------
 Reporter:  jflatt@…                     |          Owner:  jyavenard
     Type:  Bug Report - Crash           |         Status:  new
 Priority:  minor                        |      Milestone:  0.28
Component:  MythTV - Video Library       |        Version:  Master Head
 Severity:  medium                       |     Resolution:
 Keywords:  0 byte fanart fan art crash  |  Ticket locked:  0
-----------------------------------------+-----------------------------

Comment (by rsiddons):

 This is reproducible on Master as of 10-Apr (2e98fb583) and is related to
 98bec5c83.

 When the File Transfer fails, !HandleAnnounce deletes the !FileTransfer
 (decrements to 0). However a socket disconnection always occurs and
 MainServer::connectionClosed also tries to clean it up because it is still
 in the fileTransferList.

 If !HandleAnnounce really needs to delete ft then it should also remove it
 from fileTransferList.

 However it seems simpler to leave it to the be cleaned up by the
 disconnection.
 Attached patch does this and prevents the crash.

 With patch:

 Frontend log
 {{{
 20:30:06.930006 I  RemoteFile::FindFile(): looking for
 '/tmdb3.py_10693_coverart.jpg' on 'study' in group 'Coverart' (useregex:
 0, allowfallback: 0)
 20:30:06.969346 E  RemoteFile::openSocket(file data socket): Failed to
 open socket, error was filetransfer_unable_to_open_file

 20:30:06.975010 D
 RemoteFile(myth://Coverart@study/tmdb3.py_10693_coverart.jpg)
 20:30:06.975045 I  RemoteFile::Exists(): looking for remote file:
 myth://Coverart@study/tmdb3.py_10693_coverart.jpg}}}
 }}}

 Backend log:
 {{{
 20:30:06.957294 I  MainServer: LocalFilePath(/tmdb3.py_10693_coverart.jpg
 'tmdb3.py_10693_coverart.jpg'), found file through exhaustive search at
 '/home/archive/myth/recordings//tmdb3.py_10693_coverart.jpg'
 20:30:06.967560 E
 FileRingBuf(/home/archive/myth/recordings//tmdb3.py_10693_coverart.jpg):
 OpenFile(): File too small (0B).
 20:30:06.967610 I
 FileRingBuf(/home/archive/myth/recordings//tmdb3.py_10693_coverart.jpg):
 OpenFile() made 1 attempts in 10 ms
 20:30:06.967632 I
 RingBuf(/home/archive/myth/recordings//tmdb3.py_10693_coverart.jpg):
 CalcReadAheadThresh(8000 Kb)
                          -> threshhold(3584 KB) min read(320 KB) blk
 size(128 KB)
 20:30:06.968531 E  MainServer: Can't open
 /home/archive/myth/recordings//tmdb3.py_10693_coverart.jpg
 20:30:06.969095 I  FileTransfer sock(172a260) disconnected
 20:30:06.969124 I  calling StopReads()
 20:30:06.969140 I
 RingBuf(/home/archive/myth/recordings//tmdb3.py_10693_coverart.jpg):
 StopReads()

 20:30:06.975895 I  Playback sock(173ead0) 'study' disconnected
 20:30:06.976508 D  SG(Coverart): FindFile: Searching for
 'tmdb3.py_10693_coverart.jpg'
 20:30:06.976528 D  SG(Coverart): FindFileDir: Checking
 '/home/archive/myth/recordings' for
 '/home/archive/myth/recordings/tmdb3.py_10693_coverart.jpg'
 20:30:06.976564 D  SG(Coverart): FindFile: Found
 '/home/archive/myth/recordings/tmdb3.py_10693_coverart.jpg'
 }}}

--
Ticket URL: <https://code.mythtv.org/trac/ticket/12650#comment:1>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list