Opened 6 years ago

Last modified 4 years ago

#13627 closed Bug Report - General

mytharchivehelper calls QList without error handling — at Version 4

Reported by: martinscharnke Owned by:
Priority: minor Milestone: needs_triage
Component: MythTV - General Version: v31-fixes
Severity: medium Keywords: mytharchivehelper QList coredump
Cc: Ticket locked: no

Description (last modified by Bill Meek)

Tested with DVB-T recordings, it seems mytharchivehelper doesn't trap range errors before calling Qlist, and Qlist spits a core dump.

example mythburn.log extract appended:


Pre-processing recording 1: '/mnt/Storage3/MythTVRecordings/1092_20200502114700.ts'
[mpegts @ 0x5649a7b0bdc0] write_section_data: PID 0x322 CRC error
[mp3float @ 0x5649a7b0c780] Header missing
[mpegts @ 0x5649a7b0bdc0] start time for stream 3 is not set in estimate_timings_from_pts
[mpegts @ 0x5649a7b0bdc0] PES packet size mismatch
[mpegts @ 0x5649a7b0bdc0] PES packet size mismatch
Input #0, mpegts, from '/mnt/Storage3/MythTVRecordings/1092_20200502114700.ts':
  Duration: 02:59:48.71, start: 14200.123022, bitrate: 2653 kb/s
    Stream #0:0[0x200]: Video: mpeg2video (Main), yuv420p(tv, top first), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x2c6](eng): Audio: mp2, 48000 Hz, stereo, fltp, 192 kb/s
    Stream #0:2[0x240](eng): Subtitle: dvb_teletext
Codec 0x17813 is not in the full list.
    Stream #0:3[0x322]: Data: unknown_codec
ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 552
Aborted (core dumped)
************************************************************
ERROR: Failed while running mytharchivehelper to get stream information.
Result: 134, Command was mytharchivehelper -q -q --getfileinfo --infile "/mnt/Storage3/MythTVRecordings/1092_20200502114700.ts" --outfile "/home/martin/mytharctemp/work/1/streaminfo.xml" --method 0
See mythburn.log for more information.
************************************************************

Change History (4)

comment:1 by jpilk, 6 years ago

Failures like this, with a 'difficult' recording, could often be avoided by using the Project-X option in MythArchive. While it would be nice to have it fixed properly, the workaround might be worth a try.

comment:2 by martinscharnke, 6 years ago

I actually *always* use Project-X for my cutlist processing, because I also want to preserve subtitles. mythburn.py doesn't get the chance to invoke Project-X, because mytharchivehelper fails.

comment:3 by martinscharnke, 6 years ago

Seeking to find a way to patch mytharchivehelper has led me to dependency hell. I can't compile mythplugins without a compiled mythtv. I can't compile mythtv without taglib 1.7 or greater. Taglib is indeed installed but generates errors when called by mythtv configure due to calls of log10 function ... can anybody share the secret sauce (or source!) that allows me to build mythtv so that I can start attacking the issue of patching mytharchivehelper?

comment:4 by Bill Meek, 6 years ago

Description: modified (diff)

Not so secret: https://github.com/MythTV/ansible. If taglib is installed, then is the dev package? E.g. libtag1-dev.

Note: See TracTickets for help on using tickets.