Bigpatch für VDR 1.3.44-Test2 *Stand 03.03.2006*


  • Ich lege morgen oder übermorgen einen Patch auf den Server damit man diese Funktion entfernen kann.


    Bye,
    Frank

  • Hallo Mase,


    die Patches liegen auf dem Server, du benötigst den Patch aus diesem Archiv -> vdr-1.3.44-bp-dmh-dvd-archive-version3.zip.
    Die URL dürfte bekannt sein ;)


    Für den BP Test2 für VDR 1.3.45 wirst du die Version 4 benötigen, gibts im laufe der Woche.


    Ich hoffe auch das Nordlicht möglichst viel übernimmt -> BP wird kleiner -> weniger Arbeit für mich ;)


    Bye,
    Frank

  • hi
    ich weis nicht wo das eingetragen werden mus ??????????




    mfg ronny

    Für Rechtschreibefehler haftet die Tastatur :mua

    ASUSTeK COMPUTER INC. P8H77-V Intel(R) Core(TM) i5-3550 CPU @ 3.30GHz 7.06 GB

    DVBSKy S952 T982 SaTiX

    5.0-pre-Alpha

    :]:]:]

    Einmal editiert, zuletzt von j-ronny ()

  • Hi,


    Ist das folgende Problem bekannt bzw. gibt es schon eine Lösung?


    Ab und an stürzt der VDR beim wiedergeben der Aufnahmen ab, da diese recht selten passiert (ca. 1-2x/Woche) konnte ich es noch nicht mit und ohne BigPatch testen. Diesen Crash gibt es nun schon seit einigen Versionen, da es recht selten auftritt habe ich es bislang nicht weiter verfolgt und kann auch nicht sagen seit welcher Version es existiert.


    Ich habe den Backtrace bereits in der ML gepostet und dort den Hinweis erhalten, dass es recht sicher nicht vom VDR sondern von einem der Patches kommt, da der plain VDR cMarks::Get() nicht aus cDvbPlayer::Action() aufruft.


    Der Backtrace aus dem core:


    Code
    > #0  Get__6cMarksi (this=0x8621f10, Position=8780) at recording.c:1429
    > 1429          if (mi->position == Position)
    > (gdb) bt
    > #0  Get__6cMarksi (this=0x8621f10, Position=8780) at recording.c:1429
    > #1  0x080a3546 in Action__10cDvbPlayer (this=0x87a77b8) at dvbplayer.c:692
    > #2  0x080ff884 in StartThread__7cThreadP7cThread (Thread=0x87a77c4) at 
    > thread.c:244
    > #3  0xb7ee30ba in pthread_start_thread () from /lib/libpthread.so.0


    in Zeile 1429 zeigt mi in den Wald => crash


    Da fällt mir erst zunächst der Jump-Play Patch ein, der macht genau das:


    Code
    +                       if (Setup.PlayJump && marks) {
    +                          // check for end mark - jump to next start mark
    +                          cMark *m = marks->Get(readIndex);
    +                          if (m && (m->Index() & 0x01) != 0) {
    +                             m = marks->Next(m);
    +                             int Index;
    +                             if (m)
    +                                Index = m->position;
    +                             else if (total == index->Last())


    Da hier vorher 'Setup.PlayJump' abgefragt wird sollte das deaktivieren im Setup zum eingrenzen genügen. Ich schalte das nun einmal ab und berichte ob es dann auch auftritt. Kann aber etwas dauern, da ich ab Mi. im Urlaub bin :D
    Vieleicht solllte ich noch erwähnen, dass es nicht an einer Marke crashed sondern mitten im Film!


    Auch wenn durch den Get() Aufruf durch das JumpPlay Pacht ausgelöst wird, sollte der VDR in der for Schleife in Get() doch keinen ungültigen mi Pointer liefern, oder?


    Code
    cMark *cMarks::Get(int Position)
    {
      for (cMark *mi = First(); mi; mi = Next(mi)) {
          if (mi->position == Position)
             return mi;
          }
      return NULL;
    }


    - EDIT -
    Nur so eine Idee, basteln hier möglicherweise zwei Threads gleichzeitig an marks, der eine löscht eine und der andere iteriert gerade in cMarks::Get() durch die Liste (oder so was ähnliches) ?( !? Dann wüde Mutex helfen. (Sind aber ältere Aufnahmen, soll heißen noadd ist bei den Abstürzen nicht gleichzeitig daran am arbeiten)


    Grüße Horchi

    Einmal editiert, zuletzt von horchi ()

  • Zitat

    Original von horchi
    Ist das folgende Problem bekannt bzw. gibt es schon eine Lösung?


    Mir war das Problem bisher nicht bekannt. Da ich den BigPatch nicht verwende, habe ich erst vermutet, dass es an Konflikten mit anderen Patches im BigPatch liegt.


    Allerdings hast du recht, dass hier zwei Threads auf die selbe Marken-Liste zugreifen, ohne eine Verriegelung zu verwenden. Der eine Thread (dvbplayer) liest nur. Der andere Thread baut die Liste immer wieder neu zusammen, nachdem er sie neu eingelesen hat (falls noad sie verändert).


    Um festzustellen, ob es wirklich daran liegt (und nicht an Problemen mit anderen Patches), könntest du die Marken-Aktualisierung testweise abschalten: "Einstellungen - Wiedergabe - Intervall für Laden der Marken" auf 0 setzen.


    Tom

  • gelöscht, sorry war doppelt geposted 8o

    Einmal editiert, zuletzt von horchi ()

  • Hi TomG,


    Zitat

    Um festzustellen, ob es wirklich daran liegt (und nicht an Problemen mit anderen Patches), könntest du die Marken-Aktualisierung testweise abschalten: "Einstellungen - Wiedergabe - Intervall für Laden der Marken" auf 0 setzen.


    Ich habe nun 'Sprung bei Schnittmarke' wieder aktiviert und dafür 'Intervall für Laden der Marken' auf 0 gesetzt. Ob es die Abstürze behebt kann ich noch nicht sagen, da diese ja sehr selten auftreten.


    Ich habe mir nun nach deinem Hinweis zum 'laden der Marken' den Code nochmals angesehen und denke du liegst mit deiner Vermutung richtig.


    Und ja, auch andere Patch oder Plugin Entwickler, welche das Verhalten des JumpPlay Patch nicht kennen und davon ausgehen, dass sich die Marken-Liste während der Wiedergabe nicht ändert können in diese Falle tappen.

    Danke und Grüße
    Horchi

  • Hi TomG,


    Nach einer Woche testen kann ich nun bestätigen, dass das Problem nur auftritt, wenn 'Sprung bei Schnittmarke' aktiv ist und gleichzeitig 'Intervall für Laden der Marken' nicht auf 0 steht.


    Grüße Horchi

  • Zitat

    Original von horchi
    Nach einer Woche testen kann ich nun bestätigen, dass das Problem nur auftritt, wenn 'Sprung bei Schnittmarke' aktiv ist und gleichzeitig 'Intervall für Laden der Marken' nicht auf 0 steht.


    Danke fürs Testen. Ich werd mal überlegen, wie ich das besser lösen kann. Ein Mutex erscheint mir auch nicht die richtige Lösung. Vielleicht mache ich es so, dass beide Threads die Marken neu einlesen.


    Ich frage mich, warum das nur bei dir auftritt. Ich hätte jetzt vermutet, du hast einen Rechner mit mehreren Prozessoren. Aber laut Signatur hast du einen Pentium III, da ist es schon recht unwahrscheinlich, dass der Thread an dieser Stelle von dem anderen unterbrochen wird, was man auch daran sieht, dass es bei anderen nicht auftritt.


    Tom

  • Zitat

    Original von horchi
    Nach einer Woche testen kann ich nun bestätigen, dass das Problem nur auftritt, wenn 'Sprung bei Schnittmarke' aktiv ist und gleichzeitig 'Intervall für Laden der Marken' nicht auf 0 steht.


    Ich hoffe, ich habe das Problem jetzt gelöst, siehe [ANNOUNCE] JumpPlay-Patch 0.8


    Kannst du, bitte, testen, ob die Abstürze mit der neuen Patchversion bei dir weg sind?


    Tom

  • Hi TomG,


    Zitat

    Original von TomG


    Ich hoffe, ich habe das Problem jetzt gelöst, siehe [ANNOUNCE] JumpPlay-Patch 0.8
    Kannst du, bitte, testen, ob die Abstürze mit der neuen Patchversion bei dir weg sind?
    Tom


    Danke!
    Ja, der Test läuft, ich melde mich in ein paar Tagen mit dem Ergebnis.


    Ich mußte etwas basteln bis ich die Änderungen im meinen VDR mit Bigpatch etc. drin hatte und hoffe das ich hierbei nichts vermurkst habe. Ich kann leider nur in Verbindung mit dem Bigpatch testen da ich nur einen VDR habe (und da kann ich dem Haussegen zuliebe nicht auf die anderen Features verzichten ;) ).


    Grüße Horchi

  • Hi Tom,


    sieht sehr gut aus, bislang sind keine crashes mehr aufgetreten, ich denke das war's!


    Danke und Grüße
    Horchi

Jetzt mitmachen!

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