Hello,

I've started experiencing some weird crashes right after my VDR box boots.  
The crash occurs when reading channels.conf, but not on every reboot.  VDR 
starts up automatically, and if it starts crashing while reading 
channels.conf, no restarts appear to work, another reboot is needed.  On the 
next reboot, channels.conf is unchanged but the crash may no longer occur.

This is on Fedora 8 i386, VDR 1.4.7 with a bunch of patches and plugins.  
There's only one patch affecting channels.c but I don't see how it could have 
anything to do with the crash.

Backtrace attached; line 752 in my channels.c is
     while ((q = strtok_r(p, ",", &strtok_next)) != NULL) {
(the one for the apids loop)

The channels.conf line in the backtrace is the first one in my channels.conf.  
At bootup, vdradmin-am starts slightly after VDR so I guess it could be 
possible that it's trying to do some SVDRP commands at the same time when 
things go south.

Any clues?
#0  0x00325e04 in strtok_r () from /lib/libc.so.6
No symbol table info available.
#1  0x0808b4bc in cChannel::Parse (this=0x994d688, 
    s=0x994d228 "TV1;YLE:274000:C0M128:C:6900:512:650=fin:2321:0:17:0:1:0")
    at channels.c:752
        q = 0x994da20 "650=fin"
        strtok_next = 0x994d688 "¸V\021\b"
        p = <value optimized out>
        dpidbuf = 0x0
        NumApids = 0
        parambuf = 0x994d9f0 "C0M128"
        apidbuf = 0x994da20 "650=fin"
        namebuf = 0x994d9e0 "TV1;YLE"
        sourcebuf = 0x994da00 "C"
        vpidbuf = 0x994da10 "512"
        caidbuf = 0x994da30 "0"
        fields = <value optimized out>
        ok = true
#2  0x0808c2c3 in cConfig<cChannel>::Load (this=0x81d4560, 
    FileName=0x994d460 "/etc/vdr/channels.conf", AllowComments=false, 
    MustExist=true) at config.h:122
        l = (cChannel *) 0x994d688
        s = 0x994d228 "TV1;YLE:274000:C0M128:C:6900:512:650=fin:2321:0:17:0:1:0"
        line = 1
        ReadLine = {size = 120, 
  buffer = 0x994d228 "TV1;YLE:274000:C0M128:C:6900:512:650=fin:2321:0:17:0:1:0"}
        f = (FILE *) 0x994ac38
        result = <value optimized out>
#3  0x0808b999 in cChannels::Load (this=0x81d4560, 
    FileName=0x994d460 "/etc/vdr/channels.conf", AllowComments=false, 
    MustExist=true) at channels.c:892
No locals.
#4  0x08107ae8 in main (argc=) at vdr.c:531
        savedTm = {c_iflag = 135351912, c_oflag = 135034472, 
  c_cflag = 135307124, c_lflag = 136130584, c_line = 216 'Ø', c_cc = {177 '±', 
    244 'ô', 191 '¿', 43 '+', 78 'N', 17 '\021', 8 '\b', 0 '\0', 0 '\0', 
    0 '\0', 0 '\0', 120 'x', 49 '1', 29 '\035', 8 '\b', 232 'è', 177 '±', 
    244 'ô', 191 '¿', 193 'Á', 109 'm', 8 '\b', 8 '\b', 0 '\0', 0 '\0', 
    0 '\0', 0 '\0', 0 '\0', 0 '\0', 0 '\0', 0 '\0', 24 '\030'}, 
  c_ispeed = 135351737, c_ospeed = 3020485}
        HasStdin = false
        StartedAsRoot = <value optimized out>
        VdrUser = 0x81a719c "vdr"
        SVDRPport = 2001
        AudioCommand = 0x0
        ConfigDirectory = 0x81a77a7 "/etc/vdr"
        EpgDataFileName = 0x81a7688 "epg.data"
        DisplayHelp = false
        DisplayVersion = false
        DaemonMode = false
        SysLogTarget = 8
        MuteAudio = false
        WatchdogTimeout = 0
        Terminal = 0x0
        Shutdown = 0xbff4bcee "vdr-shutdown.sh"
        UseKbd = false
        LircDevice = 0x81a76ad "/dev/lircd"
        RcuDevice = 0x0
        PluginManager = {_vptr.cPluginManager = 0x819fa58, 
  static pluginManager = 0xbff4b104, directory = 0x992ac60 "/usr/lib/vdr", 
  lastHousekeeping = 1197042263, nextHousekeeping = -1, 
  dlls = {<cList<cDll>> = {<cListBase> = {_vptr.cListBase = 0x819fb20, 
        objects = 0x992ac88, lastObject = 0x992b078, 
        count = 10}, <No data fields>}, <No data fields>}}
        ExitCode = <value optimized out>
        c = <value optimized out>
        LangEnv = <value optimized out>
        Menu = <value optimized out>
        LastChannel = <value optimized out>
        LastTimerChannel = <value optimized out>
        PreviousChannel = {1, 1}
        PreviousChannelIndex = <value optimized out>
        LastChannelChanged = 1197042263
        LastActivity = <value optimized out>
        LastCamMenu = <value optimized out>
        MaxLatencyTime = <value optimized out>
        ForceShutdown = <value optimized out>
        UserShutdown = <value optimized out>
        InhibitEpgScan = <value optimized out>
        IsInfoMenu = <value optimized out>
        CurrentSkin = <value optimized out>
        long_options = {{name = 0x8188c57 "audio", has_arg = 1, flag = 0x0, 
    val = 97}, {name = 0x81a7936 "config", has_arg = 1, flag = 0x0, val = 99}, 
  {name = 0x81a793d "daemon", has_arg = 0, flag = 0x0, val = 100}, {
    name = 0x81a7944 "device", has_arg = 1, flag = 0x0, val = 68}, {
    name = 0x81a794b "epgfile", has_arg = 1, flag = 0x0, val = 69}, {
    name = 0x81a7953 "grab", has_arg = 1, flag = 0x0, val = 103}, {
    name = 0x81a7958 "help", has_arg = 0, flag = 0x0, val = 104}, {
    name = 0x81a795d "lib", has_arg = 1, flag = 0x0, val = 76}, {
    name = 0x81a7961 "lirc", has_arg = 2, flag = 0x0, val = 364}, {
    name = 0x81a7966 "log", has_arg = 1, flag = 0x0, val = 108}, {
    name = 0x81a44f5 "mute", has_arg = 0, flag = 0x0, val = 109}, {
    name = 0x81a796a "no-kbd", has_arg = 0, flag = 0x0, val = 366}, {
    name = 0x81a7971 "plugin", has_arg = 1, flag = 0x0, val = 80}, {
    name = 0x81a7978 "port", has_arg = 1, flag = 0x0, val = 112}, {
    name = 0x81a797d "rcu", has_arg = 2, flag = 0x0, val = 370}, {
    name = 0x81a7981 "record", has_arg = 1, flag = 0x0, val = 114}, {
    name = 0x81a7988 "shutdown", has_arg = 1, flag = 0x0, val = 115}, {
    name = 0x81a7991 "terminal", has_arg = 1, flag = 0x0, val = 116}, {
    name = 0x81a799a "user", has_arg = 1, flag = 0x0, val = 117}, {
    name = 0x8183f11 "version", has_arg = 0, flag = 0x0, val = 86}, {
    name = 0x81a799f "vfat", has_arg = 0, flag = 0x0, val = 374}, {
    name = 0x8187fd5 "video", has_arg = 1, flag = 0x0, val = 118}, {
    name = 0x81a79a4 "watchdog", has_arg = 1, flag = 0x0, val = 119}, {
    name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
        lastTime = 0
        ChannelSaveTimeout = 0
        TimerState = 0
        LastTimerCheck = 0
        DeviceUsed = {0 <repeats 16 times>}
(gdb) quit
_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to