[ANNOUNCE] VDR Version 2.6.3 freigegeben

  • CKone hat die in seinem PPA schon eingearbeitet: https://launchpad.net/~ckone/+archive/ubuntu/jammy-vdr

    Nachdem ich nun nach beherztem "dist-upgrade" und ein paar Nacharbeiten die Vorraussetzungen zur Nutzung des o.g. PPA's hatte, bin ich leider trotzdem nicht zum Ziel gekommen.

    Ich nutze das vdr-2.6.3 PPA von seahawk1986 (da sind ein paar Plugins drin, die ich brauche und die CKone leider nicht im PPA hat) und füge dann das PPA von CKone hinzu. Nach einer apt Aktualisierung tauscht er auch brav allein das vdr Paket aus - soweit ok.


    Leider zeigt er mir nach dem Neustart keinerlei OSD mehr an (skindesigner - es soll zapcockpit zum Einsatz kommen). Im Log sieht man nur:

    Code
    Jan 18 15:26:06 yavdr vdr: [4452] ERROR: attempt to open OSD while it is already open - using dummy OSD!
    Jan 18 15:26:06 yavdr vdr: [4452] ERROR: cOsd::SetAreas returned 5 (wrong alignment)
    Jan 18 15:26:06 yavdr vdr: [4452] skindesigner: Error initiating displaychannel view - aborting

    Wenn ich das Quellpaket aus seahawks Repo mit dem Patch aktualisiere, passiert das Gleiche.


    Ich nutze softhddevice mit "-v cuvid" - was ohne Patch auch prima funktioniert. Beim vdr Start (mit Patch) steht noch folgendes im Log:

    Code
    Jan 18 15:21:30 yavdr vdr: [4452] [softhddev]Trying to start OpenGL Worker Thread
    Jan 18 15:21:30 yavdr vdr: [4600] oglThread thread started (pid=4452, tid=4600, prio=high)
    Jan 18 15:21:30 yavdr vdr: [4600] [softhddev]OpenGL Context initialized
    Jan 18 15:21:30 yavdr vdr: [4600] [softhddev]Shaders initialized
    Jan 18 15:21:30 yavdr vdr: [4600] [softhddev]Vertex buffers initialized
    Jan 18 15:21:30 yavdr vdr: [4600] [softhddev]Maximum Pixmap size: 32768x32768px
    Jan 18 15:21:30 yavdr vdr: [4452] [softhddev]OpenGL Worker Thread successfully started
    Jan 18 15:21:30 yavdr vdr: [4600] [softhddev]ERROR: Framebuffer is not complete! 8cd6
    Jan 18 15:21:30 yavdr vdr: [4452] ERROR: cOsd::SetAreas returned 5 (wrong alignment)
    Jan 18 15:21:30 yavdr vdr: [4452] skindesigner: Error initiating displaychannel view - aborting

    Hat hier jemand eine Idee oder nutzt jemand das PPA von CKone unter ähnlichen Bedingungen ohne Probleme?

  • Hi,

    Du musst alles aus einem ppa nutzen. Nur den VDR geht nicht. Die Plugins werden ja dagegen gebaut.

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Hi,

    Du musst alles aus einem ppa nutzen. Nur den VDR geht nicht. Die Plugins werden ja dagegen gebaut.

    MfG Stefan

    Grundsätzlich richtig - im konkreten Fall sollten die Versionen an sich grundsätzlich passen. I


    ch hatte aber auch geschrieben dass ich den Fehler auf die gleiche Art sehe, wenn ich das Source-Paket mit dem (dort ja schon enthaltenen) Patch versehe und anschließend mit erhöhter Versionsnummer nutze...

  • Hi,

    Und du hast auch nicht nur VDR sondern auch alle Plugins nach dem Patchen neu gebaut? Möglichst, wenn drin, mit dem src der damit im ppa gebaut wurde?

    Könntest noch das ppa forken und ergänzen.

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Ich hatte jetzt schon mehrfach den Fall, dass VDR hängen blieb. Debuggen konnte ich das zweimal, als ich eine Wiedergabe starten wollte und in diesem Moment offenbar ein Schnittprozess fertig wurde.


    Es hat offenbar etwas mit dem LOCK_RECORDINGS_WRITE und dem mutex im cRecordingshandler zu tun, mir ist aber nicht klar, wo welche Locks zuvor angefordert werden. Es scheint aber mit dem Patch http://git.tvdr.de/?p=vdr.git;…a62c38bea4712272623779b5e von VDR 2.6.2 zusammen zu hängen, da damit das LOCK_RECORDINGS_WRITE in cRecordingsHandlerEntry::Active() reingekommen ist.

    Vielleicht kann jemand mehr aus den Backtraces lesen?

  • Vielleicht kann jemand mehr aus den Backtraces lesen?

    Ich hatte ein ähnliches Problem, allerdings ist der VDR bei mir immer beim Verschieben von Verzeichnissen hängen geblieben.

    Beim debuggen bin ich dann an der gleichen Stelle wie Du gelandet (cRecordingshandler und cRecordingsHandlerEntry::Active()) und im Endeffekt beim gleichen commit.


    Das Ganze war bei mir auch soweit reproduzierbar und ich habe dann einen Zusammenhang mit dem offenen Menü festgestellt, da es ohne offenem Menü nie passiert ist. Da ich bei mir die menu.c aber massiv gepatcht habe um eine "bessere" Bedienung zu realisieren, habe ich es erst einmal darauf geschoben und nicht am Plain-VDR weiter verfolgt.


    Im Endeffekt kommen sich aber hier LOCKS aus der menu.c und der recordings.c ins Gehege.

    Für den Fall "Verschieben" habe ich für mich eine Lösung in der Funktion "cMenuPathEdit::ApplyChanges" gefunden:

    Die Lösung war hier das "LOCK_RECORDINGS_WRITE" durch das "if()" zu ersetzen. Seit dieser Änderung konnte ich keine LOCKS mehr feststellen und auch keine sonstigen negativen Auswirkungen. Mir ist aber auch noch nicht klar, ob das die Lösung ist oder nur ein workaround.

    Ob sich das jetzt auf Deinen Fall anwenden lässt, kann ich nicht sagen.


    Da sich ein vergleichbares Problem aber auch beim Plain-VDR zeigt, sollten wir hier vielleicht kls mit ins Boot holen, denn so ganz zufriedenstellend scheint der genannte commit im VDR-2.6.2 ja nicht zu sein.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • kamel5: Danke für Deine Rückmeldung.

    Fairerweise muss ich natürlich zugeben, dass mein VDR auch gepatched ist :) auch wenn ich denke, dass das alles vergleichsweise harmlose Patches sind die nicht in das Locking eingreifen wie z.B. der menu-selection-Patch.


    Weil Du "Verschieben" genannt hast: da fällt mir ein, dass ich es auch schon einmal hatte beim Verschieben einer Aufnahme auf die zweite phys. Platte.

  • Bei mir hängt der VDR seit Version 2.6.2 auch beim Verschieben von Aufnahmen und es hilft nur ein Neustart.

    VDR-Server: Gigabyte B75M-D3H, i3-3220, TT S2-4200, TT S2-3200
    e-tobi VDR 2.4.1
    VDR-Client: Antec Micro Fusion Remote, Asus M4N78-VM, AMD Athlon II X2 235e,
    TT S2-1600
    yavdr 0.7

  • auch wenn ich denke, dass das alles vergleichsweise harmlose Patches sind die nicht in das Locking eingreifen wie z.B. der menu-selection-Patch.

    Ja, ich habe auch solche Patche drin, und konnte bisher keinen dieser Patche als Verursacher ausmachen.

    Weil Du "Verschieben" genannt hast: da fällt mir ein, dass ich es auch schon einmal hatte beim Verschieben einer Aufnahme auf die zweite phys. Platte.

    Stimmt, es muss ein extra Filesystem sein, sonst wird "cRecordingshandler" nicht benutzt.

    Bei mir hängt der VDR seit Version 2.6.2 auch beim Verschieben von Aufnahmen und es hilft nur ein Neustart.

    Also doch ein größeres Problem.


    Ich hatte schon mal überlegt, den genannten commit bei mir rückgängig zu machen (ich hatte vorher keinerlei Probleme), das bringt aber auch keine längerfristige Lösung.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Ich habe mal das recording.c von vanilla 2.6.1 und 2.6.3 verglichen:

    Da war ja vorher in cRecordingsHandler::Action() ein LOCK_RECORDINGS_WRITE vor dem &mutex drin !! :wow

    Das war zwar für das SetExplicitModify(), hat aber außerdem das Setzen der Mutexe in der falschen Reihenfolge verhindert!

    Morgen werde ich das mal ausprobieren in der Hoffnung, dass es keine Nebenwirkungen hat ...

  • Das LOCK_RECORDINGS_WRITE dort wieder einzubauen, funktioniert so nicht einfach. Dann müsste auch wieder das LOCK_RECORDINGS_WRITE in cRecordingsHandlerEntry::Active() verschwinden, denn es kann, wie man so schön sagt "nur einen geben" :) Sonst gibt es wieder einen segfault.

    Im Endeffekt würde das aber bedeuten, den ganzen commit rückgängig zu machen, oder auf eine andere Art und Weise die "Recordings" in cRecordingsHandlerEntry::Active() verfügbar zu machen.


    Im Moment habe ich an dieser Stelle auch keine weiteren Ideen, da ich auch nicht weiß, warum dieser commit genau notwendig war.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Ich habe jetzt mal die Änderung

    Klaus Schmidinger's git trees - vdr.git/commitdiff

    rückgängig gemacht und dafür beiliegenden Patch vdr-2.6.3-fix-deadlock.diff gemacht. Damit sollten die aktuellen Deadlocks behoben sein (weil das Verhalten wieder so ist wie vorher) und der Absturz beim Abbrechen eines Schnittvorgangs, während die geschnittene Aufnahme abgespielt wird, auch gefixt sein (letzteres hab ich selber verifiziert).

    In vdr-2.6.3-fix-deadlock-full.diff ist auch das Rückgängigmachen der ursprünglichen Änderung mit drin.

  • Ja, habe ich gemacht und es sieht erst einmal wieder gut aus. Der ursprüngliche commit wurde ja reverted, damit sollten alle damit verbundenen Probleme beseitigt sein.

    Ich werde das aber weiter beobachten.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Ich habe das auch schnell mal getestet. Mit dem Patch vdr-2.6.3-fix-deadlock.diff klappt bei mir das Verschieben von Aufnahmen wieder.

    Ich nutzte Yavdr. Hat sonst keiner das Problem oder verschiebt niemand Aufnahmen?

    VDR-Server: Gigabyte B75M-D3H, i3-3220, TT S2-4200, TT S2-3200
    e-tobi VDR 2.4.1
    VDR-Client: Antec Micro Fusion Remote, Asus M4N78-VM, AMD Athlon II X2 235e,
    TT S2-1600
    yavdr 0.7

  • Hat sonst keiner das Problem oder verschiebt niemand Aufnahmen?

    Naja, das Problem tritt nur unter bestimmten Randbedingungen auf:

    - Verschieben auf ein anderes Dateisystem

    - Verschieben eines Ordners mit mehreren Aufnahmen


    Damit der Fehler auftritt muss der cRecordingsHandler benutzt werden und das ist nicht immer der Fall.

    Also schon möglich, das es sonst keinem aufgefallen ist.


    Grüße

    kamel5

    VDR 2.6.6: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 39 Kernel 6.8 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

    Einmal editiert, zuletzt von kamel5 ()

  • Ich verschiebe relativ häufig Aufnahmen auf meine Archivplatte. Ja, es gab Abstürze bei mir.

    Schneide und verschiebe meist gleich danach, hätte vor längerer Zeit mal einen Beitrag zu dem crash verfasst.
    Kann aber sein das ich auf dem Holzweg bin.

Jetzt mitmachen!

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