News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

VDR segfaults with vompserver-0.3.1-1

Started by geistio, October 21, 2009, 10:55:47

Previous topic - Next topic

geistio

Hi!

After upgrading vompserver from version 0.3.0-8 to 0.3.1-1 my VDR segfaults quite frequently.
These segfaults seem to occur during the process of switching from one channel to another...
I managed to get a GDB-backtrace, but I somehow couldn't reproduce this failure within a valgrind session.
At least to me this thing looks like a race-condition...

My system is a "standard" debian lenny with these VDR-packages installed:
patrick@carnuntum:~$ dpkg -l | grep vdr
ii  vdr                                     1.6.0-12ctvdr1                          Video Disk Recorder for DVB cards
ii  vdr-addon-noad                          0.6.1-4                                 VDR-Addon to automatically mark advertisements
ii  vdr-dbg                                 1.6.0-12ctvdr1                          Debuggable version of the VDR Video Disk Recorder
ii  vdr-dev                                 1.6.0-12ctvdr1                          Video Disk Recorder for DVB cards
ii  vdr-plugin-control                      0.0.2a-39                               Plugin to control vdr OSD by console or telnet
ii  vdr-plugin-dummydevice                  1.0.2-15                                VDR plugin that emulates a dvb output device
ii  vdr-plugin-epgsearch                    0.9.24-5                                VDR plugin that provides extensive EPG searching capabi
ii  vdr-plugin-live                         0.2.0-5                                 Web administration plugin for VDR
ii  vdr-plugin-sc                           0.9~1hg                                 A software emulated CAM
ii  vdr-plugin-streamdev-server             0.3.4+cvs20090830.1810-1                VDR Plugin to stream Live-TV to other VDR's - server pa
ii  vdr-plugin-vompserver                   0.3.1-1                                 vdr-plugin for vdr on mediamvp(VOMP)
ii  vdr-vompclient-mvp                      0.3.1-1                                 mediamvp client firmware for vomp


The GDB-session:
patrick@carnuntum:~$ sudo debugvdr

Searching for plugins (VDR 1.6.0-2/1.6.0) (cache miss): sc epgsearchonly streamdev-server vompserver dummydevice quickepgsearch live control epgsearch conflictcheckonlyStopping Linux Video Disk Recorder: vdr - seems not to be running.
GNU gdb 6.8-debian
Copyright (C) 2008 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 "i486-linux-gnu"...
-----------------------
---- VDR-Debugging ----
-----------------------

type 'run' to start vdr

(gdb) run
Starting program: /usr/bin/vdr-dbg -v /var/lib/video.00 -c /var/lib/vdr -L /usr/lib/vdr/plugins  -r /usr/lib/vdr/vdr-recordingaction   -E /var/cache/vdr/epg.data  -P "sc " -P epgsearchonly -P "streamdev-server -r /etc/vdr/plugins/externremux.sh" -P vompserver -P dummydevice -P quickepgsearch -P "live --port=8123 --ip=10.0.2.5 --log=INFO --epgimages=/var/cache/vdr/epgimages" -P "control " -P epgsearch -P conflictcheckonly -w 60 -v /video --lirc=/dev/null --lirc
[Thread debugging using libthread_db enabled]
[New Thread 0xb7bc16c0 (LWP 15716)]
[New Thread 0xb71eeb90 (LWP 15719)]
[New Thread 0xb69edb90 (LWP 15720)]
[New Thread 0xb5fffb90 (LWP 15722)]
[New Thread 0xb57feb90 (LWP 15723)]
[New Thread 0xb4ffdb90 (LWP 15724)]
[New Thread 0xb47fcb90 (LWP 15725)]
[New Thread 0xb3ffbb90 (LWP 15726)]
[New Thread 0xb37fab90 (LWP 15727)]
[New Thread 0xb2ff9b90 (LWP 15728)]
[New Thread 0xb27f8b90 (LWP 15729)]
[New Thread 0xb1ff7b90 (LWP 15730)]
[New Thread 0xb17f6b90 (LWP 15731)]
[New Thread 0xb0ff5b90 (LWP 15732)]
[New Thread 0xb07f4b90 (LWP 15733)]
[New Thread 0xafff3b90 (LWP 15734)]
[New Thread 0xaeff1b90 (LWP 15736)]
[New Thread 0xaf7f2b90 (LWP 15735)]
[New Thread 0xae7f0b90 (LWP 15737)]
[New Thread 0xadfefb90 (LWP 15738)]
[New Thread 0xad7eeb90 (LWP 15739)]
[New Thread 0xacfedb90 (LWP 15740)]
[New Thread 0xac7ecb90 (LWP 15741)]
[New Thread 0xabfebb90 (LWP 15742)]
[New Thread 0xab7eab90 (LWP 15743)]
[New Thread 0xaafe9b90 (LWP 15744)]
[New Thread 0xaa7e8b90 (LWP 15745)]
[New Thread 0xa9de6b90 (LWP 15746)]
[New Thread 0xa95e5b90 (LWP 15747)]
[New Thread 0xa8de4b90 (LWP 15748)]
[New Thread 0xa81e2b90 (LWP 15749)]
[New Thread 0xa79e1b90 (LWP 15750)]
[Thread 0xb69edb90 (LWP 15720) exited]
[Thread 0xb71eeb90 (LWP 15719) exited]
[Thread 0xa9de6b90 (LWP 15746) exited]
[Thread 0xa81e2b90 (LWP 15749) exited]
[Thread 0xa8de4b90 (LWP 15748) exited]
[New Thread 0xa81e2b90 (LWP 15751)]
[New Thread 0xa8de4b90 (LWP 15752)]
[New Thread 0xa9de6b90 (LWP 15753)]
[New Thread 0xb71eeb90 (LWP 15764)]
[New Thread 0xb69edb90 (LWP 15765)]
[Thread 0xb71eeb90 (LWP 15764) exited]
[Thread 0xb69edb90 (LWP 15765) exited]
[New Thread 0xb69edb90 (LWP 15796)]
[New Thread 0xb71eeb90 (LWP 15797)]
[New Thread 0xa70ebb90 (LWP 15798)]
[Thread 0xa70ebb90 (LWP 15798) exited]
[New Thread 0xa70ebb90 (LWP 15803)]
[New Thread 0xa68eab90 (LWP 15804)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xa70ebb90 (LWP 15803)]
0xb7f399a0 in pthread_mutex_lock () from /lib/i686/cmov/libpthread.so.0
(gdb) bt
#0  0xb7f399a0 in pthread_mutex_lock () from /lib/i686/cmov/libpthread.so.0
#1  0xb769196b in TCP::sendPacket () from /usr/lib/vdr/plugins/libvdr-vompserver.so.1.6.0
#2  0xb76a4023 in MVPReceiver::threadMethod () from /usr/lib/vdr/plugins/libvdr-vompserver.so.1.6.0
#3  0xb769a9d1 in Thread::threadInternalStart2 () from /usr/lib/vdr/plugins/libvdr-vompserver.so.1.6.0
#4  0xb769ad2b in threadInternalStart () from /usr/lib/vdr/plugins/libvdr-vompserver.so.1.6.0
#5  0xb7f384c0 in start_thread () from /lib/i686/cmov/libpthread.so.0
#6  0xb7ce46de in clone () from /lib/i686/cmov/libc.so.6
(gdb)


If you need any further information, please tell me!
Thanks in advance!