VDR crashes on playback of zero length recordings

  • Due to tuning issues, I've accumulated a few zero length recordings. Trying to play back these results in VDR crashing.


    Does anyone know a solution to this? It doesn't seem to happen to vanilla VDR, only the yavdr patched VDR.

  • does that happen with extrecmenu or with original menu or with both ? Default is extrecmenu in yavdr - you can change the replacement of the original one in System -> Settings -> Plugins -> extrecmenu. In any case a backtrace would be nice - Installing package vdr-dbg and setting DAEMON=/usr/bin/vdr-dbg in /etc/default/vdr should generate a crashlog in /var/log/vdr/

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • iampivot


    oops, didn't realize this thread here. I sent the crash log to one of the fellows, let's see.


    Cheers
    fnu

    HowTo: APT pinning

  • iampivot


    I send your crashlog to our fellow "mini73" he's aware of the problem and this thread.


    But as first guess seems a pointer in dvbplayer becomes invalid. So, I quickly checked which patches do effect "dvbplayer.c":

    • opt-24_jumpplay.patch
    • opt-58_dvbplayer-no-busy.patch
    • opt-60-livebuffer12-rmm.patch

    All these patches have already on board of the previous VDR version 1.7.21.


    So, please stay tuned.


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • menu.c


    http://paste.ubuntu.com/883027/


    5165

    Code
    cDvbPlayerControl::Stop();


    5131/5134


    Code
    cReplayControl::~cReplayControl()
    {
      Hide();
      cStatus::MsgReplaying(this, NULL, fileName, false);
      Stop();
      if (currentReplayControl == this)
         currentReplayControl = NULL;
    }



    dvbplayer.c


    http://paste.ubuntu.com/883030/


    323/329



    963

    Code
    void cDvbPlayerControl::Stop(void)
    {
      delete player;
      player = NULL;
    }


    player.c


    http://paste.ubuntu.com/883031/


    106 -

    Code
    void cControl::Shutdown(void)
    {
      cMutexLock MutexLock(&mutex);
      cControl *c = control; // avoids recursions
      control = NULL;
      delete c;
    }


    vdr.c


    http://paste.ubuntu.com/883033/


    1241

    Code
    cControl::Shutdown();



    alles gepatcht



    keine ahnung ob das hilft .....


    ist das hier wichtig ?:


    Code
    Core was generated by `/usr/bin/vdr-dbg --lirc=/var/run/lirc/lircd -v /srv/vdr/video.00 -c /var/lib/vd'.


    Core was generated by `/usr/bin/vdr-dbg --lirc=/var/run/lirc/lircd -v /srv/vdr/video.00 -c /var/lib/vdr'.

  • helau


    Yes, I would not deny the possibilty, that there's an interaction between that exterecmenu & livebuffer, if enabled. Both are my best friends ... ;)


    But, again the version has been proven for 2 month and nobody did realize an issue like that.


    iampivot


    Something came into my mind, do you use the double XX plugin, everybody is using and nobody does talk about? If yes, do you have proper version running and could you disable that for a test?


    Cheers
    fnu

    HowTo: APT pinning

  • Yes, I would not deny the possibilty, that there's an interaction between that exterecmenu & livebuffer, if enabled. Both are my best friends ... ;)
    But, again the version has been proven for 2 month and nobody did realize an issue like that.


    Usually no one will prove a version with empty recordings ;)
    From a programmers point of view I would guess that an empty recording causes the destructor to be called before all initialization routines are finished, and this can result in deleting non existing objects ...

  • Usually no one will prove a version with empty recording


    Indeed. Funny, recently I did ask one of the fellows when to hack this problem might happen ... I didn't got it ... ;)


    Cheers
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • The empty recordings are caused by tuning issues with nova-t 500 cards. There shouldn't be empty recordings in a perfect world of course, but then vanilla VDR doesn't choke on them either.


    Guess what, I could proof this, since I'm pretty much the last yaVDR fellow using exactly this VDR version. How can I simulate it? Start a recording and stopping it immediately?


    cheers
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Hi,


    Start a recording an stopping it immediately?


    Replace the TS-files of a recording with an empty 00001.ts and remove the index?


    Lars.

  • Ok, I have some good news and some not so good.


    The good, I could reproduce that issue in my installation, the bad, some fellows could also reproduce it with VDR 1.7.26 w/o Live-Buffer Patch, some not, still with other patches.


    Since it is not 100% clear if LB is the root cause, I'll change nothing. Since zero lenght recordings itself is more or less a fault for itself, we mark this as a known error for now, until we'll find the real cause.


    Since I already have something new w/o LiveBuffer in planning/testing, I would rather push 0.4 & 0.3.2 to this version with a fix.


    Regards
    fnu

    HowTo: APT pinning

  • Ok, is there a yavdr package that provides plain vanilla unpatched VDR?


    No, what sence would make a package nobody from the team wants to use?


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!