[mythtv-commits] Ticket #8367: Log storm from bad h264 decoded video

MythTV mythtv at cvs.mythtv.org
Wed Apr 21 21:31:30 UTC 2010


#8367: Log storm from bad h264 decoded video
-------------------------------------------+--------------------------------
 Reporter:  Robin Gilks <g8ecj@…>          |        Owner:  janne  
     Type:  defect                         |       Status:  new    
 Priority:  minor                          |    Milestone:  unknown
Component:  MythTV - Video Playback        |      Version:  0.23rc2
 Severity:  medium                         |   Resolution:         
  Mlocked:  0                              |  
-------------------------------------------+--------------------------------
Changes (by kevin.wells@…):

  * status:  closed => new
  * resolution:  duplicate =>


Comment:

 #6729 is locked so I can't submit changes there! So I'll add them here
 instead.

 High frequency log messages were a big problem for me in 0.22.
 Messages were logged so frequently that it prevented MythTV working
 reliably.
 My system was spending most of its time flushing to disk (presumably a
 flush for each line written to the log file).

 After a short time my `mythbackend.log` file was 143MiB and 1,183,981 out
 of 1,161,018 lines contained errors like this:

 {{{
         2009-12-31 00:32:53.547 [h264 @ 0x7fa3038b7820]number of reference
 \
                 frames exceeds max (probably corrupt input), discarding
 one
 }}}

 In my opinion if the same message is repeated many times it should be
 logged like this:

 {{{
         2009-12-31 00:32:53.547 [h264 @ 0x7fa3038b7820]number of reference
 \
                 frames exceeds max (probably corrupt input), discarding
 one
         2009-12-31 00:32:57.530 last message repeated 152 times
 }}}

 This means the error is still logged, but when the frequency of logging is
 very high the system will not lock up as a result.

 There is code in `av_log_default_callback` to handle repeated messages,
 but no code in `myth_av_log`` or ``my_av_print``.
 The `log_count_repeats_24221.patch` above adds support for counting of
 repeated messages to `myth_av_log` and `my_av_print`.

 ''Warning'' - I have been using this code without any problems since Dec
 2009 (against revision 23245 and Ubuntu `mythtv-0.22.0+fixes22594`).
 Today I modified the patch to work on Trunk as at revision 24221, tested
 that it ''compiled'', and submitted it.
 I have not ''run'' the code built from Trunk because of VDPAU related
 linking problems.

 ''Future work'' - There is code to handle repeated log messages in
 `libs/libavutil/log.c`, `libs/libmyth/mythcontext.cpp`,
 `libs/libmythtv/avformatdecoder.cpp`, and
 `programs/mythtranscode/mpeg2fix.cpp`.
 Perhaps this could should be re-factored into a single function.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/8367#comment:3>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list