[vdr] VDR 1.7 FreeBSD segfault when cutting recordings

Gerhard Brauer gb+ML-2011 at derbrauer.homelinux.net
Sat Mar 16 09:26:10 CET 2013


On Fri, Mar 15, 2013 at 10:54:04AM +0100, Gerhard Brauer wrote:
> 
> I never have any problem during other actions with the remote VDR
> (recording, viewing, place cutting marks,...) _exept_ when i start
> the cutting procedere itself with the keyboard shortcut "2".
> Most times (> 95%) the remote vdr segfaults immidiatly. The file
> structure is still created (%foobar ff.). In the few times when it
> not segfaults then the cutting is done well without problems.

Hello again,

I've learned that i could also start the cutting process on the vdr
server itself, without a frontend. With this i also (and 100%
reproducable) got the segfault of the vdr.

I start without a running vdr:
s01# vdr -u vdr --edit=/video/Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.48.50.99.rec/
and also with a still running vdr and call the --edit with another instance:
vdr -u vdr -i 1 --edit=/video/Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.48.50.99.rec/

>From both tries i make backtraces with gdb, both differs only in
thread numbering etc.
So i attach the one with -i 1 instance, along with the vdr logfile
output. Maybe one of you see a clearer picture why this segfaults
happen here.

I attach logfile sequence and backtrace output together.
 
Regards and TIA
 
        Gerhard
 

-------------- next part --------------
[Here i restarted the vdr on the server]

Mar 16 08:30:09 s01 vdr: [50361344] VDR version 1.7.29 started
Mar 16 08:30:09 s01 vdr: [50361344] switched to user 'vdr'
Mar 16 08:30:09 s01 vdr: [50361344] running as daemon (tid=50361344)
Mar 16 08:30:09 s01 vdr: [50361344] codeset is 'UTF-8' - known
Mar 16 08:30:09 s01 vdr: [50361344] found 28 locales in /usr/local/share/locale
Mar 16 08:30:09 s01 vdr: [50361344] loading plugin: /usr/local/lib/vdr/libvdr-xineliboutput.so.1.7.29
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/setup.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/sources.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/diseqc.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/scr.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/channels.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/timers.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/svdrphosts.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/remote.conf
Mar 16 08:30:09 s01 vdr: [50361344] loading /usr/local/etc/vdr/keymacros.conf
Mar 16 08:30:09 s01 vdr: [50363392] video directory scanner thread started (pid=15494, tid=50363392)
Mar 16 08:30:09 s01 vdr: [50361344] registered source parameters for 'A - ATSC'
Mar 16 08:30:09 s01 vdr: [50365440] epg data reader thread started (pid=15494, tid=50365440)
Mar 16 08:30:09 s01 vdr: [50364416] video directory scanner thread started (pid=15494, tid=50364416)
Mar 16 08:30:09 s01 vdr: [50361344] registered source parameters for 'C - DVB-C'
Mar 16 08:30:09 s01 vdr: [50361344] registered source parameters for 'S - DVB-S'
Mar 16 08:30:09 s01 vdr: [50361344] registered source parameters for 'T - DVB-T'
Mar 16 08:30:09 s01 vdr: [50361344] probing /dev/dvb/adapter0/frontend0
Mar 16 08:30:09 s01 vdr: [50365440] reading EPG data from /video/epg.data
Mar 16 08:30:09 s01 vdr: [50361344] creating cDvbDevice
Mar 16 08:30:09 s01 vdr: [50361344] new device number 1
Mar 16 08:30:09 s01 vdr: [50361344] frontend 0/0 provides DVB-T with QPSK,QAM16,QAM64 ("DiBcom 7000PC")
Mar 16 08:30:09 s01 vdr: [50361344] found 1 DVB device
Mar 16 08:30:09 s01 vdr: [50366464] tuner on frontend 0/0 thread started (pid=15494, tid=50366464)
Mar 16 08:30:09 s01 vdr: [50361344] initializing plugin: xineliboutput (1.0.90-cvs): X11/xine-lib Ausgabe-Plugin
Mar 16 08:30:09 s01 vdr: [50366464] cTimeMs: using monotonic clock (resolution is 70 ns)
Mar 16 08:30:09 s01 vdr: [50367488] section handler thread started (pid=15494, tid=50367488)
Mar 16 08:30:09 s01 vdr: [50361344] new device number 64
Mar 16 08:30:09 s01 vdr: [50361344] setting primary device to 2
Mar 16 08:30:09 s01 vdr: [50364416] video directory scanner thread ended (pid=15494, tid=50364416)
Mar 16 08:30:10 s01 vdr: [50361344] assuming manual start of VDR
Mar 16 08:30:10 s01 vdr: [50361344] SVDRP listening on port 6419
Mar 16 08:30:10 s01 vdr: [50361344] setting current skin to "lcars"
Mar 16 08:30:10 s01 vdr: [50361344] loading /usr/local/etc/vdr/themes/lcars-default.theme
Mar 16 08:30:10 s01 vdr: [50361344] starting plugin: xineliboutput
Mar 16 08:30:10 s01 vdr: [50365440] epg data reader thread ended (pid=15494, tid=50365440)
Mar 16 08:30:10 s01 vdr: [50370560] Remote decoder/display server (cXinelibServer) thread started (pid=15494, tid=50370560)
Mar 16 08:30:10 s01 vdr: [discovery] discovery_init: bind() failed
Mar 16 08:30:10 s01 vdr: [discovery]    (ERROR (tools/vdrdiscovery.c,73): Can't assign requested address)
Mar 16 08:30:10 s01 vdr: [discovery] UDP broadcast send failed (discovery)
Mar 16 08:30:10 s01 vdr: [discovery]    (ERROR (tools/vdrdiscovery.c,97): Bad file descriptor)
Mar 16 08:30:10 s01 vdr: [50363392] video directory scanner thread ended (pid=15494, tid=50363392)
Mar 16 08:30:10 s01 vdr: [50361344] switching to channel 16
Mar 16 08:30:10 s01 vdr: [50371584] receiver on device 1 thread started (pid=15494, tid=50371584)
Mar 16 08:30:10 s01 vdr: [67295232] TS buffer on device 1 thread started (pid=15494, tid=67295232)
Mar 16 08:30:10 s01 vdr: [50361344] OSD size changed to 720x576 @ 1.42222

[Here 08:30:39 i started the --edit from another commandline on the server]

Mar 16 08:30:39 s01 vdr: [50361344] loading /video/Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.48.50.99.rec///marks.vdr
Mar 16 08:30:39 s01 vdr: [50361344] loading /video/Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.48.50.99.rec///marks.vdr
Mar 16 08:30:39 s01 vdr: [50361344] removing /video/%Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.58.50.99.rec/001.vdr
Mar 16 08:30:39 s01 vdr: [50361344] removing /video/%Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.58.50.99.rec/info.vdr
Mar 16 08:30:39 s01 vdr: [50361344] removing /video/%Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.58.50.99.rec/index.vdr
Mar 16 08:30:39 s01 vdr: [50361344] removing /video/%Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.58.50.99.rec
Mar 16 08:30:39 s01 vdr: [50361344] creating directory /video/%Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.58.50.99.rec
Mar 16 08:30:39 s01 vdr: [50361344] loading /video/Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.48.50.99.rec///marks.vdr
Mar 16 08:30:39 s01 vdr: [50361344] playing '/video/Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.48.50.99.rec//001.vdr'
Mar 16 08:30:39 s01 vdr: [50361344] recording to '/video/%Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.58.50.99.rec/001.vdr'
Mar 16 08:30:39 s01 vdr: [50362368] video cutting thread started (pid=15496, tid=50362368)
Mar 16 08:30:40 s01 kernel: pid 15496 (vdr), uid 0: exited on signal 11 (core dumped)


[backtrace output]
Script started on Sat Mar 16 08:31:41 2013
gdb /usr/local/bin/vdr ./vdr.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...
Core was generated by `vdr'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libjpeg.so.11...done.
Loaded symbols for /usr/local/lib/libjpeg.so.11
Reading symbols from /lib/libthr.so.3...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /lib/libutil.so.9...done.
Loaded symbols for /lib/libutil.so.9
Reading symbols from /usr/local/lib/libintl.so.9...done.
Loaded symbols for /usr/local/lib/libintl.so.9
Reading symbols from /usr/local/lib/libiconv.so.3...done.
Loaded symbols for /usr/local/lib/libiconv.so.3
Reading symbols from /usr/local/lib/libfreetype.so.9...done.
Loaded symbols for /usr/local/lib/libfreetype.so.9
Reading symbols from /usr/local/lib/libfontconfig.so.1...done.
Loaded symbols for /usr/local/lib/libfontconfig.so.1
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libm.so.5...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /lib/libz.so.6...done.
Loaded symbols for /lib/libz.so.6
Reading symbols from /usr/lib/libbz2.so.4...done.
Loaded symbols for /usr/lib/libbz2.so.4
Reading symbols from /usr/local/lib/libexpat.so.6...done.
Loaded symbols for /usr/local/lib/libexpat.so.6
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x00000008023f93b5 in fprintf () from /lib/libc.so.7
[New Thread 803007800 (LWP 101624/vdr)]
[New Thread 803007400 (LWP 100464/vdr)]
(gdb) thread aplply all bt

Thread 2 (Thread 803007400 (LWP 100464/vdr)):
#0  0x0000000800bf19bc in pthread_kill () from /lib/libthr.so.3
#1  0x0000000800bebdb3 in pthread_getschedparam () from /lib/libthr.so.3
#2  0x0000000800bf3dcd in pthread_cond_signal () from /lib/libthr.so.3
#3  0x00000000004f4694 in cCondWait::Wait (this=0x7fffffffd620, TimeoutMs=Variable "TimeoutMs" is not available.
) at thread.c:78
#4  0x00000000004f480d in cCondWait::SleepMs (TimeoutMs=500) at thread.c:67
#5  0x000000000046742a in CutRecording (
    FileName=0x7fffffffdd6f "/video/Die_Marx_Brothers_im_Kaufhaus/2012-10-29.01.48.50.99.rec/") at cutter.c:334
#6  0x00000000004fdbe7 in main (argc=6, argv=0x7fffffffdad8) at vdr.c:278

Thread 1 (Thread 803007800 (LWP 101624/vdr)):
#0  0x00000008023f93b5 in fprintf () from /lib/libc.so.7
#1  0x00000008023f08e8 in vsyslog () from /lib/libc.so.7
#2  0x00000000004f9fb0 in syslog_with_tid (priority=3, 
    format=0x529408 "ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD") at tools.c:51
#3  0x0000000000465d8b in cCuttingThread::Action (this=0x80309d140) at cutter.c:73
#4  0x00000000004f3e7c in cThread::StartThread (Thread=0x80309d140) at thread.c:274
#5  0x0000000800bea274 in pthread_getprio () from /lib/libthr.so.3
#6  0x0000000000000000 in ?? ()
Cannot access memory at address 0x7fffffbfe000
(gdb) q

Script done on Sat Mar 16 08:32:50 2013


More information about the vdr mailing list