[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