On 02.12.2013 17:55, Klaus Schmidinger wrote:
On 02.12.2013 13:15, Lou wrote:
hi list

vdr 2.1.2 segfaults in libc, as soon as I use the terminal syntax (vdr 
--genindex) to recreate a missing index file. Trying the same thing in a user 
interface (vdr-sxfe) works as planed.

Here's a backtrace of what's happing:

Speicherzugriffsfehler (Speicherabzug geschrieben)
gdb /usr/local/src/vdr/vdr-2.1.2/vdr ./core
Reading symbols from /usr/local/src/vdr/vdr-2.1.2/vdr...done.
Loaded symbols for /lib/i686/cmov/libc.so.6
Core was generated by `/usr/local/src/vdr/vdr-2.1.2/vdr 
Program terminated with signal 11, Segmentation fault.
#0  0xb7496df5 in ?? () from /lib/i686/cmov/libc.so.6
(gdb) bt
#0  0xb7496df5 in ?? () from /lib/i686/cmov/libc.so.6
#1  0x0813b644 in strstr (this=0xbfb16560, FileName=0x82600a8 
"/var/lib/video/True_blood/At_last/2013-11-") at 
#2  cRecording (this=0xbfb16560, FileName=0x82600a8 
"/var/lib/video/True_blood/At_last/2013-11-") at 
#3  0x0813be54 in GenerateIndex (FileName=0xbfb177ee 
"/var/lib/video/True_blood/At_last/2013-11-") at 
#4  0x0818c589 in main (argc=2, argv=0xbfb16904) at vdr.c:345

I guess this was caused by the changes to videodir.[ch].
For a quick fix you could try moving the line


into the

           case 'v': VideoDirectory = optarg;
                     while (optarg && *optarg && optarg[strlen(optarg) - 1] == 
                           optarg[strlen(optarg) - 1] = 0;
                     cVideoDirectory::SetName(VideoDirectory); // <----- here!

in vdr.c

Oh, and use the option '-v'...
This is just a quick hack - I'll need to give this more thought.


vdr mailing list

Reply via email to