[mythtv-commits] Ticket #4398: Changeset 15257 breaks myth backend startup in some cases

MythTV mythtv at cvs.mythtv.org
Mon Dec 31 03:24:47 UTC 2007


#4398: Changeset 15257 breaks myth backend startup in some cases
----------------------------------------+-----------------------------------
 Reporter:  patrickhdonnelly at gmail.com  |       Owner:  dblain 
     Type:  defect                      |      Status:  new    
 Priority:  major                       |   Milestone:  unknown
Component:  upnp                        |     Version:  head   
 Severity:  medium                      |     Mlocked:  0      
----------------------------------------+-----------------------------------
 Some background:

 After applying 15257, my main backend-only server apparently stopped
 working, in that it would never open a listening sicket on 6543. Further
 debugging revealed that it was in fact running in a sort of half-started
 state, stuck spewing *tons* of entries into the upnpmedia table.

 Disabling upnp temporarily fixed the issue.

 Tracking down when the table was created, I found in the same commit a
 function that populates upnpmedia recursively from the directory set at
 'VideoStartupDir' in the settings table; for whatever reason (this has
 always been a backend-only box so maybe it just never got set?), this was
 missing for this host; as a result it apparently started from "/" and
 began indexing there, not ideal but not the end of the world as mythtv is
 a very limited user. Problem is, somewhere along the line I had a symlink
 pointing from a child directory to a parent, resulting in an infinite
 loop, a hung mythbackend, and a shit-load of binlog files on my mysql
 server.

 After manually setting 'VideoStartupDir' to something sane, everything's
 back to usual; however

 a) UPnpCDSVideo::buildFileList needs some sanity checking; it should error
 out or just exit cleanly if VideoStartupDir doesn't exist in the settings
 db
 b) buildFileList absolutely needs to make sure it isn't indexing the same
 directory more than once

 A patch for a is obviously fairly trivial, I'll try and submit something
 to handle b in a couple days, perhaps there's something in QT already to
 iterate over a directory tree?

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/4398>
MythTV <http://svn.mythtv.org/trac>
MythTV


More information about the mythtv-commits mailing list