Bug#704259: vdr-plugin-xineliboutput: VDR tends to crash when stopping playing an internet radio

Eric Lavarde bugs.debian.nospam at lavar.de
Sun Mar 15 17:31:03 UTC 2015

Package: vdr-plugin-xineliboutput
Version: 1.1.0+cvs20150211-3
Followup-For: Bug #704259


I recently updated to the latest version at e-tobi.net and the issue is
still there, so that I can't hope that it will be fixed anytime in Debian.

Despite my profound lack of knowledge in gdb and C/C++, I tried to follow
what's going on but I'm stuck:

- I installed the -gdb packages for vdr, vdr-plugin-imonlcd and vdr-plugin-xineliboutput
- I get a core file once I try to stop a media playing (video, audio, internet
radio, no big difference).
- dmesg and journalctl both give a very similar complain:
[ 1430.792871] iMonLCD: watch [1880]: segfault at 2bb0 ip 00007ff90aa63a5a sp 00007ff909b37d20 error 4 in libvdr-xineliboutput.so.2.2.0[7ff90aa3a000+84000]
Mär 15 13:22:12 hdvdr kernel: iMonLCD: watch [1880]: segfault at 2bb0 ip 00007ff90aa63a5a sp 00007ff909b37d20 error 4 in libvdr-xineliboutput.so.2.2.0[7ff90aa3a000+84000]
- call $ gdb --core=core-imon-xvdr_2015-03-15_13-22 --directory=/home/ericl/VDR/vdr-plugin-xineliboutput-1.1.0+cvs20150211 /usr/bin/vdr
Reading symbols from /usr/bin/vdr...Reading symbols from /usr/lib/debug/.build-id/08/b6fa0bc86ab4336a245917720818380c3b2520.debug...done.
[New LWP 1880]
[New LWP 1867]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/bin/vdr -v /var/lib/video -c /var/lib/vdr -L /usr/lib/vdr/plugins -r /usr/'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  cXinelibDevice::PlayFileCtrl (this=0xf0, Cmd=0x7ff90aa9e5bb "GETLENGTH", 
    TimeoutMs=-1) at device.c:861
861	    if(m_server)

And here I'm already stuck because I don't understand how this line can cause
an issue...

(gdb) p m_server
Cannot access memory at address 0x2bb0

The only thing I could think of is that the memory address is very short,
as is the memory address of the 'this' variable (see following backtrace),
but my knowledge doesn't allow me to tell if it's really an issue and what
the cause could be.

(gdb) bt
#0  cXinelibDevice::PlayFileCtrl (this=0xf0, Cmd=0x7ff90aa9e5bb "GETLENGTH", 
    TimeoutMs=-1) at device.c:861
#1  0x00007ff90aa7cb06 in GetLength (this=0x1c0fca0) at media_player.c:79
#2  cXinelibPlayer::GetIndex (this=0x1c0fca0, Current=@0x7ff909b37e48: 0, 
    Total=@0x7ff909b37e4c: 0, SnapToIFrame=<optimized out>)
    at media_player.c:152
#3  0x00007ff909d9fafa in GetIndex (SnapToIFrame=false, 
    Total=@0x7ff909b37e4c: 0, Current=@0x7ff909b37e48: 0, this=<optimized out>)
    at /usr/include/vdr/player.h:102
#4  ciMonWatch::ReplayPosition (this=<optimized out>, 
    current=@0x7ff909b37e48: 0, total=@0x7ff909b37e4c: 0, 
    dFrameRate=@0x7ff909b37da0: 25) at watch.c:740
#5  0x00007ff909da10e8 in ciMonWatch::ReplayTime (this=this at entry=0x19a31c8, 
    current=@0x7ff909b37e48: 0, total=@0x7ff909b37e4c: 0) at watch.c:787
#6  0x00007ff909da14d6 in ciMonWatch::Action (this=0x19a31c8) at watch.c:286
#7  0x000000000050f3cf in cThread::StartThread (Thread=0x19a3218)
    at thread.c:262
#8  0x00007ff9100690a4 in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007ff90ea8304d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Any help would be really appreciated to get this bug fixed. Don't hesitate to
give me further instructions.

Thanks, Eric

-- System Information:
Debian Release: 8.0
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'testing-updates')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.7-ckt2+vdr1 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages vdr-plugin-xineliboutput depends on:
ii  libc6                           2.19-15
ii  libextractor3                   1:1.3-2+b1
ii  libgcc1                         1:4.9.2-10
ii  libstdc++6                      4.9.2-10
ii  vdr [vdr-abi-2.2.0-multipatch]  2.2.0-1~etobi4

vdr-plugin-xineliboutput recommends no packages.

vdr-plugin-xineliboutput suggests no packages.

-- no debconf information

More information about the pkg-vdr-dvb-devel mailing list