pipelka / vdr-plugin-xvdr

DISCONTINUED - XVDR Plugin for VDR
GNU General Public License v2.0
43 stars 22 forks source link

Playback of decrypted channels (via dvbapi) broken by d07536b89646bbff3b9a0b08029609da7ce797e3 #104

Closed tkurbad closed 11 years ago

tkurbad commented 11 years ago

Hi Alex,

I just did a major upgrade on my VDR/XBMC box and it turned out that with commit d07536b89646bbff3b9a0b08029609da7ce797e3 your xvdr and manio's dvbapi plugin stopped playing well together.

Most of my encrypted DVB-C channels lead to intermittent or immediate crashes of VDR. If I go back one commit, everything's fine.

How should we proceed?

Best, Torsten

pipelka commented 11 years ago

Does this happen on HD or SD channels ? Even for both types ?

tkurbad commented 11 years ago

Since I only have a Pay-TV subscription for HD channels, the only thing I can tell you for sure is that it's happening on encrypted HD channels. The FTA channels are all fine, btw, SD and HD alike.

pipelka commented 11 years ago

It seems strange to me that only encrypted channels are affected. Technically there isn't any difference to the plugin at all.

tkurbad commented 11 years ago

Yeah, I thought so, too. But there seems to be something "wrong" with the encrypted ones, nonetheless.

If you have no objections, I'd like to record a snippet on one of the affected channels for you to analyze. Also, it would be interesting to know, if a record taken with the "working" version of xvdr can be played back with the newer version... Perhaps I'll try that first and let you know about the results.

tkurbad commented 11 years ago

Okay, here we go for some more confusion:

What else could I check?

pipelka commented 11 years ago

There are to opportunities:

What's suspicious to me is that VDR gets restarted (obviously crashes) on the first attempt of a recording.

tkurbad commented 11 years ago

I'll try the gdb approach.

Can you give me some instruction on how to produce a trace there that's valid for you to review?

pipelka commented 11 years ago

First make sure that your VDR compiler flags (Make.config) have debug information enabled (-O2 -g).

I have a script (runvdr.debug) that starts VDR within the debugger (please change the paths to match your setup):

#!/bin/sh
gdb -d [path_to_xvdr_sources] --args ./vdr -L /opt/vdr1.7/lib -c /etc/vdr -l 3 --localedir=/opt/vdr1.7/locale \
    -P"dvbapi -B0 -B1" \
    -P"xvdr"

Start the debug session and wait until it segfaults. Then do a backtrace:

./runvdr.debug
(gdb) run
(gdb) backtrace

That should give enough information to find the bug (hopefully).

tkurbad commented 11 years ago

Here's the backtrace:

vdr@mediagate ~ $ runvdr.debug 
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/vdr...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/vdr --epgfile=/var/vdr/epg.data -l 3 -P dummydevice -Pdvbapi\ -B0 -Pxvdr
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff4e3d700 (LWP 10727)]
[New Thread 0x7ffff463c700 (LWP 10728)]
[Thread 0x7ffff4e3d700 (LWP 10727) exited]
[New Thread 0x7ffff3e3b700 (LWP 10729)]
[Thread 0x7ffff463c700 (LWP 10728) exited]
[New Thread 0x7ffff463c700 (LWP 10732)]
[New Thread 0x7ffff4e3d700 (LWP 10733)]
[New Thread 0x7ffff363a700 (LWP 10734)]
[New Thread 0x7ffff2e39700 (LWP 10735)]
[New Thread 0x7ffff2638700 (LWP 10736)]
[New Thread 0x7ffff1e37700 (LWP 10737)]
[New Thread 0x7ffff1636700 (LWP 10738)]
[New Thread 0x7ffff0e35700 (LWP 10739)]
[Thread 0x7ffff3e3b700 (LWP 10729) exited]
[New Thread 0x7ffff3e3b700 (LWP 10743)]
[New Thread 0x7fffd3fff700 (LWP 10744)]
[Thread 0x7fffd3fff700 (LWP 10744) exited]
[Thread 0x7ffff3e3b700 (LWP 10743) exited]
[New Thread 0x7ffff3e3b700 (LWP 10747)]
[New Thread 0x7fffd3fff700 (LWP 10748)]
[New Thread 0x7fffd37fe700 (LWP 10963)]
[New Thread 0x7fffd2ffd700 (LWP 10982)]
[New Thread 0x7fffd1dfb700 (LWP 10984)]
[Thread 0x7fffd3fff700 (LWP 10748) exited]
[Thread 0x7ffff3e3b700 (LWP 10747) exited]
[New Thread 0x7ffff3e3b700 (LWP 10985)]
[New Thread 0x7fffd15fa700 (LWP 10987)]
[New Thread 0x7fffd3fff700 (LWP 10986)]
[Thread 0x7fffd3fff700 (LWP 10986) exited]
[Thread 0x7fffd1dfb700 (LWP 10984) exited]
[Thread 0x7fffd2ffd700 (LWP 10982) exited]
[Thread 0x7fffd15fa700 (LWP 10987) exited]
[Thread 0x7ffff3e3b700 (LWP 10985) exited]
[New Thread 0x7ffff3e3b700 (LWP 11010)]
[New Thread 0x7fffd15fa700 (LWP 11012)]
[New Thread 0x7fffd2ffd700 (LWP 11013)]
[New Thread 0x7fffd1dfb700 (LWP 11014)]
[New Thread 0x7fffd27fc700 (LWP 11015)]
vdr: malloc.c:2368: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd1dfb700 (LWP 11014)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6328caa in ?? () from /lib64/libc.so.6
#3  0x00007ffff632b7f7 in ?? () from /lib64/libc.so.6
#4  0x00007ffff632cb21 in malloc () from /lib64/libc.so.6
#5  0x00007ffff6bd161d in operator new(unsigned long) ()
   from /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6
#6  0x00007ffff6bd1729 in operator new[](unsigned long) ()
   from /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6
#7  0x00007ffff4e5ca9f in cParserH264::ExtractNAL(unsigned char*, int, int, int&) () from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#8  0x00007ffff4e5d0ff in cParserH264::ParsePayload(unsigned char*, int) ()
   from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#9  0x00007ffff4e5da2c in cParserPES::Parse(unsigned char*, int, bool) ()
   from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#10 0x00007ffff4e5b6b8 in cTSDemuxer::ProcessTSPacket(unsigned char*) ()
   from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#11 0x00007ffff4e65373 in cLiveStreamer::Action() ()
   from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#12 0x00000000005016fb in cThread::StartThread(cThread*) ()
#13 0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) 

What's strange is the "Reading symbols from /usr/bin/vdr...(no debugging symbols found)...done.", although I compiled with "debug" use flag which should add "-g" to CFLAGS. I'll try to correct that and come up with another backtrace.

tkurbad commented 11 years ago

Now I have a better one (I think):

vdr@mediagate ~ $ runvdr.debug 
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/vdr...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/vdr --epgfile=/var/vdr/epg.data -l 3 -P dummydevice -Pdvbapi\ -B0 -Pxvdr
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff4e3d700 (LWP 13380)]
[New Thread 0x7ffff463c700 (LWP 13381)]
[New Thread 0x7ffff3e3b700 (LWP 13382)]
[Thread 0x7ffff4e3d700 (LWP 13380) exited]
[Thread 0x7ffff463c700 (LWP 13381) exited]
[New Thread 0x7ffff463c700 (LWP 13385)]
[Thread 0x7ffff3e3b700 (LWP 13382) exited]
[New Thread 0x7ffff4e3d700 (LWP 13386)]
[New Thread 0x7ffff3e3b700 (LWP 13387)]
[New Thread 0x7ffff363a700 (LWP 13388)]
[New Thread 0x7ffff2e39700 (LWP 13389)]
[New Thread 0x7ffff2638700 (LWP 13390)]
[New Thread 0x7ffff1e37700 (LWP 13391)]
[New Thread 0x7ffff1636700 (LWP 13392)]
[New Thread 0x7ffff0e35700 (LWP 13393)]
[New Thread 0x7fffd3fff700 (LWP 13397)]
[New Thread 0x7fffd37fe700 (LWP 13398)]
[Thread 0x7fffd37fe700 (LWP 13398) exited]
[Thread 0x7fffd3fff700 (LWP 13397) exited]
[New Thread 0x7fffd3fff700 (LWP 13401)]
[New Thread 0x7fffd37fe700 (LWP 13402)]
[New Thread 0x7fffd2ffd700 (LWP 13408)]
[New Thread 0x7fffd1dfb700 (LWP 13411)]
[New Thread 0x7fffd15fa700 (LWP 13412)]
*** glibc detected *** /usr/bin/vdr: double free or corruption (!prev): 0x00007fffbc001620 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7c5fd)[0x7ffff63295fd]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN11cParserH26412ParsePayloadEPhi+0xc2)[0x7ffff4e5d122]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN10cParserPES5ParseEPhib+0xec)[0x7ffff4e5da2c]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN10cTSDemuxer15ProcessTSPacketEPh+0xb8)[0x7ffff4e5b6b8]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN13cLiveStreamer6ActionEv+0x133)[0x7ffff4e65373]
/usr/bin/vdr(_ZN7cThread11StartThreadEPS_+0x5b)[0x5016fb]
/lib64/libpthread.so.0(+0x901b)[0x7ffff797101b]
/lib64/libc.so.6(clone+0x6d)[0x7ffff639774d]
======= Memory map: ========
00400000-00566000 r-xp 00000000 09:01 50542833                           /usr/bin/vdr
00766000-00777000 r--p 00166000 09:01 50542833                           /usr/bin/vdr
00777000-00779000 rw-p 00177000 09:01 50542833                           /usr/bin/vdr
00779000-00951000 rw-p 00000000 00:00 0                                  [heap]
7fffb8000000-7fffb8021000 rw-p 00000000 00:00 0 
7fffb8021000-7fffbc000000 ---p 00000000 00:00 0 
7fffbc000000-7fffbc028000 rw-p 00000000 00:00 0 
7fffbc028000-7fffc0000000 ---p 00000000 00:00 0 
7fffc0000000-7fffc0021000 rw-p 00000000 00:00 0 
7fffc0021000-7fffc4000000 ---p 00000000 00:00 0 
7fffc4000000-7fffc40a5000 rw-p 00000000 00:00 0 
7fffc40a5000-7fffc8000000 ---p 00000000 00:00 0 
7fffc8000000-7fffc844a000 rw-p 00000000 00:00 0 
7fffc844a000-7fffcc000000 ---p 00000000 00:00 0 
7fffcc000000-7fffcc021000 rw-p 00000000 00:00 0 
7fffcc021000-7fffd0000000 ---p 00000000 00:00 0 
7fffd0dfa000-7fffd0dfb000 ---p 00000000 00:00 0 
7fffd0dfb000-7fffd15fb000 rw-p 00000000 00:00 0                          [stack:13412]
7fffd15fb000-7fffd15fc000 ---p 00000000 00:00 0 
7fffd15fc000-7fffd27fd000 rw-p 00000000 00:00 0                          [stack:13411]
7fffd27fd000-7fffd27fe000 ---p 00000000 00:00 0 
7fffd27fe000-7fffd2ffe000 rw-p 00000000 00:00 0                          [stack:13408]
7fffd2ffe000-7fffd2fff000 ---p 00000000 00:00 0 
7fffd2fff000-7fffd37ff000 rw-p 00000000 00:00 0                          [stack:13402]
7fffd37ff000-7fffd3800000 ---p 00000000 00:00 0 
7fffd3800000-7fffd4000000 rw-p 00000000 00:00 0                          [stack:13401]
7fffd4000000-7fffd4021000 rw-p 00000000 00:00 0 
7fffd4021000-7fffd8000000 ---p 00000000 00:00 0 
7fffd8000000-7fffd8021000 rw-p 00000000 00:00 0 
7fffd8021000-7fffdc000000 ---p 00000000 00:00 0 
7fffdc000000-7fffdc021000 rw-p 00000000 00:00 0 
7fffdc021000-7fffe0000000 ---p 00000000 00:00 0 
7fffe0000000-7fffe0021000 rw-p 00000000 00:00 0 
7fffe0021000-7fffe4000000 ---p 00000000 00:00 0 
7fffe4000000-7fffe4021000 rw-p 00000000 00:00 0 
7fffe4021000-7fffe8000000 ---p 00000000 00:00 0 
7fffe8000000-7fffe8021000 rw-p 00000000 00:00 0 
7fffe8021000-7fffec000000 ---p 00000000 00:00 0 
7fffec000000-7fffedffc000 rw-p 00000000 00:00 0 
7fffedffc000-7ffff0000000 ---p 00000000 00:00 0 
7ffff016b000-7ffff021b000 r--p 00000000 09:01 134382162                  /usr/share/fonts/dejavu/DejaVuSans.ttf
7ffff021b000-7ffff0234000 r--p 00000000 09:01 252101592                  /usr/share/fonts/urw-fonts/n022004l.pfb
7ffff0635000-7ffff0636000 ---p 00000000 00:00 0 
7ffff0636000-7ffff0e36000 rw-p 00000000 00:00 0                          [stack:13393]
7ffff0e36000-7ffff0e37000 ---p 00000000 00:00 0 
7ffff0e37000-7ffff1637000 rw-p 00000000 00:00 0                          [stack:13392]
7ffff1637000-7ffff1638000 ---p 00000000 00:00 0 
7ffff1638000-7ffff1e38000 rw-p 00000000 00:00 0                          [stack:13391]
7ffff1e38000-7ffff1e39000 ---p 00000000 00:00 0 
7ffff1e39000-7ffff2639000 rw-p 00000000 00:00 0                          [stack:13390]
7ffff2639000-7ffff263a000 ---p 00000000 00:00 0 
7ffff263a000-7ffff2e3a000 rw-p 00000000 00:00 0                          [stack:13389]
7ffff2e3a000-7ffff2e3b000 ---p 00000000 00:00 0 
7ffff2e3b000-7ffff363b000 rw-p 00000000 00:00 0                          [stack:13388]
7ffff363b000-7ffff363c000 ---p 00000000 00:00 0 
7ffff363c000-7ffff3e3c000 rw-p 00000000 00:00 0                          [stack:13387]
7ffff3e3c000-7ffff3e3d000 ---p 00000000 00:00 0 
7ffff3e3d000-7ffff463d000 rw-p 00000000 00:00 0                          [stack:13385]
7ffff463d000-7ffff463e000 ---p 00000000 00:00 0 
7ffff463e000-7ffff4e3e000 rw-p 00000000 00:00 0                          [stack:13386]
7ffff4e3e000-7ffff4e80000 r-xp 00000000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff4e80000-7ffff5080000 ---p 00042000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5080000-7ffff5082000 r--p 00042000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5082000-7ffff5084000 rw-p 00044000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5084000-7ffff50a1000 r-xp 00000000 09:01 2086138                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff50a1000-7ffff52a0000 ---p 0001d000 09:01 2086138                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a0000-7ffff52a1000 r--p 0001c000 09:01 2086138                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a1000-7ffff52a2000 rw-p 0001d000 09:01 2086138                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a2000-7ffff52a8000 r-xp 00000000 09:01 2086126                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff52a8000-7ffff54a7000 ---p 00006000 09:01 2086126                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a7000-7ffff54a8000 r--p 00005000 09:01 2086126                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a8000-7ffff54a9000 rw-p 00006000 09:01 2086126                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a9000-7ffff54ab000 r-xp 00000000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff54ab000-7ffff56aa000 ---p 00002000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56aa000-7ffff56ab000 r--p 00001000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56ab000-7ffff56ac000 rw-p 00002000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56ac000-7ffff5a58000 r--p 00000000 09:01 134496340                  /usr/lib64/locale/locale-archive
7ffff5a58000-7ffff5a7f000 r-xp 00000000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5a7f000-7ffff5c7f000 ---p 00027000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c7f000-7ffff5c81000 r--p 00027000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c81000-7ffff5c82000 rw-p 00029000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c82000-7ffff5c91000 r-xp 00000000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5c91000-7ffff5e90000 ---p 0000f000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e90000-7ffff5e91000 r--p 0000e000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e91000-7ffff5e92000 rw-p 0000f000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e92000-7ffff5ea7000 r-xp 00000000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff5ea7000-7ffff60a6000 ---p 00015000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a6000-7ffff60a7000 r--p 00014000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a7000-7ffff60a8000 rw-p 00015000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a8000-7ffff60ac000 r-xp 00000000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff60ac000-7ffff62ab000 ---p 00004000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ab000-7ffff62ac000 r--p 00003000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ac000-7ffff62ad000 rw-p 00004000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ad000-7ffff6450000 r-xp 00000000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6450000-7ffff6650000 ---p 001a3000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6650000-7ffff6654000 r--p 001a3000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6654000-7ffff6656000 rw-p 001a7000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6656000-7ffff665a000 rw-p 00000000 00:00 0 
7ffff665a000-7ffff6670000 r-xp 00000000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6670000-7ffff686f000 ---p 00016000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff686f000-7ffff6870000 r--p 00015000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6870000-7ffff6871000 rw-p 00016000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6871000-7ffff696c000 r-xp 00000000 09:01 134414058                  /lib64/libm-2.16.so
7ffff696c000-7ffff6b6b000 ---p 000fb000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6b000-7ffff6b6c000 r--p 000fa000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6c000-7ffff6b6d000 rw-p 000fb000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6d000-7ffff6c5a000 r-xp 00000000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6c5a000-7ffff6e59000 ---p 000ed000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e59000-7ffff6e61000 r--p 000ec000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e61000-7ffff6e63000 rw-p 000f4000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e63000-7ffff6e78000 rw-p 00000000 00:00 0 
7ffff6e78000-7ffff6eb1000 r-xp 00000000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff6eb1000-7ffff70b1000 ---p 00039000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b1000-7ffff70b2000 r--p 00039000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b2000-7ffff70b3000 rw-p 0003a000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b3000-7ffff70b4000 rw-p 00000000 00:00 0 
7ffff70b4000-7ffff7150000 r-xp 00000000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7150000-7ffff7350000 ---p 0009c000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7350000-7ffff7355000 r--p 0009c000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7355000-7ffff7356000 rw-p 000a1000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7356000-7ffff735d000 r-xp 00000000 09:01 134496341                  /lib64/librt-2.16.so
7ffff735d000-7ffff755c000 ---p 00007000 09:01 134496341                  /lib64/librt-2.16.so
7ffff755c000-7ffff755d000 r--p 00006000 09:01 134496341                  /lib64/librt-2.16.so
7ffff755d000-7ffff755e000 rw-p 00007000 09:01 134496341                  /lib64/librt-2.16.so
7ffff755e000-7ffff7563000 r-xp 00000000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7563000-7ffff7762000 ---p 00005000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7762000-7ffff7763000 r--p 00004000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7763000-7ffff7764000 rw-p 00005000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7764000-7ffff7767000 r-xp 00000000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7767000-7ffff7966000 ---p 00003000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7966000-7ffff7967000 r--p 00002000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7967000-7ffff7968000 rw-p 00003000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7968000-7ffff7980000 r-xp 00000000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7980000-7ffff7b7f000 ---p 00018000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7b7f000-7ffff7b80000 r--p 00017000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7b80000-7ffff7b81000 rw-p 00018000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7b81000-7ffff7b85000 rw-p 00000000 00:00 0 
7ffff7b85000-7ffff7bca000 r-xp 00000000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7bca000-7ffff7dc9000 ---p 00045000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7dc9000-7ffff7dca000 r--p 00044000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7dca000-7ffff7dcb000 rw-p 00045000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7dcb000-7ffff7ddb000 rw-p 00000000 00:00 0 
7ffff7ddb000-7ffff7dfd000 r-xp 00000000 09:01 134499273                  /lib64/ld-2.16.so
7ffff7e06000-7ffff7eab000 r--p 00000000 09:01 134387993                  /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
7ffff7eab000-7ffff7eca000 r--p 00000000 09:01 219013648                  /usr/share/locale/de/LC_MESSAGES/libc.mo
7ffff7eca000-7ffff7ed3000 r--s 00000000 09:02 218128311                  /var/cache/fontconfig/acc285bc1956c3c4bc7afb41d537a85a-le64.cache-3
7ffff7ed3000-7ffff7ee9000 r--s 00000000 09:02 218128309                  /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-le64.cache-3
7ffff7ee9000-7ffff7f02000 r--s 00000000 09:02 218130183                  /var/cache/fontconfig/4b5cf4386f1cde02a336ba961b4ac82d-le64.cache-3
7ffff7f02000-7ffff7f5f000 r--s 00000000 09:02 218130635                  /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-le64.cache-3
7ffff7f5f000-7ffff7fbc000 r--s 00000000 09:02 218130614                  /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-le64.cache-3
7ffff7fbc000-7ffff7fc5000 rw-p 00000000 00:00 0 
7ffff7fc8000-7ffff7fc9000 rw-p 00000000 00:00 0 
7ffff7fc9000-7ffff7fcb000 r--s 00000000 09:02 218128310                  /var/cache/fontconfig/f55bbeb01d684dc5b5f7b2c347cc42d9-le64.cache-3
7ffff7fcb000-7ffff7fcf000 r--s 00000000 09:02 218128308                  /var/cache/fontconfig/a595ca43be94766bbfe429f07fba82d0-le64.cache-3
7ffff7fcf000-7ffff7fd8000 r--s 00000000 09:02 218128305                  /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-le64.cache-3
7ffff7fd8000-7ffff7fd9000 r--s 00000000 09:02 218130173                  /var/cache/fontconfig/6ba42ae0000f58711b5caaf10d690066-le64.cache-3
7ffff7fd9000-7ffff7fe0000 r--s 00000000 09:02 218130154                  /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-le64.cache-3
7ffff7fe0000-7ffff7fe4000 r--s 00000000 09:02 218130153                  /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-le64.cache-3
7ffff7fe4000-7ffff7feb000 r--s 00000000 09:02 218130144                  /var/cache/fontconfig/f349e9996a5320f6dd491cedd2b1f964-le64.cache-3
7ffff7feb000-7ffff7ff2000 r--s 00000000 09:01 134496334                  /usr/lib64/gconv/gconv-modules.cache
7ffff7ff2000-7ffff7ffa000 r--p 00000000 09:01 69916583                   /usr/share/locale/de_DE/LC_MESSAGES/vdr.mo
7ffff7ffa000-7ffff7ffb000 rw-p 00000000 00:00 0 
7ffff7ffb000-7ffff7ffc000 r-xp 00000000 00:00 0                          [vdso]
7ffff7ffc000-7ffff7ffd000 r--p 00021000 09:01 134499273                  /lib64/ld-2.16.so
7ffff7ffd000-7ffff7ffe000 rw-p 00022000 09:01 134499273                  /lib64/ld-2.16.so
7ffff7ffe000-7ffff7fff000 rw-p 00000000 00:00 0 
7ffffffde000-7ffffffff000 rw-p 00000000 00:00 0                          [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd15fa700 (LWP 13412)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5d122 in cParserH264::ParsePayload(unsigned char*, int) ()
   from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#5  0x00007ffff4e5da2c in cParserPES::Parse(unsigned char*, int, bool) ()
   from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#6  0x00007ffff4e5b6b8 in cTSDemuxer::ProcessTSPacket(unsigned char*) ()
   from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#7  0x00007ffff4e65373 in cLiveStreamer::Action() () from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#8  0x00000000005016fb in cThread::StartThread(cThread*) ()
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) 

What do you make of it?

pipelka commented 11 years ago

Please pull the branch "tkurbad" and check if it fixes the problem.

tkurbad commented 11 years ago

Not entirely. There is still at least one "problem" channel that works for about 1 second (at most) and then crashes VDR. Should I do another backtrace with the new branch?

pipelka commented 11 years ago

Yes. Please. But there is still something wrong with debug information. The trace should contain the source and linenumbers of the xvdr plugin. Did you recompile the plugin with debug information ?

tkurbad commented 11 years ago

Yes, I compiled with "-g". I'm compiling again now - this time without using distcc. ;-)

Backtrace follows...

tkurbad commented 11 years ago

Do I have to give CFLAGS besides "-g" for debugging to work properly?

Here's the new backtrace:

vdr@mediagate ~ $ runvdr.debug 
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/vdr...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/vdr --epgfile=/var/vdr/epg.data -l 3 -P dummydevice -Pdvbapi\ -B0 -Pxvdr
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff4e3d700 (LWP 24641)]
[New Thread 0x7ffff463c700 (LWP 24642)]
[New Thread 0x7ffff3e3b700 (LWP 24643)]
[Thread 0x7ffff4e3d700 (LWP 24641) exited]
[Thread 0x7ffff463c700 (LWP 24642) exited]
[New Thread 0x7ffff463c700 (LWP 24646)]
[New Thread 0x7ffff4e3d700 (LWP 24647)]
[New Thread 0x7ffff363a700 (LWP 24648)]
[New Thread 0x7ffff2e39700 (LWP 24649)]
[Thread 0x7ffff3e3b700 (LWP 24643) exited]
[New Thread 0x7ffff2638700 (LWP 24650)]
[New Thread 0x7ffff3e3b700 (LWP 24651)]
[New Thread 0x7ffff1e37700 (LWP 24652)]
[New Thread 0x7ffff1636700 (LWP 24653)]
[New Thread 0x7ffff0e35700 (LWP 24657)]
[New Thread 0x7fffd3fff700 (LWP 24658)]
[Thread 0x7fffd3fff700 (LWP 24658) exited]
[Thread 0x7ffff0e35700 (LWP 24657) exited]
[New Thread 0x7ffff0e35700 (LWP 24661)]
[New Thread 0x7fffd3fff700 (LWP 24662)]
[New Thread 0x7fffd37fe700 (LWP 24670)]
[New Thread 0x7fffd25fc700 (LWP 24672)]
[New Thread 0x7fffd1dfb700 (LWP 24673)]
*** glibc detected *** /usr/bin/vdr: double free or corruption (!prev): 0x00007fffb8000dc0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7c5fd)[0x7ffff63295fd]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN11cParserH26412ParsePayloadEPhi+0xd6)[0x7ffff4e5d136]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN10cParserPES5ParseEPhib+0xec)[0x7ffff4e5da4c]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN10cTSDemuxer15ProcessTSPacketEPh+0xb8)[0x7ffff4e5b6b8]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN13cLiveStreamer6ActionEv+0x133)[0x7ffff4e65393]
/usr/bin/vdr(_ZN7cThread11StartThreadEPS_+0x5b)[0x5016fb]
/lib64/libpthread.so.0(+0x901b)[0x7ffff797101b]
/lib64/libc.so.6(clone+0x6d)[0x7ffff639774d]
======= Memory map: ========
00400000-00566000 r-xp 00000000 09:01 50543276                           /usr/bin/vdr
00766000-00777000 r--p 00166000 09:01 50543276                           /usr/bin/vdr
00777000-00779000 rw-p 00177000 09:01 50543276                           /usr/bin/vdr
00779000-00951000 rw-p 00000000 00:00 0                                  [heap]
7fffb8000000-7fffb8021000 rw-p 00000000 00:00 0 
7fffb8021000-7fffbc000000 ---p 00000000 00:00 0 
7fffc0000000-7fffc00a5000 rw-p 00000000 00:00 0 
7fffc00a5000-7fffc4000000 ---p 00000000 00:00 0 
7fffc4000000-7fffc4021000 rw-p 00000000 00:00 0 
7fffc4021000-7fffc8000000 ---p 00000000 00:00 0 
7fffc8000000-7fffc8021000 rw-p 00000000 00:00 0 
7fffc8021000-7fffcc000000 ---p 00000000 00:00 0 
7fffcc000000-7fffcc44d000 rw-p 00000000 00:00 0 
7fffcc44d000-7fffd0000000 ---p 00000000 00:00 0 
7fffd15fb000-7fffd15fc000 ---p 00000000 00:00 0 
7fffd15fc000-7fffd1dfc000 rw-p 00000000 00:00 0                          [stack:24673]
7fffd1dfc000-7fffd1dfd000 ---p 00000000 00:00 0 
7fffd1dfd000-7fffd2ffe000 rw-p 00000000 00:00 0                          [stack:24672]
7fffd2ffe000-7fffd2fff000 ---p 00000000 00:00 0 
7fffd2fff000-7fffd37ff000 rw-p 00000000 00:00 0                          [stack:24670]
7fffd37ff000-7fffd3800000 ---p 00000000 00:00 0 
7fffd3800000-7fffd4000000 rw-p 00000000 00:00 0                          [stack:24662]
7fffd4000000-7fffd4021000 rw-p 00000000 00:00 0 
7fffd4021000-7fffd8000000 ---p 00000000 00:00 0 
7fffd8000000-7fffd8021000 rw-p 00000000 00:00 0 
7fffd8021000-7fffdc000000 ---p 00000000 00:00 0 
7fffdc000000-7fffdc021000 rw-p 00000000 00:00 0 
7fffdc021000-7fffe0000000 ---p 00000000 00:00 0 
7fffe0000000-7fffe0021000 rw-p 00000000 00:00 0 
7fffe0021000-7fffe4000000 ---p 00000000 00:00 0 
7fffe4000000-7fffe4021000 rw-p 00000000 00:00 0 
7fffe4021000-7fffe8000000 ---p 00000000 00:00 0 
7fffe8000000-7fffe8021000 rw-p 00000000 00:00 0 
7fffe8021000-7fffec000000 ---p 00000000 00:00 0 
7fffec000000-7fffedfa4000 rw-p 00000000 00:00 0 
7fffedfa4000-7ffff0000000 ---p 00000000 00:00 0 
7ffff016b000-7ffff021b000 r--p 00000000 09:01 134382162                  /usr/share/fonts/dejavu/DejaVuSans.ttf
7ffff021b000-7ffff0234000 r--p 00000000 09:01 252101592                  /usr/share/fonts/urw-fonts/n022004l.pfb
7ffff0635000-7ffff0636000 ---p 00000000 00:00 0 
7ffff0636000-7ffff0e36000 rw-p 00000000 00:00 0                          [stack:24661]
7ffff0e36000-7ffff0e37000 ---p 00000000 00:00 0 
7ffff0e37000-7ffff1637000 rw-p 00000000 00:00 0                          [stack:24653]
7ffff1637000-7ffff1638000 ---p 00000000 00:00 0 
7ffff1638000-7ffff1e38000 rw-p 00000000 00:00 0                          [stack:24652]
7ffff1e38000-7ffff1e39000 ---p 00000000 00:00 0 
7ffff1e39000-7ffff2639000 rw-p 00000000 00:00 0                          [stack:24650]
7ffff2639000-7ffff263a000 ---p 00000000 00:00 0 
7ffff263a000-7ffff2e3a000 rw-p 00000000 00:00 0                          [stack:24649]
7ffff2e3a000-7ffff2e3b000 ---p 00000000 00:00 0 
7ffff2e3b000-7ffff363b000 rw-p 00000000 00:00 0                          [stack:24648]
7ffff363b000-7ffff363c000 ---p 00000000 00:00 0 
7ffff363c000-7ffff3e3c000 rw-p 00000000 00:00 0                          [stack:24651]
7ffff3e3c000-7ffff3e3d000 ---p 00000000 00:00 0 
7ffff3e3d000-7ffff463d000 rw-p 00000000 00:00 0                          [stack:24646]
7ffff463d000-7ffff463e000 ---p 00000000 00:00 0 
7ffff463e000-7ffff4e3e000 rw-p 00000000 00:00 0                          [stack:24647]
7ffff4e3e000-7ffff4e80000 r-xp 00000000 09:01 2086127                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff4e80000-7ffff5080000 ---p 00042000 09:01 2086127                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5080000-7ffff5082000 r--p 00042000 09:01 2086127                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5082000-7ffff5084000 rw-p 00044000 09:01 2086127                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5084000-7ffff50a1000 r-xp 00000000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff50a1000-7ffff52a0000 ---p 0001d000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a0000-7ffff52a1000 r--p 0001c000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a1000-7ffff52a2000 rw-p 0001d000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a2000-7ffff52a8000 r-xp 00000000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff52a8000-7ffff54a7000 ---p 00006000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a7000-7ffff54a8000 r--p 00005000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a8000-7ffff54a9000 rw-p 00006000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a9000-7ffff54ab000 r-xp 00000000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff54ab000-7ffff56aa000 ---p 00002000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56aa000-7ffff56ab000 r--p 00001000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56ab000-7ffff56ac000 rw-p 00002000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56ac000-7ffff5a58000 r--p 00000000 09:01 134496340                  /usr/lib64/locale/locale-archive
7ffff5a58000-7ffff5a7f000 r-xp 00000000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5a7f000-7ffff5c7f000 ---p 00027000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c7f000-7ffff5c81000 r--p 00027000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c81000-7ffff5c82000 rw-p 00029000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c82000-7ffff5c91000 r-xp 00000000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5c91000-7ffff5e90000 ---p 0000f000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e90000-7ffff5e91000 r--p 0000e000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e91000-7ffff5e92000 rw-p 0000f000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e92000-7ffff5ea7000 r-xp 00000000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff5ea7000-7ffff60a6000 ---p 00015000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a6000-7ffff60a7000 r--p 00014000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a7000-7ffff60a8000 rw-p 00015000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a8000-7ffff60ac000 r-xp 00000000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff60ac000-7ffff62ab000 ---p 00004000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ab000-7ffff62ac000 r--p 00003000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ac000-7ffff62ad000 rw-p 00004000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ad000-7ffff6450000 r-xp 00000000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6450000-7ffff6650000 ---p 001a3000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6650000-7ffff6654000 r--p 001a3000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6654000-7ffff6656000 rw-p 001a7000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6656000-7ffff665a000 rw-p 00000000 00:00 0 
7ffff665a000-7ffff6670000 r-xp 00000000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6670000-7ffff686f000 ---p 00016000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff686f000-7ffff6870000 r--p 00015000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6870000-7ffff6871000 rw-p 00016000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6871000-7ffff696c000 r-xp 00000000 09:01 134414058                  /lib64/libm-2.16.so
7ffff696c000-7ffff6b6b000 ---p 000fb000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6b000-7ffff6b6c000 r--p 000fa000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6c000-7ffff6b6d000 rw-p 000fb000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6d000-7ffff6c5a000 r-xp 00000000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6c5a000-7ffff6e59000 ---p 000ed000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e59000-7ffff6e61000 r--p 000ec000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e61000-7ffff6e63000 rw-p 000f4000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e63000-7ffff6e78000 rw-p 00000000 00:00 0 
7ffff6e78000-7ffff6eb1000 r-xp 00000000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff6eb1000-7ffff70b1000 ---p 00039000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b1000-7ffff70b2000 r--p 00039000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b2000-7ffff70b3000 rw-p 0003a000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b3000-7ffff70b4000 rw-p 00000000 00:00 0 
7ffff70b4000-7ffff7150000 r-xp 00000000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7150000-7ffff7350000 ---p 0009c000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7350000-7ffff7355000 r--p 0009c000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7355000-7ffff7356000 rw-p 000a1000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd1dfb700 (LWP 24673)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5d136 in cParserH264::ParsePayload(unsigned char*, int) () from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#5  0x00007ffff4e5da4c in cParserPES::Parse(unsigned char*, int, bool) () from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#6  0x00007ffff4e5b6b8 in cTSDemuxer::ProcessTSPacket(unsigned char*) () from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#7  0x00007ffff4e65393 in cLiveStreamer::Action() () from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#8  0x00000000005016fb in cThread::StartThread(cThread*) ()
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) 
tkurbad commented 11 years ago

... and from another channel (which ran for about 5 seconds before crashing):

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/vdr --epgfile=/var/vdr/epg.data -l 3 -P dummydevice -Pdvbapi\ -B0 -Pxvdr
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff4e3d700 (LWP 24924)]
[New Thread 0x7ffff463c700 (LWP 24925)]
[Thread 0x7ffff4e3d700 (LWP 24924) exited]
[New Thread 0x7ffff3e3b700 (LWP 24926)]
[Thread 0x7ffff463c700 (LWP 24925) exited]
[Thread 0x7ffff3e3b700 (LWP 24926) exited]
[New Thread 0x7ffff3e3b700 (LWP 24929)]
[New Thread 0x7ffff463c700 (LWP 24930)]
[New Thread 0x7ffff4e3d700 (LWP 24931)]
[New Thread 0x7ffff363a700 (LWP 24932)]
[New Thread 0x7ffff2e39700 (LWP 24933)]
[New Thread 0x7ffff2638700 (LWP 24934)]
[New Thread 0x7ffff1e37700 (LWP 24935)]
[New Thread 0x7ffff1636700 (LWP 24936)]
[New Thread 0x7ffff0e35700 (LWP 24940)]
[New Thread 0x7fffd3fff700 (LWP 24941)]
[Thread 0x7fffd3fff700 (LWP 24941) exited]
[Thread 0x7ffff0e35700 (LWP 24940) exited]
[New Thread 0x7ffff0e35700 (LWP 24944)]
[New Thread 0x7fffd3fff700 (LWP 24945)]
[New Thread 0x7fffd37fe700 (LWP 24956)]
[Thread 0x7fffd3fff700 (LWP 24945) exited]
[New Thread 0x7fffd3fff700 (LWP 24958)]
[Thread 0x7ffff0e35700 (LWP 24944) exited]
[New Thread 0x7ffff0e35700 (LWP 24959)]
[New Thread 0x7fffd25fc700 (LWP 24960)]
[New Thread 0x7fffd1dfb700 (LWP 24961)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd3fff700 (LWP 24958)]
0x00007ffff6329ed5 in ?? () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff6329ed5 in ?? () from /lib64/libc.so.6
#1  0x00007ffff4e6476c in cLiveQueue::Action() () from /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
#2  0x00000000005016fb in cThread::StartThread(cThread*) ()
#3  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) 
tkurbad commented 11 years ago

Just to be clear: The -d option of gdb has to point to source-root of your plugin, i.e. the directory where Makefile etc. reside, right?

pipelka commented 11 years ago

Yes. On my system debug information is only created if i start the build process from the root of the VDR directory. Then it builds all plugins with the flags defined in "Make.config".

You can check if debug information is available with:

# objdump -g /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41 | grep "demuxer_H264.c"

It should output something like:

 <73cc>   DW_AT_name        : (indirect string, offset: 0x17a0): src/demuxer/demuxer_H264.c
tkurbad commented 11 years ago

Ah, I see. So, I'll try and do a manual build outside the Gentoo ebuild system.

tkurbad commented 11 years ago

Can you please post a debug enabled Make.config for reference?

pipelka commented 11 years ago

Here are the top lines of my current config:

### The C compiler and options:
CC       = gcc
CFLAGS   = -O2 -g  -Wall
CXX      = g++
CXXFLAGS = -O2 -g  -Werror=overloaded-virtual -Wno-parentheses
# Use 'make M32=1 ...' to build a 32-bit version of VDR on a 64-bit machine:
ifdef M32
CFLAGS   += -m32
CXXFLAGS += -m32
endif
tkurbad commented 11 years ago

Yeah, I can see the problem: The Gentoo ebuilds eliminate those lines and just export the necessary shell variables. I just added the missing lines now and run a manual 'make' inside VDR's source root. Next thing I'll do the same for the xvdr plugin and try a new debug run.

tkurbad commented 11 years ago

Well, I'm an idiot. Debugging symbols are well there in the first place. But the Gentoo ebuild system strips them upon install. ;-)

I'm just running a new build of vdr and xvdr with FEATURES="nostrip"...

tkurbad commented 11 years ago

As the old wisdom says: "As soon as you do it right, it works" :-)

Here's another backtrace with proper debug symbols:

vdr@mediagate ~ $ runvdr.debug 
GNU gdb (Gentoo 7.5.1 p2) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /usr/bin/vdr...done.
(gdb) run
Starting program: /usr/bin/vdr --epgfile=/var/vdr/epg.data -l 3 -P dummydevice -Pdvbapi\ -B0 -Pxvdr
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff4e3b700 (LWP 1076)]
[New Thread 0x7ffff463a700 (LWP 1077)]
[Thread 0x7ffff4e3b700 (LWP 1076) exited]
[New Thread 0x7ffff4e3b700 (LWP 1078)]
[Thread 0x7ffff463a700 (LWP 1077) exited]
[Thread 0x7ffff4e3b700 (LWP 1078) exited]
[New Thread 0x7ffff463a700 (LWP 1081)]
[New Thread 0x7ffff4e3b700 (LWP 1082)]
[New Thread 0x7ffff3e39700 (LWP 1083)]
[New Thread 0x7ffff3638700 (LWP 1084)]
[New Thread 0x7ffff2e37700 (LWP 1085)]
[New Thread 0x7ffff2636700 (LWP 1086)]
[New Thread 0x7ffff1e35700 (LWP 1087)]
[New Thread 0x7ffff1634700 (LWP 1088)]
[New Thread 0x7ffff0e33700 (LWP 1093)]
[New Thread 0x7fffd3fff700 (LWP 1094)]
[Thread 0x7fffd3fff700 (LWP 1094) exited]
[Thread 0x7ffff0e33700 (LWP 1093) exited]
[New Thread 0x7ffff0e33700 (LWP 1097)]
[New Thread 0x7fffd3fff700 (LWP 1098)]
[New Thread 0x7fffd37fe700 (LWP 1106)]
[New Thread 0x7fffd25fc700 (LWP 1108)]
[New Thread 0x7fffd1dfb700 (LWP 1109)]
*** glibc detected *** /usr/bin/vdr: double free or corruption (!prev): 0x00007fffb80017a0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7c5fd)[0x7ffff63295fd]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN11cParserH26412ParsePayloadEPhi+0xd6)[0x7ffff4e5b416]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN10cParserPES5ParseEPhib+0xec)[0x7ffff4e5bd2c]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN10cTSDemuxer15ProcessTSPacketEPh+0xb8)[0x7ffff4e59978]
/usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41(_ZN13cLiveStreamer6ActionEv+0x133)[0x7ffff4e63d13]
/usr/bin/vdr(_ZN7cThread11StartThreadEPS_+0x5b)[0x5016fb]
/lib64/libpthread.so.0(+0x901b)[0x7ffff797101b]
/lib64/libc.so.6(clone+0x6d)[0x7ffff639774d]
======= Memory map: ========
00400000-00566000 r-xp 00000000 09:01 50543337                           /usr/bin/vdr
00766000-00777000 r--p 00166000 09:01 50543337                           /usr/bin/vdr
00777000-00779000 rw-p 00177000 09:01 50543337                           /usr/bin/vdr
00779000-00951000 rw-p 00000000 00:00 0                                  [heap]
7fffb8000000-7fffb8024000 rw-p 00000000 00:00 0 
7fffb8024000-7fffbc000000 ---p 00000000 00:00 0 
7fffc0000000-7fffc00a5000 rw-p 00000000 00:00 0 
7fffc00a5000-7fffc4000000 ---p 00000000 00:00 0 
7fffc4000000-7fffc4021000 rw-p 00000000 00:00 0 
7fffc4021000-7fffc8000000 ---p 00000000 00:00 0 
7fffc8000000-7fffc8021000 rw-p 00000000 00:00 0 
7fffc8021000-7fffcc000000 ---p 00000000 00:00 0 
7fffcc000000-7fffcc452000 rw-p 00000000 00:00 0 
7fffcc452000-7fffd0000000 ---p 00000000 00:00 0 
7fffd15fb000-7fffd15fc000 ---p 00000000 00:00 0 
7fffd15fc000-7fffd1dfc000 rw-p 00000000 00:00 0                          [stack:1109]
7fffd1dfc000-7fffd1dfd000 ---p 00000000 00:00 0 
7fffd1dfd000-7fffd2ffe000 rw-p 00000000 00:00 0                          [stack:1108]
7fffd2ffe000-7fffd2fff000 ---p 00000000 00:00 0 
7fffd2fff000-7fffd37ff000 rw-p 00000000 00:00 0                          [stack:1106]
7fffd37ff000-7fffd3800000 ---p 00000000 00:00 0 
7fffd3800000-7fffd4000000 rw-p 00000000 00:00 0                          [stack:1098]
7fffd4000000-7fffd4021000 rw-p 00000000 00:00 0 
7fffd4021000-7fffd8000000 ---p 00000000 00:00 0 
7fffd8000000-7fffd8021000 rw-p 00000000 00:00 0 
7fffd8021000-7fffdc000000 ---p 00000000 00:00 0 
7fffdc000000-7fffdc021000 rw-p 00000000 00:00 0 
7fffdc021000-7fffe0000000 ---p 00000000 00:00 0 
7fffe0000000-7fffe0021000 rw-p 00000000 00:00 0 
7fffe0021000-7fffe4000000 ---p 00000000 00:00 0 
7fffe4000000-7fffe4021000 rw-p 00000000 00:00 0 
7fffe4021000-7fffe8000000 ---p 00000000 00:00 0 
7fffe8000000-7fffe8021000 rw-p 00000000 00:00 0 
7fffe8021000-7fffec000000 ---p 00000000 00:00 0 
7fffec000000-7fffedfa4000 rw-p 00000000 00:00 0 
7fffedfa4000-7ffff0000000 ---p 00000000 00:00 0 
7ffff0169000-7ffff0219000 r--p 00000000 09:01 134382162                  /usr/share/fonts/dejavu/DejaVuSans.ttf
7ffff0219000-7ffff0232000 r--p 00000000 09:01 252101592                  /usr/share/fonts/urw-fonts/n022004l.pfb
7ffff042d000-7ffff0432000 r-xp 00000000 09:01 135159721                  /usr/lib64/gconv/ISO_6937.so
7ffff0432000-7ffff0631000 ---p 00005000 09:01 135159721                  /usr/lib64/gconv/ISO_6937.so
7ffff0631000-7ffff0632000 r--p 00004000 09:01 135159721                  /usr/lib64/gconv/ISO_6937.so
7ffff0632000-7ffff0633000 rw-p 00005000 09:01 135159721                  /usr/lib64/gconv/ISO_6937.so
7ffff0633000-7ffff0634000 ---p 00000000 00:00 0 
7ffff0634000-7ffff0e34000 rw-p 00000000 00:00 0                          [stack:1097]
7ffff0e34000-7ffff0e35000 ---p 00000000 00:00 0 
7ffff0e35000-7ffff1635000 rw-p 00000000 00:00 0                          [stack:1088]
7ffff1635000-7ffff1636000 ---p 00000000 00:00 0 
7ffff1636000-7ffff1e36000 rw-p 00000000 00:00 0                          [stack:1087]
7ffff1e36000-7ffff1e37000 ---p 00000000 00:00 0 
7ffff1e37000-7ffff2637000 rw-p 00000000 00:00 0                          [stack:1086]
7ffff2637000-7ffff2638000 ---p 00000000 00:00 0 
7ffff2638000-7ffff2e38000 rw-p 00000000 00:00 0                          [stack:1085]
7ffff2e38000-7ffff2e39000 ---p 00000000 00:00 0 
7ffff2e39000-7ffff3639000 rw-p 00000000 00:00 0                          [stack:1084]
7ffff3639000-7ffff363a000 ---p 00000000 00:00 0 
7ffff363a000-7ffff3e3a000 rw-p 00000000 00:00 0                          [stack:1083]
7ffff3e3a000-7ffff3e3b000 ---p 00000000 00:00 0 
7ffff3e3b000-7ffff463b000 rw-p 00000000 00:00 0                          [stack:1081]
7ffff463b000-7ffff463c000 ---p 00000000 00:00 0 
7ffff463c000-7ffff4e3c000 rw-p 00000000 00:00 0                          [stack:1082]
7ffff4e3c000-7ffff4e80000 r-xp 00000000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff4e80000-7ffff5080000 ---p 00044000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5080000-7ffff5082000 r--p 00044000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5082000-7ffff5084000 rw-p 00046000 09:01 2086121                    /usr/lib64/vdr/plugins/libvdr-xvdr.so.1.7.41
7ffff5084000-7ffff50a1000 r-xp 00000000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff50a1000-7ffff52a0000 ---p 0001d000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a0000-7ffff52a1000 r--p 0001c000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a1000-7ffff52a2000 rw-p 0001d000 09:01 2086142                    /usr/lib64/vdr/plugins/libvdr-dvbapi.so.1.7.41
7ffff52a2000-7ffff52a8000 r-xp 00000000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff52a8000-7ffff54a7000 ---p 00006000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a7000-7ffff54a8000 r--p 00005000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a8000-7ffff54a9000 rw-p 00006000 09:01 2070401                    /usr/lib64/vdr/plugins/libvdr-dummydevice.so.1.7.41
7ffff54a9000-7ffff54ab000 r-xp 00000000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff54ab000-7ffff56aa000 ---p 00002000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56aa000-7ffff56ab000 r--p 00001000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56ab000-7ffff56ac000 rw-p 00002000 09:01 135159724                  /usr/lib64/gconv/ISO8859-15.so
7ffff56ac000-7ffff5a58000 r--p 00000000 09:01 134496340                  /usr/lib64/locale/locale-archive
7ffff5a58000-7ffff5a7f000 r-xp 00000000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5a7f000-7ffff5c7f000 ---p 00027000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c7f000-7ffff5c81000 r--p 00027000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c81000-7ffff5c82000 rw-p 00029000 09:01 50543253                   /usr/lib64/libexpat.so.1.6.0
7ffff5c82000-7ffff5c91000 r-xp 00000000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5c91000-7ffff5e90000 ---p 0000f000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e90000-7ffff5e91000 r--p 0000e000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e91000-7ffff5e92000 rw-p 0000f000 09:01 134340920                  /lib64/libbz2.so.1.0.6
7ffff5e92000-7ffff5ea7000 r-xp 00000000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff5ea7000-7ffff60a6000 ---p 00015000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a6000-7ffff60a7000 r--p 00014000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a7000-7ffff60a8000 rw-p 00015000 09:01 134382412                  /lib64/libz.so.1.2.7
7ffff60a8000-7ffff60ac000 r-xp 00000000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff60ac000-7ffff62ab000 ---p 00004000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ab000-7ffff62ac000 r--p 00003000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ac000-7ffff62ad000 rw-p 00004000 09:01 134867328                  /lib64/libattr.so.1.1.0
7ffff62ad000-7ffff6450000 r-xp 00000000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6450000-7ffff6650000 ---p 001a3000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6650000-7ffff6654000 r--p 001a3000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6654000-7ffff6656000 rw-p 001a7000 09:01 134499278                  /lib64/libc-2.16.so
7ffff6656000-7ffff665a000 rw-p 00000000 00:00 0 
7ffff665a000-7ffff6670000 r-xp 00000000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6670000-7ffff686f000 ---p 00016000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff686f000-7ffff6870000 r--p 00015000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6870000-7ffff6871000 rw-p 00016000 09:01 68513485                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libgcc_s.so.1
7ffff6871000-7ffff696c000 r-xp 00000000 09:01 134414058                  /lib64/libm-2.16.so
7ffff696c000-7ffff6b6b000 ---p 000fb000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6b000-7ffff6b6c000 r--p 000fa000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6c000-7ffff6b6d000 rw-p 000fb000 09:01 134414058                  /lib64/libm-2.16.so
7ffff6b6d000-7ffff6c5a000 r-xp 00000000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6c5a000-7ffff6e59000 ---p 000ed000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e59000-7ffff6e61000 r--p 000ec000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e61000-7ffff6e63000 rw-p 000f4000 09:01 68513473                   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6.0.17
7ffff6e63000-7ffff6e78000 rw-p 00000000 00:00 0 
7ffff6e78000-7ffff6eb1000 r-xp 00000000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff6eb1000-7ffff70b1000 ---p 00039000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b1000-7ffff70b2000 r--p 00039000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b2000-7ffff70b3000 rw-p 0003a000 09:01 50659540                   /usr/lib64/libfontconfig.so.1.6.2
7ffff70b3000-7ffff70b4000 rw-p 00000000 00:00 0 
7ffff70b4000-7ffff7150000 r-xp 00000000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7150000-7ffff7350000 ---p 0009c000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7350000-7ffff7355000 r--p 0009c000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7355000-7ffff7356000 rw-p 000a1000 09:01 50418506                   /usr/lib64/libfreetype.so.6.10.0
7ffff7356000-7ffff735d000 r-xp 00000000 09:01 134496341                  /lib64/librt-2.16.so
7ffff735d000-7ffff755c000 ---p 00007000 09:01 134496341                  /lib64/librt-2.16.so
7ffff755c000-7ffff755d000 r--p 00006000 09:01 134496341                  /lib64/librt-2.16.so
7ffff755d000-7ffff755e000 rw-p 00007000 09:01 134496341                  /lib64/librt-2.16.so
7ffff755e000-7ffff7563000 r-xp 00000000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7563000-7ffff7762000 ---p 00005000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7762000-7ffff7763000 r--p 00004000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7763000-7ffff7764000 rw-p 00005000 09:01 134382045                  /lib64/libcap.so.2.22
7ffff7764000-7ffff7767000 r-xp 00000000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7767000-7ffff7966000 ---p 00003000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7966000-7ffff7967000 r--p 00002000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7967000-7ffff7968000 rw-p 00003000 09:01 134414060                  /lib64/libdl-2.16.so
7ffff7968000-7ffff7980000 r-xp 00000000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7980000-7ffff7b7f000 ---p 00018000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7b7f000-7ffff7b80000 r--p 00017000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7b80000-7ffff7b81000 rw-p 00018000 09:01 134499279                  /lib64/libpthread-2.16.so
7ffff7b81000-7ffff7b85000 rw-p 00000000 00:00 0 
7ffff7b85000-7ffff7bca000 r-xp 00000000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7bca000-7ffff7dc9000 ---p 00045000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7dc9000-7ffff7dca000 r--p 00044000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7dca000-7ffff7dcb000 rw-p 00045000 09:01 50559549                   /usr/lib64/libjpeg.so.8.0.2
7ffff7dcb000-7ffff7ddb000 rw-p 00000000 00:00 0 
7ffff7ddb000-7ffff7dfd000 r-xp 00000000 09:01 134499273                  /lib64/ld-2.16.so
7ffff7e06000-7ffff7eab000 r--p 00000000 09:01 134387993                  /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
7ffff7eab000-7ffff7eca000 r--p 00000000 09:01 219013648                  /usr/share/locale/de/LC_MESSAGES/libc.mo
7ffff7eca000-7ffff7ed3000 r--s 00000000 09:02 218128311                  /var/cache/fontconfig/acc285bc1956c3c4bc7afb41d537a85a-le64.cache-3
7ffff7ed3000-7ffff7ee9000 r--s 00000000 09:02 218128309                  /var/cache/fontconfig/8d4af663993b81a124ee82e610bb31f9-le64.cache-3
7ffff7ee9000-7ffff7f02000 r--s 00000000 09:02 218130183                  /var/cache/fontconfig/4b5cf4386f1cde02a336ba961b4ac82d-le64.cache-3
7ffff7f02000-7ffff7f5f000 r--s 00000000 09:02 218130635                  /var/cache/fontconfig/17090aa38d5c6f09fb8c5c354938f1d7-le64.cache-3
7ffff7f5f000-7ffff7fbc000 r--s 00000000 09:02 218130614                  /var/cache/fontconfig/df311e82a1a24c41a75c2c930223552e-le64.cache-3
7ffff7fbc000-7ffff7fc5000 rw-p 00000000 00:00 0 
7ffff7fc8000-7ffff7fc9000 rw-p 00000000 00:00 0 
7ffff7fc9000-7ffff7fcb000 r--s 00000000 09:02 218128310                  /var/cache/fontconfig/f55bbeb01d684dc5b5f7b2c347cc42d9-le64.cache-3
7ffff7fcb000-7ffff7fcf000 r--s 00000000 09:02 218128308                  /var/cache/fontconfig/a595ca43be94766bbfe429f07fba82d0-le64.cache-3
7ffff7fcf000-7ffff7fd8000 r--s 00000000 09:02 218128305                  /var/cache/fontconfig/12b26b760a24f8b4feb03ad48a333a72-le64.cache-3
7ffff7fd8000-7ffff7fd9000 r--s 00000000 09:02 218130173                  /var/cache/fontconfig/6ba42ae0000f58711b5caaf10d690066-le64.cache-3
7ffff7fd9000-7ffff7fe0000 r--s 00000000 09:02 218130154                  /var/cache/fontconfig/d62e99ef547d1d24cdb1bd22ec1a2976-le64.cache-3
7ffff7fe0000-7ffff7fe4000 r--s 00000000 09:02 218130153                  /var/cache/fontconfig/f6b893a7224233d96cb72fd88691c0b4-le64.cache-3
7ffff7fe4000-7ffff7feb000 r--s 00000000 09:02 218130144                  /var/cache/fontconfig/f349e9996a5320f6dd491cedd2b1f964-le64.cache-3
7ffff7feb000-7ffff7ff2000 r--s 00000000 09:01 134496334                  /usr/lib64/gconv/gconv-modules.cache
7ffff7ff2000-7ffff7ffa000 r--p 00000000 09:01 69916583                   /usr/share/locale/de_DE/LC_MESSAGES/vdr.mo
7ffff7ffa000-7ffff7ffb000 rw-p 00000000 00:00 0 
7ffff7ffb000-7ffff7ffc000 r-xp 00000000 00:00 0                          [vdso]
7ffff7ffc000-7ffff7ffd000 r--p 00021000 09:01 134499273                  /lib64/ld-2.16.so
7ffff7ffd000-7ffff7ffe000 rw-p 00022000 09:01 134499273                  /lib64/ld-2.16.so
7ffff7ffe000-7ffff7fff000 rw-p 00000000 00:00 0 
7ffffffde000-7ffffffff000 rw-p 00000000 00:00 0                          [stack]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd1dfb700 (LWP 1109)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5b416 in cParserH264::ParsePayload (this=0x7fffc0001900, data=0x7fffc0001a70 "", length=137360)
    at src/demuxer/demuxer_H264.c:119
#5  0x00007ffff4e5bd2c in cParserPES::Parse (this=0x7fffc0001900, data=0x7fffd289bcf8 "", size=184, pusi=true) at src/demuxer/demuxer_PES.c:45
#6  0x00007ffff4e59978 in cTSDemuxer::ProcessTSPacket (this=<optimized out>, data=<optimized out>) at src/demuxer/demuxer.c:157
#7  0x00007ffff4e63d13 in cLiveStreamer::Action (this=0x7fffc0000fa0) at src/live/livestreamer.c:177
#8  0x00000000005016fb in cThread::StartThread (Thread=0x7fffc0000fa0) at thread.c:262
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) 
pipelka commented 11 years ago

Very strange.

Please do a:

(gdb) select-frame 4
(gdb) print length
(gdb) print o
(gdb) print nal_len

in the debugger (after the crash).

tkurbad commented 11 years ago
(gdb) select-frame 4
(gdb) print length
$1 = 14241
(gdb) print o
$2 = 25
(gdb) print nal_len
$3 = 14217
(gdb) 
tkurbad commented 11 years ago

On a second crash (right after switching to one of the "problem" channels), I get:

(gdb) select-frame 4
(gdb) print length
No symbol "length" in current context.
(gdb) print o
No symbol "o" in current context.
(gdb) print nal_len
No symbol "nal_len" in current context.
(gdb) 

The backtrace to that one looks like this:

(gdb) backtrace
#0  0x00007ffff6329ed5 in ?? () from /lib64/libc.so.6
#1  0x00007ffff4e630cc in cLiveQueue::Action (this=0x7fffc0000ce0) at src/live/livequeue.c:180
#2  0x00000000005016fb in cThread::StartThread (Thread=0x7fffc0000ce0) at thread.c:262
#3  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffff639774d in clone () from /lib64/libc.so.6
pipelka commented 11 years ago

Oh. Sorry. You have to select the frame containing "cParserH264::ParsePayload". That isn't always 4.

tkurbad commented 11 years ago

Aaah, like so:

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd3fff700 (LWP 4681)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5b416 in cParserH264::ParsePayload (this=0x7fffc0001a10, data=0x7fffc0001b80 "", length=152985)
    at src/demuxer/demuxer_H264.c:119
#5  0x00007ffff4e5bd2c in cParserPES::Parse (this=0x7fffc0001a10, data=0x7fffc07ab7f8 "", size=184, pusi=true) at src/demuxer/demuxer_PES.c:45
#6  0x00007ffff4e59978 in cTSDemuxer::ProcessTSPacket (this=<optimized out>, data=<optimized out>) at src/demuxer/demuxer.c:157
#7  0x00007ffff4e63d13 in cLiveStreamer::Action (this=0x7fffc0000b00) at src/live/livestreamer.c:177
#8  0x00000000005016fb in cThread::StartThread (Thread=0x7fffc0000b00) at thread.c:262
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) select-frame 4
(gdb) print length
$4 = 152985
(gdb) print o
$5 = 66
(gdb) print nal_len
$6 = 152921
(gdb) 

That was on another channel (SyFy HD) that ran fine for almost a minute and then crashed.

tkurbad commented 11 years ago

And another one (Fox HD):

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd3fff700 (LWP 5214)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5b416 in cParserH264::ParsePayload (this=0x7fffc8001690, data=0x7fffc8001800 "", length=16625)
    at src/demuxer/demuxer_H264.c:119
#5  0x00007ffff4e5bd2c in cParserPES::Parse (this=0x7fffc8001690, data=0x7fffc87c90bc "", size=176, pusi=true) at src/demuxer/demuxer_PES.c:45
#6  0x00007ffff4e59978 in cTSDemuxer::ProcessTSPacket (this=<optimized out>, data=<optimized out>) at src/demuxer/demuxer.c:157
#7  0x00007ffff4e63d13 in cLiveStreamer::Action (this=0x7fffc8000fa0) at src/live/livestreamer.c:177
#8  0x00000000005016fb in cThread::StartThread (Thread=0x7fffc8000fa0) at thread.c:262
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) select-frame 4
(gdb) print length
$7 = 16625
(gdb) print o
$8 = 25
(gdb) print nal_len
$9 = 16601
(gdb) 

(I thought I'd just tag the gdb traces with the channel names, so we can keep them apart...)

pipelka commented 11 years ago

Ok. Great. Please repull. I added a commit that should fix the bug.

tkurbad commented 11 years ago

Sorry, not better yet with 080a0f898c8bc96968db960cf9b25a2b6dab272d (Fox HD):

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd1dfb700 (LWP 9537)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5b416 in cParserH264::ParsePayload (this=0x7fffc00018b0, data=0x7fffc0001a20 "", length=71825)
    at src/demuxer/demuxer_H264.c:119
#5  0x00007ffff4e5bd2c in cParserPES::Parse (this=0x7fffc00018b0, data=0x7fffd2c4417c "", size=184, pusi=true) at src/demuxer/demuxer_PES.c:45
#6  0x00007ffff4e59978 in cTSDemuxer::ProcessTSPacket (this=<optimized out>, data=<optimized out>) at src/demuxer/demuxer.c:157
#7  0x00007ffff4e63d13 in cLiveStreamer::Action (this=0x7fffc0000fa0) at src/live/livestreamer.c:177
#8  0x00000000005016fb in cThread::StartThread (Thread=0x7fffc0000fa0) at thread.c:262
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) select-frame 4
(gdb) print length
$1 = 71825
(gdb) print o
$2 = 25
(gdb) print nal_len
$3 = 71801
(gdb) 
tkurbad commented 11 years ago

On the bright side, some more channels seem to run stable now...

tkurbad commented 11 years ago

Here's still another one (RTL HD):

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd3fff700 (LWP 10404)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5b416 in cParserH264::ParsePayload (this=0x7fffbc001860, data=0x7fffbc0019d0 "", length=48273)
    at src/demuxer/demuxer_H264.c:119
#5  0x00007ffff4e5bd2c in cParserPES::Parse (this=0x7fffbc001860, data=0x7fffbc6ae0f4 "", size=184, pusi=true) at src/demuxer/demuxer_PES.c:45
#6  0x00007ffff4e59978 in cTSDemuxer::ProcessTSPacket (this=<optimized out>, data=<optimized out>) at src/demuxer/demuxer.c:157
#7  0x00007ffff4e63d13 in cLiveStreamer::Action (this=0x7fffbc001170) at src/live/livestreamer.c:177
#8  0x00000000005016fb in cThread::StartThread (Thread=0x7fffbc001170) at thread.c:262
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) select-frame 4
(gdb) print length
$4 = 48273
(gdb) print o
$5 = 105
(gdb) print nal_len
$6 = 48169
(gdb) 
tkurbad commented 11 years ago

And still another one (NatGeo HD):

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff3e39700 (LWP 10745)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6323875 in ?? () from /lib64/libc.so.6
#3  0x00007ffff63295fd in ?? () from /lib64/libc.so.6
#4  0x00007ffff4e5b416 in cParserH264::ParsePayload (this=0x7fffb8002950, data=0x7fffb8002ad0 "", length=35617)
    at src/demuxer/demuxer_H264.c:119
#5  0x00007ffff4e5bd2c in cParserPES::Parse (this=0x7fffb8002950, data=0x7fffb86eb43c "", size=176, pusi=true) at src/demuxer/demuxer_PES.c:45
#6  0x00007ffff4e59978 in cTSDemuxer::ProcessTSPacket (this=<optimized out>, data=<optimized out>) at src/demuxer/demuxer.c:157
#7  0x00007ffff4e63d13 in cLiveStreamer::Action (this=0x7fffb8000fa0) at src/live/livestreamer.c:177
#8  0x00000000005016fb in cThread::StartThread (Thread=0x7fffb8000fa0) at thread.c:262
#9  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#10 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) select-frame 4
(gdb) print length
$7 = 35617
(gdb) print o
$8 = 25
(gdb) print nal_len
$9 = 35593
(gdb) 
tkurbad commented 11 years ago

Here's an interesting one (nal_len = 0) - VOX HD:

vdr: malloc.c:2368: sysmalloc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffd25fc700 (LWP 11100)]
0x00007ffff62e5755 in raise () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff62e5755 in raise () from /lib64/libc.so.6
#1  0x00007ffff62e6bc7 in abort () from /lib64/libc.so.6
#2  0x00007ffff6328caa in ?? () from /lib64/libc.so.6
#3  0x00007ffff632b7f7 in ?? () from /lib64/libc.so.6
#4  0x00007ffff632cb21 in malloc () from /lib64/libc.so.6
#5  0x00007ffff6bd161d in operator new(unsigned long) () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6
#6  0x00007ffff6bd1729 in operator new[](unsigned long) () from /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.2/libstdc++.so.6
#7  0x00007ffff4e5ad83 in cParserH264::ExtractNAL (this=this@entry=0x7fffc0001640, packet=packet@entry=0x7fffc0001b00 "", 
    length=length@entry=148667, nal_offset=nal_offset@entry=176, nal_len=@0x7fffd25fbde4: 0) at src/demuxer/demuxer_H264.c:91
#8  0x00007ffff4e5b3f7 in cParserH264::ParsePayload (this=0x7fffc0001640, data=0x7fffc0001b00 "", length=148667)
    at src/demuxer/demuxer_H264.c:115
#9  0x00007ffff4e5bd2c in cParserPES::Parse (this=0x7fffc0001640, data=0x7fffc015299c "", size=184, pusi=true) at src/demuxer/demuxer_PES.c:45
#10 0x00007ffff4e59978 in cTSDemuxer::ProcessTSPacket (this=<optimized out>, data=<optimized out>) at src/demuxer/demuxer.c:157
#11 0x00007ffff4e63d13 in cLiveStreamer::Action (this=0x7fffc0000e70) at src/live/livestreamer.c:177
#12 0x00000000005016fb in cThread::StartThread (Thread=0x7fffc0000e70) at thread.c:262
#13 0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) select-frame 8
(gdb) print length
$10 = 148667
(gdb) print o
$11 = 176
(gdb) print nal_len
$12 = 0
(gdb) 
tkurbad commented 11 years ago

And another one (segfault after more than 10 minutes of watching - TNT Serie HD):

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/vdr --epgfile=/var/vdr/epg.data -l 3 -P dummydevice -Pdvbapi\ -B0 -Pxvdr
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff4e3b700 (LWP 11262)]
[New Thread 0x7ffff463a700 (LWP 11263)]
[New Thread 0x7ffff3e39700 (LWP 11264)]
[Thread 0x7ffff4e3b700 (LWP 11262) exited]
[Thread 0x7ffff463a700 (LWP 11263) exited]
[New Thread 0x7ffff463a700 (LWP 11267)]
[New Thread 0x7ffff4e3b700 (LWP 11268)]
[New Thread 0x7ffff3638700 (LWP 11269)]
[New Thread 0x7ffff2e37700 (LWP 11270)]
[Thread 0x7ffff3e39700 (LWP 11264) exited]
[New Thread 0x7ffff3e39700 (LWP 11271)]
[New Thread 0x7ffff2636700 (LWP 11272)]
[New Thread 0x7ffff1e35700 (LWP 11273)]
[New Thread 0x7ffff1634700 (LWP 11275)]
[New Thread 0x7ffff0e33700 (LWP 11279)]
[New Thread 0x7fffd3fff700 (LWP 11280)]
[Thread 0x7fffd3fff700 (LWP 11280) exited]
[Thread 0x7ffff0e33700 (LWP 11279) exited]
[New Thread 0x7ffff0e33700 (LWP 11283)]
[New Thread 0x7fffd3fff700 (LWP 11284)]
[New Thread 0x7fffd37fe700 (LWP 11303)]
[New Thread 0x7fffd25fc700 (LWP 11305)]
[Thread 0x7fffd3fff700 (LWP 11284) exited]
[Thread 0x7ffff0e33700 (LWP 11283) exited]
[New Thread 0x7ffff0e33700 (LWP 11307)]
[New Thread 0x7fffd3fff700 (LWP 11308)]
[New Thread 0x7fffd1dfb700 (LWP 11309)]
*** glibc detected *** /usr/bin/vdr: double free or corruption (!prev): 0x00007fffc8006fa0 ***

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd25fc700 (LWP 11305)]
0x00007ffff6329ed5 in ?? () from /lib64/libc.so.6
(gdb) backtrace
#0  0x00007ffff6329ed5 in ?? () from /lib64/libc.so.6
#1  0x00007ffff4e630cc in cLiveQueue::Action (this=0x7fffc0000ce0) at src/live/livequeue.c:180
#2  0x00000000005016fb in cThread::StartThread (Thread=0x7fffc0000ce0) at thread.c:262
#3  0x00007ffff797101b in start_thread () from /lib64/libpthread.so.0
#4  0x00007ffff639774d in clone () from /lib64/libc.so.6
(gdb) 

Maybe there's a bug in vdr itself, too?

pipelka commented 11 years ago

All these bugs are symptoms of a buffer overrun. Please repull. Maybe everything is correct now.

tkurbad commented 11 years ago

Thanks so much, that seems to have done it! All HD channels I tried after the last commit start up immediately and seem to run smoothly.

Just to be sure, I'd suggest I let the most problematic (Fox HD) run for about an hour and report back with a (hopefully) final statement. Okay?

pipelka commented 11 years ago

Ok. It's really odd that this bug never surfaced before, ...

tkurbad commented 11 years ago

Fox HD running for about 45 minutes without problems and/or interruptions, even for 2 simultaneously connected clients. I think we can safely assume that the bug is fixed. :-)

It's really odd that this bug kept unnoticed for several days - and even more that it didn't affect all H264 channels...

Anyway, thanks a lot for the quick fix and keep up the good work!

pipelka commented 11 years ago

I just found that this "fix" introduces a rather nasty bug. I'll try to iron that out and will ask you to check it again. This won't happen today. Thanks for your help.

tkurbad commented 11 years ago

No problem. I'll watch this space for news and test requests.

pipelka commented 11 years ago

@tkurbad Could you please recheck if the latest version still works for you ?

tkurbad commented 11 years ago

I did a short test with about 8 different channels - all seem to work flawlessly. Also I recorded a snippet and realized that the "hickup" upon recording start seems to have gone.

Nice work!

pipelka commented 11 years ago

Great. I'll push the fix into master. Thanks for checking that.

pipelka commented 11 years ago

fixed by 5cca791cabfcd2ac79ddb050766f9771f492f41a