Opened 18 years ago

Closed 17 years ago

#2420 closed defect (fixed)

mythreplex segfault

Reported by: anonymous Owned by: Geoffrey Hausheer
Priority: minor Milestone: unknown
Component: mythtv Version: 0.20
Severity: medium Keywords:
Cc: hugh@…, Axel.Thimm@…, superm1@… Ticket locked: no

Description

When trying out MythArchive? from the 0.20 release, and attempting to master and burn a DVD, the process failed at the mythreplex stage. When I manually re-ran the exact mythreplex command it used, I found that it segfaulted:

mythtv@myth:~$ mythreplex --demux  --fix_sync -o /mythtv/mytharchive//work/1/stream -v 224 -a 192 "/mythtv/mytharchive//work/1/newfile.mpg"
Reading from /mythtv/mytharchive//work/1/newfile.mpg
Input file length: 4609.60 MB
Checking for TS: failed
Checking for AVI: failed
Checking for PS: confirmed(maybe)
Video: aspect ratio: 4:3  size = 720x480  frame rate: 29.970 fps  bit rate: 6.00 Mbit/s
  vbvbuffer 1835008
Sequence Extension: chroma 4:2:0   size = 720x480  bit rate: 6.00 Mbit/s  vbvbuffer 1835008  frame rate: 29.970
starting with video PTS:  0:00:00.308
Audiostream: layer: 2  BRate: 384 kb/s  Freq: 48.0 kHz frame size: 1152 ( 0:00:00.024 ) Segmentation fault

I first tried getting a backtrace of the exact binary I ran (despite the lack of debug symbols) as a quick check; however, it seems to suggest stack corruption:

#0  0x0805264b in pes_id_out ()
#1  0xffffffff in ?? ()
#2  0x00000000 in ?? ()

I then rebuilt mythreplex with debug symbols, and obtained the following backtrace:

#0  analyze_audio (p=0xbfbc7134, rx=0xbfbc193c, len=2020, num=0, type=2) at replex.c:205
#1  0x08053dc0 in pes_es_out (p=0xbfbc7134) at replex.c:891
#2  0x080586e9 in get_pes (p=0xbfbc7134, buf=0xbfbb3b34 "", count=55256, func=0x8053a70 <pes_es_out>) at pes.c:358
#3  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb3334 "", count=57304, func=0x8053a70 <pes_es_out>) at pes.c:376
#4  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb2b34 "", count=59352, func=0x8053a70 <pes_es_out>) at pes.c:376
#5  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb2334 "", count=61400, func=0x8053a70 <pes_es_out>) at pes.c:376
#6  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb1b34 "", count=63448, func=0x8053a70 <pes_es_out>) at pes.c:376
#7  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb1334 "", count=65496, func=0x8053a70 <pes_es_out>) at pes.c:376
#8  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb0b34 "", count=67544, func=0x8053a70 <pes_es_out>) at pes.c:376
#9  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb0334 "", count=69592, func=0x8053a70 <pes_es_out>) at pes.c:376
#10 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbafb34 "", count=71640, func=0x8053a70 <pes_es_out>) at pes.c:376
#11 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaf334 "", count=73688, func=0x8053a70 <pes_es_out>) at pes.c:376
#12 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaeb34 "", count=75736, func=0x8053a70 <pes_es_out>) at pes.c:376
#13 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbae334 "", count=77784, func=0x8053a70 <pes_es_out>) at pes.c:376
#14 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbadb34 "", count=79832, func=0x8053a70 <pes_es_out>) at pes.c:376
#15 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbad334 "", count=81880, func=0x8053a70 <pes_es_out>) at pes.c:376
#16 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbacb34 "", count=83928, func=0x8053a70 <pes_es_out>) at pes.c:376
#17 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbac334 "", count=85976, func=0x8053a70 <pes_es_out>) at pes.c:376
#18 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbabb34 "", count=88024, func=0x8053a70 <pes_es_out>) at pes.c:376
#19 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbab334 "", count=90072, func=0x8053a70 <pes_es_out>) at pes.c:376
#20 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaab34 "", count=92120, func=0x8053a70 <pes_es_out>) at pes.c:376
#21 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaa334 "", count=94168, func=0x8053a70 <pes_es_out>) at pes.c:376
#22 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba9b34 "", count=96216, func=0x8053a70 <pes_es_out>) at pes.c:376
#23 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba9334 "", count=98264, func=0x8053a70 <pes_es_out>) at pes.c:376
#24 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba8b34 "", count=100312, func=0x8053a70 <pes_es_out>) at pes.c:376
#25 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba8334 "", count=102360, func=0x8053a70 <pes_es_out>) at pes.c:376
#26 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba7b34 "", count=104408, func=0x8053a70 <pes_es_out>) at pes.c:376
#27 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba7334 "", count=106456, func=0x8053a70 <pes_es_out>) at pes.c:376
#28 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba6b34 "", count=108504, func=0x8053a70 <pes_es_out>) at pes.c:376
#29 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba6334 "", count=110552, func=0x8053a70 <pes_es_out>) at pes.c:376
#30 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba5b34 "", count=112600, func=0x8053a70 <pes_es_out>) at pes.c:376
#31 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba5334 "", count=114648, func=0x8053a70 <pes_es_out>) at pes.c:376
#32 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba4b34 "", count=116696, func=0x8053a70 <pes_es_out>) at pes.c:376
#33 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba4334 "", count=118744, func=0x8053a70 <pes_es_out>) at pes.c:376
#34 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba3b34 "", count=120792, func=0x8053a70 <pes_es_out>) at pes.c:376
#35 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba3334 "", count=122840, func=0x8053a70 <pes_es_out>) at pes.c:376
#36 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba2b34 "", count=124888, func=0x8053a70 <pes_es_out>) at pes.c:376
#37 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba2334 "", count=126936, func=0x8053a70 <pes_es_out>) at pes.c:376
#38 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba1b34 "", count=128984, func=0x8053a70 <pes_es_out>) at pes.c:376
#39 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba1334 "", count=131032, func=0x8053a70 <pes_es_out>) at pes.c:376
#40 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba0b34 "", count=133080, func=0x8053a70 <pes_es_out>) at pes.c:376
#41 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba0334 "", count=135128, func=0x8053a70 <pes_es_out>) at pes.c:376
#42 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9fb34 "", count=137176, func=0x8053a70 <pes_es_out>) at pes.c:376
#43 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9f334 "", count=139224, func=0x8053a70 <pes_es_out>) at pes.c:376
#44 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9eb34 "", count=141272, func=0x8053a70 <pes_es_out>) at pes.c:376
#45 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9e334 "", count=143320, func=0x8053a70 <pes_es_out>) at pes.c:376
#46 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9db34 "", count=145368, func=0x8053a70 <pes_es_out>) at pes.c:376
#47 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9d334 "", count=147416, func=0x8053a70 <pes_es_out>) at pes.c:376
#48 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9cb34 "", count=149464, func=0x8053a70 <pes_es_out>) at pes.c:376
#49 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9c334 "", count=151512, func=0x8053a70 <pes_es_out>) at pes.c:376
#50 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9bb34 "", count=153560, func=0x8053a70 <pes_es_out>) at pes.c:376
#51 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9b334 "", count=155608, func=0x8053a70 <pes_es_out>) at pes.c:376
---Type <return> to continue, or q <return> to quit---
#52 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9ab34 "", count=157656, func=0x8053a70 <pes_es_out>) at pes.c:376
#53 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9a334 "", count=159704, func=0x8053a70 <pes_es_out>) at pes.c:376
#54 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb99b34 "", count=161752, func=0x8053a70 <pes_es_out>) at pes.c:376
#55 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb99334 "", count=163800, func=0x8053a70 <pes_es_out>) at pes.c:376
#56 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb98b34 "", count=165848, func=0x8053a70 <pes_es_out>) at pes.c:376
#57 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb98334 "", count=167896, func=0x8053a70 <pes_es_out>) at pes.c:376
#58 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb97b34 "", count=169944, func=0x8053a70 <pes_es_out>) at pes.c:376
#59 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb97334 "", count=171992, func=0x8053a70 <pes_es_out>) at pes.c:376
#60 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb96b34 "", count=174040, func=0x8053a70 <pes_es_out>) at pes.c:376
#61 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb96334 "", count=176088, func=0x8053a70 <pes_es_out>) at pes.c:376
#62 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb95b34 "", count=178136, func=0x8053a70 <pes_es_out>) at pes.c:376
#63 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb95334 "", count=180184, func=0x8053a70 <pes_es_out>) at pes.c:376
#64 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb94b34 "", count=182232, func=0x8053a70 <pes_es_out>) at pes.c:376
#65 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb94334 "", count=184280, func=0x8053a70 <pes_es_out>) at pes.c:376
#66 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb93b34 "", count=186328, func=0x8053a70 <pes_es_out>) at pes.c:376
#67 0x08058661 in get_pes (p=0xbfbc7134,
    buf=0xbfb934ac "��\004\231\200F���3n4bp\023V#*\214�\t\177\214O0\237\220\027\a\201>%X\2150��\036yĮ?}\220\036i\036\033\036\235\202X�\020'�\f�R\033�rGgg\035\235��\220\204�ubҶ\026�Q\f�C0_��7\026\025Q�I\b\230Z�(��\017$��Bz�\234", count=188000, func=0x8053a70 <pes_es_out>) at pes.c:376
#68 0x08054590 in replex_fill_buffers (rx=0xbfbc193c, mbuf=0xbfbc1754 "") at replex.c:1603
#69 0x08055eaf in init_replex (rx=0xbfbc193c) at replex.c:1867
#70 0x08056928 in main (argc=0, argv=0x0) at replex.c:2422

"bt full":

#0  analyze_audio (p=0xbfbc7134, rx=0xbfbc193c, len=2020, num=0, type=2) at replex.c:205
        diff = -4630704631830282240
        c = 0
        pos = 0
        aframe = (audio_frame_t *) 0xbfbc69ac
        iu = (index_unit *) 0xbfbc5eac
        rbuf = (ringbuffer *) 0xbfbc64ac
        index_buf = (ringbuffer *) 0xbfbc66ac
        acount = (uint64_t *) 0xbfbc68ac
        fpts = (uint64_t *) 0xbfbc6eac
        lpts = (uint64_t *) 0xbfbc702c
        bsize = 629145
        first = 1
        buf = "���\000\000\000"
        off = 0
        apes_abort = (int *) 0xbfbc642c
        re = 0
#1  0x08053dc0 in pes_es_out (p=0xbfbc7134) at replex.c:891
        hl = <value optimized out>
        rx = (struct replex *) 0xbfbc193c
        t = "Audio0 \000<\031���\a\000\000\000\000\000\000<\"\\�V�\005\000\000\001\000\001\037r�\001�r���r���\a\000\000|�\005\b�r��4q��<\031��Video \000�<\031���\a\000"
        len = <value optimized out>
        i = <value optimized out>
        l = 0
#2  0x080586e9 in get_pes (p=0xbfbc7134, buf=0xbfbb3b34 "", count=55256, func=0x8053a70 <pes_es_out>) at pes.c:358
        l = 2020
        c = 2048
        headr = "\000\000\001"
#3  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb3334 "", count=57304, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#4  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb2b34 "", count=59352, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#5  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb2334 "", count=61400, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#6  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb1b34 "", count=63448, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#7  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb1334 "", count=65496, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#8  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb0b34 "", count=67544, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
---Type <return> to continue, or q <return> to quit---
#9  0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbb0334 "", count=69592, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#10 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbafb34 "", count=71640, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#11 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaf334 "", count=73688, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#12 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaeb34 "", count=75736, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#13 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbae334 "", count=77784, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#14 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbadb34 "", count=79832, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#15 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbad334 "", count=81880, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#16 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbacb34 "", count=83928, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#17 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbac334 "", count=85976, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#18 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbabb34 "", count=88024, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#19 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbab334 "", count=90072, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#20 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaab34 "", count=92120, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#21 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfbaa334 "", count=94168, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
---Type <return> to continue, or q <return> to quit---
#22 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba9b34 "", count=96216, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#23 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba9334 "", count=98264, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#24 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba8b34 "", count=100312, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#25 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba8334 "", count=102360, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#26 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba7b34 "", count=104408, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#27 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba7334 "", count=106456, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#28 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba6b34 "", count=108504, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#29 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba6334 "", count=110552, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#30 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba5b34 "", count=112600, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#31 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba5334 "", count=114648, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#32 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba4b34 "", count=116696, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#33 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba4334 "", count=118744, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#34 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba3b34 "", count=120792, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
---Type <return> to continue, or q <return> to quit---
#35 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba3334 "", count=122840, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#36 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba2b34 "", count=124888, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#37 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba2334 "", count=126936, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#38 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba1b34 "", count=128984, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#39 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba1334 "", count=131032, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#40 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba0b34 "", count=133080, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#41 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfba0334 "", count=135128, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#42 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9fb34 "", count=137176, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#43 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9f334 "", count=139224, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#44 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9eb34 "", count=141272, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#45 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9e334 "", count=143320, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#46 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9db34 "", count=145368, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#47 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9d334 "", count=147416, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
---Type <return> to continue, or q <return> to quit---
#48 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9cb34 "", count=149464, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#49 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9c334 "", count=151512, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#50 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9bb34 "", count=153560, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#51 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9b334 "", count=155608, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#52 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9ab34 "", count=157656, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#53 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb9a334 "", count=159704, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#54 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb99b34 "", count=161752, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#55 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb99334 "", count=163800, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#56 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb98b34 "", count=165848, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#57 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb98334 "", count=167896, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#58 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb97b34 "", count=169944, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#59 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb97334 "", count=171992, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#60 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb96b34 "", count=174040, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
---Type <return> to continue, or q <return> to quit---
#61 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb96334 "", count=176088, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#62 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb95b34 "", count=178136, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#63 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb95334 "", count=180184, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#64 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb94b34 "", count=182232, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#65 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb94334 "", count=184280, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#66 0x08058661 in get_pes (p=0xbfbc7134, buf=0xbfb93b34 "", count=186328, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 2048
        headr = "\000\000\001"
#67 0x08058661 in get_pes (p=0xbfbc7134,
    buf=0xbfb934ac "��\004\231\200F���3n4bp\023V#*\214�\t\177\214O0\237\220\027\a\201>%X\2150��\036yĮ?}\220\036i\036\033\036\235\202X�\020'�\f�R\033�rGgg\035\235��\220\204�ubҶ\026�Q\f�C0_��7\026\025Q�I\b\230Z�(��\017$��Bz�\234", count=188000, func=0x8053a70 <pes_es_out>) at pes.c:376
        l = <value optimized out>
        c = 1672
        headr = "\000\000\001"
#68 0x08054590 in replex_fill_buffers (rx=0xbfbc193c, mbuf=0xbfbc1754 "") at replex.c:1603
        buf = "��\004\231\200F���3n4bp\023V#*\214�\t\177\214O0\237\220\027\a\201>%X\2150��\036yĮ?}\220\036i\036\033\036\235\202X�\020'�\f�R\033�rGgg\035\235��\220\204�ubҶ\026�Q\f�C0_��7\026\025Q�I\b\230Z�(��\017$��Bz�\234\000�\003F\033\200@\003��c\000�a+��\210���\033���4�;\036O�I\230�< ����~\003�F\237���?�]@\002\000\a;\000�\003-�'\000\035\020\233�#\b\222�\a�\031\023\002J\000�\004��\202\020\004\206t\177�{ѵ"...
        i = <value optimized out>
        j = <value optimized out>
        count = 188000
        fill = <value optimized out>
        re = 188000
        rsize = 188000
        tries = 0
#69 0x08055eaf in init_replex (rx=0xbfbc193c) at replex.c:1867
        i = 0
        mbuf = "\000\000\001�D\000\004\000\004\001\000�w�\000\000\001�\a�\200�\n!\000\003\a�!\000\001�E\000\000\001�-\001�$\016�#\202", '\020' <repeats 28 times>, "   \020\020\020\020\020\020\020", ' ' <repeats 16 times>, "00  000@@P\000\000\001�\024\202\000\001\000\000\000\000\001�\000\b\000@\000\000\001\000\000\217��\000\000\001�\217��\200\000\000\000\001\001\"\213� \023�\rF4g\t��\r��\203�i�7\t\035P\002\035�v�\206\2060IYY\001��\035޻d�vt\223\rF�2\b2a�<J�\032L+\a\201�C���|#�\022�j\n_c"...
#70 0x08056928 in main (argc=0, argv=0x0) at replex.c:2422
        option_index = -1208184844
        c = <value optimized out>
        analyze = 0
        scan = 0
        filename = 0x0
---Type <return> to continue, or q <return> to quit---
        type = 0xbfbc7b5f "/mythtv/mytharchive//work/1/stream"
        inpt = 0x805a016 "SVCD"
        rx = {itype = 1, otype = 0, ignore_pts = 0, keep_pts = 0, fix_sync = 1, inflength = 4833519620, finread = 188376, lastper = 0, avi_rest = 0, avi_vcount = 0,
  fd_in = 6, fd_out = 0, finish = 0, demux = 1, dmx_out = {0 <repeats 41 times>}, analyze = 0, ac = {riff_end = 0, movi_start = 0, movi_length = 0, last_size = 0,
    done = 0, next_frame = 0, ntracks = 0, num_idx_alloc = 0, num_idx_frames = 0, msec_per_frame = 0, avih_flags = 0, total_frames = 0, init_frames = 0, width = 0,
    height = 0, nstreams = 0, vhandler = 0, ahandler = 0, vchunks = 0, achunks = 0, zero_vchunks = 0, zero_achunks = 0, current_idx = 0, vi = {width = 0, height = 0,
      dw_scale = 0, dw_rate = 0, fps = 0, pos_off = 0, initial_frames = 0, dw_start = 0}, ai = {{dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0,
        initial_frames = 0, dw_start = 0, dw_ssize = 0}, {dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0, initial_frames = 0, dw_start = 0,
        dw_ssize = 0}, {dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0, initial_frames = 0, dw_start = 0, dw_ssize = 0}, {dw_scale = 0, dw_rate = 0,
        dw_sample_size = 0, fps = 0, type = 0, initial_frames = 0, dw_start = 0, dw_ssize = 0}, {dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0,
        initial_frames = 0, dw_start = 0, dw_ssize = 0}, {dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0, initial_frames = 0, dw_start = 0,
        dw_ssize = 0}, {dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0, initial_frames = 0, dw_start = 0, dw_ssize = 0}, {dw_scale = 0, dw_rate = 0,
        dw_sample_size = 0, fps = 0, type = 0, initial_frames = 0, dw_start = 0, dw_ssize = 0}, {dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0,
        initial_frames = 0, dw_start = 0, dw_ssize = 0}, {dw_scale = 0, dw_rate = 0, dw_sample_size = 0, fps = 0, type = 0, initial_frames = 0, dw_start = 0,
        dw_ssize = 0}}, idx = 0x0}, vdr = 0, video_delay = 0, audio_delay = 0, audiobuf = 629145, ac3buf = 629145, videobuf = 6291456, ext_count = 0, exttype = {
    0 <repeats 32 times>}, exttypcnt = {0 <repeats 32 times>}, extframe = {{set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0,
      framesize = 0, frametime = 0, off = 0} <repeats 32 times>}, extrbuffer = {{read_pos = 0, write_pos = 0, size = 0, buffer = 0x0} <repeats 32 times>},
  index_extrbuffer = {{read_pos = 0, write_pos = 0, size = 0, buffer = 0x0} <repeats 32 times>}, ac3n = 0, ac3_id = {0, 0, 0, 0, 0, 0, 0, 0}, pac3 = {{type = 0,
      found = 0, withbuf = 0, buf = 0x0, rbuf = 0x0, hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0',
      flag2 = 0 '\0', hlength = 0 '\0', pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}, {type = 0, found = 0,
      withbuf = 0, buf = 0x0, rbuf = 0x0, hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0', flag2 = 0 '\0',
      hlength = 0 '\0', pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}, {type = 0, found = 0, withbuf = 0, buf = 0x0,
      rbuf = 0x0, hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0', flag2 = 0 '\0', hlength = 0 '\0',
      pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}, {type = 0, found = 0, withbuf = 0, buf = 0x0, rbuf = 0x0,
      hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0', flag2 = 0 '\0', hlength = 0 '\0',
      pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}, {type = 0, found = 0, withbuf = 0, buf = 0x0, rbuf = 0x0,
      hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0', flag2 = 0 '\0', hlength = 0 '\0',
      pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}, {type = 0, found = 0, withbuf = 0, buf = 0x0, rbuf = 0x0,
      hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0', flag2 = 0 '\0', hlength = 0 '\0',
      pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}, {type = 0, found = 0, withbuf = 0, buf = 0x0, rbuf = 0x0,
      hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0', flag2 = 0 '\0', hlength = 0 '\0',
      pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}, {type = 0, found = 0, withbuf = 0, buf = 0x0, rbuf = 0x0,
      hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000", flag1 = 0 '\0', flag2 = 0 '\0', hlength = 0 '\0',
      pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0, priv = 0x0}}, current_ac3index = {{active = 0 '\0', length = 0, start = 0,
      pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0', end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0',
      frame_start = 0 '\0', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0, start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0',
      end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0', frame_start = 0 '\0', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0,
      start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0', end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0',
      frame_start = 0 '\0', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0, start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0',
      end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0', frame_start = 0 '\0', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0,
      start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0', end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0',
      frame_start = 0 '\0', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0, start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0',
      end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0', frame_start = 0 '\0', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0,
      start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0', end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0',
      frame_start = 0 '\0', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0, start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0',
      end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0', frame_start = 0 '\0', err = 0 '\0', framesize = 0}}, ac3pes_abort = {0, 0, 0, 0, 0, 0, 0,
    0}, ac3rbuffer = {{read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0,
      size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0,
      write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}},
  index_ac3rbuffer = {{read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0,
      size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0,
      write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0}},
---Type <return> to continue, or q <return> to quit---
  ac3frame_count = {0, 0, 0, 0, 0, 0, 0, 0}, ac3frame = {{set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0, framesize = 0,
      frametime = 0, off = 0}, {set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0, framesize = 0, frametime = 0, off = 0}, {
      set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0, framesize = 0, frametime = 0, off = 0}, {set = 0, layer = 0,
      bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0, framesize = 0, frametime = 0, off = 0}, {set = 0, layer = 0, bit_rate = 0, frequency = 0,
      mode = 0, mode_extension = 0, emphasis = 0, framesize = 0, frametime = 0, off = 0}, {set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0,
      emphasis = 0, framesize = 0, frametime = 0, off = 0}, {set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0, framesize = 0,
      frametime = 0, off = 0}, {set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0, framesize = 0, frametime = 0, off = 0}},
  first_ac3pts = {0, 0, 0, 0, 0, 0, 0, 0}, ac3_state = {0 <repeats 32 times>}, last_ac3pts = {0, 0, 0, 0, 0, 0, 0, 0}, apidn = 1, apid = {192, 0 <repeats 31 times>},
  paudio = {{type = 0, found = 0, withbuf = 0, buf = 0x0, rbuf = 0x0, hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 0 '\0', plength = 0, plen = "\000\000\000",
      flag1 = 0 '\0', flag2 = 0 '\0', hlength = 0 '\0', pts = "\000\000\000\000", dts = "\000\000\000\000", mpeg = 0, done = 0, which = 0,
      priv = 0x0} <repeats 32 times>}, current_aindex = {{active = 0 '\0', length = 0, start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0',
      end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0', frame_start = 1 '\001', err = 0 '\0', framesize = 0}, {active = 0 '\0', length = 0,
      start = 0, pts = 0, dts = 0, seq_header = 0 '\0', seq_end = 0 '\0', gop = 0 '\0', end_seq = 0 '\0', frame = 0 '\0', gop_off = 0 '\0', frame_off = 0 '\0',
      frame_start = 0 '\0', err = 0 '\0', framesize = 0} <repeats 31 times>}, apes_abort = {0 <repeats 32 times>}, arbuffer = {{read_pos = 0, write_pos = 2020,
      size = 629145, buffer = 0xb640e008 "���"}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0} <repeats 31 times>}, index_arbuffer = {{read_pos = 0,
      write_pos = 0, size = 1024000, buffer = 0xb6313008 ""}, {read_pos = 0, write_pos = 0, size = 0, buffer = 0x0} <repeats 31 times>}, aframe_count = {
    0 <repeats 32 times>}, aframe = {{set = 1, layer = 2, bit_rate = 384000, frequency = 48000, mode = 0, mode_extension = 0, emphasis = 0, framesize = 1152,
      frametime = 648000, off = 0}, {set = 0, layer = 0, bit_rate = 0, frequency = 0, mode = 0, mode_extension = 0, emphasis = 0, framesize = 0, frametime = 0,
      off = 0} <repeats 31 times>}, first_apts = {0 <repeats 32 times>}, audio_state = {0 <repeats 32 times>}, last_apts = {0 <repeats 32 times>}, vpid = 224,
  first_iframe = 1, pvideo = {type = 1, found = 2034, withbuf = 1, buf = 0x805fc48 "", rbuf = 0x0, hbuf = '\0' <repeats 259 times>, ini_pos = 0, cid = 192 '�',
    plength = 2028, plen = "\a�\000", flag1 = 128 '\200', flag2 = 128 '\200', hlength = 5 '\005', pts = "!\000\001�!", dts = "\000\000\000\000", mpeg = 2, done = 0,
    which = 0, priv = 0xbfbc193c}, current_vindex = {active = 1 '\001', length = 0, start = 127540, pts = 3603600, dts = 3603600, seq_header = 0 '\0', seq_end = 0 '\0',
    gop = 0 '\0', end_seq = 0 '\0', frame = 3 '\003', gop_off = 0 '\0', frame_off = 80 'P', frame_start = 1 '\001', err = 0 '\0', framesize = 0}, vpes_abort = 0,
  vrbuffer = {read_pos = 0, write_pos = 131585, size = 6291456, buffer = 0xb65a3008 ""}, index_vrbuffer = {read_pos = 0, write_pos = 220, size = 1024000,
    buffer = 0xb64a8008 "\001"}, vframe_count = 5, vgroup_count = 5, seq_head = {set = 1, ext_set = 1, h_size = 720, v_size = 480, aspect_ratio = 133 '\205',
    frame_rate = 29970, bit_rate = 15000, vbv_buffer_size = 112, flags = 2 '\002',
    intra_quant = '\b' <repeats 28 times>, "\020\020\020\b\b\b\b\b\b\b", '\020' <repeats 16 times>, "\030\030\020\020\030\030\030  (",
    non_intra_quant = '\0' <repeats 63 times>, video_format = 2, profile = 72 'H', progressive = 0 '\0', chroma = 1 '\001', pulldown_set = 0 '\0', pulldown = 0 '\0',
    current_frame = 3 '\003', current_tmpref = 4 '\004'}, first_vpts = 8322300, video_state = 0, last_vpts = 3603600, priv = 0x0, scan_found = 0}
        long_options = {{name = 0x8059b88 "type", has_arg = 1, flag = 0x0, val = 116}, {name = 0x805a174 "input_stream", has_arg = 1, flag = 0x0, val = 105}, {
    name = 0x805a181 "video_pid", has_arg = 1, flag = 0x0, val = 118}, {name = 0x805a18b "audio_pid", has_arg = 1, flag = 0x0, val = 97}, {
    name = 0x805a195 "audio_delay", has_arg = 1, flag = 0x0, val = 101}, {name = 0x805a1a1 "video_delay", has_arg = 1, flag = 0x0, val = 100}, {
    name = 0x805a1ad "ac3_id", has_arg = 1, flag = 0x0, val = 99}, {name = 0x805a1b4 "of", has_arg = 1, flag = 0x0, val = 111}, {name = 0x805a1b7 "ignore_PTS",
    has_arg = 1, flag = 0x0, val = 102}, {name = 0x805a1c2 "keep_PTS", has_arg = 1, flag = 0x0, val = 107}, {name = 0x805a1cb "fix_sync", has_arg = 0, flag = 0x0,
    val = 110}, {name = 0x805a1d4 "demux", has_arg = 0, flag = 0x0, val = 122}, {name = 0x805a1da "analyze", has_arg = 1, flag = 0x0, val = 121}, {
    name = 0x805a1e2 "scan", has_arg = 1, flag = 0x0, val = 115}, {name = 0x805a1e7 "vdr", has_arg = 1, flag = 0x0, val = 120}, {name = 0x805a1eb "help", has_arg = 0,
    flag = 0x0, val = 104}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}

Attachments (1)

replex.patch (10.8 KB) - added by gdragon 17 years ago.

Download all attachments as: .zip

Change History (15)

comment:1 Changed 18 years ago by cpinkham

Owner: changed from cpinkham to Geoffrey Hausheer

comment:2 Changed 18 years ago by anonymous

Some additional information which may help: I think this may have something to do with IVTV and embedding VBI in the MPEG file. When I force mytharchive to re-encode, it works fine, but when it attempts to use the original file, it fails.

comment:3 Changed 18 years ago by paulh

Can you provide a small sample file for download that you know doesn't work?

comment:4 Changed 18 years ago by anonymous

Here's a .mpg file with VBI that doesn't work for me.

http://www.filefactory.com/file/bdaba9/

comment:5 Changed 18 years ago by hugh@…

Cc: hugh@… added
Priority: minormajor

The bug is in mythtv-0.20/programs/mythtranscode/replex/element.c

Function get_audio_info calls find_audio_sync. The second arg is an array of 4 bytes. Almost the first thing that find_audio_sync does is clear the first 7 bytes -- oops.

I don't know what the correct code is, but it is clear that this is the cause of the crash.

BTW, a gdb backtrace shows about 85 recusive calls to get_pes(). I expect that this is accurate (but I may be wrong). This seems very wasteful since the recursive call in get_pes is a last-action call and could be turned into iteration very easily. Is there a reason not to do this?

[I just posted a message like this to mythtv-users@… . There are several reports of this crash on that list and on atrpms]

comment:6 Changed 18 years ago by Axel.Thimm@…

Cc: Axel.Thimm@… added

comment:7 Changed 18 years ago by paulh

(In [11294]) Possible fix for #2420. find_audio_sync() was always expecting the buf array passed as a parameter to be 7 bytes but some of the calling functions where only creating 4 and 6 byte arrays.

Also spotted another possible bug where the new fix sync stuff could try to write to the output files before they were opened.

Not sure if it fixes the seg fault or the other reported problems with stack smashing because I couldn't reproduce it even with the sample file provided.

Refs. #2420

comment:8 Changed 18 years ago by Isaac Richards

Priority: majorminor

comment:9 Changed 18 years ago by Isaac Richards

Resolution: fixed
Status: newclosed

Was confirmed fixed on the dev list, AFAICT.

comment:10 Changed 18 years ago by paulh

(In [11365]) Merge [11294] from trunk - Seems to fix the segfault and stack smashing errors - at least no one has reported otherwise. References #2420.

comment:11 Changed 18 years ago by anonymous

I can confirm that the committed change fixes the problem I observed. mythreplex now works here, and as a result MythArchive? now works perfectly for me; thanks for the fix!

  • Original reporter

(Note: not the same anonymous who posted an example file on 9/26.)

comment:12 Changed 18 years ago by anonymous

Cc: superm1@… added

comment:13 in reply to:  10 Changed 17 years ago by gdragon at jetcom dt org

Resolution: fixed
Status: closedreopened

Replying to paulh:

(In [11365]) Merge [11294] from trunk - Seems to fix the segfault and stack smashing errors - at least no one has reported otherwise. References #2420.

I can re-create the segfault in the fixes branch. Looking at the core file it looks again like a crazy recursion and/or smashed stack. There are some fixes at the trunk that did not get merged down. I merged the mythtranscode\replex changes from trunk and the problem is fixed at least for my recording. I can supply it if anyone still wants to look at it, tho i'll have to cut it down, as it's currently a 4 hr recording.

I'll reopen the ticket, and attach the patch from the merge from trunk. Feel free to re-close if noone cares about the fixes branch.

Changed 17 years ago by gdragon

Attachment: replex.patch added

comment:14 Changed 17 years ago by paulh

Resolution: fixed
Status: reopenedclosed

(In [12376]) Apply patch by gdragon. Merges some fixes to mythreplex from trunk into the fixes branch.

Closes #2420.

Note: See TracTickets for help on using tickets.