Gelöst - VDR startet nicht vollständig mit Gentoo Kernel 6.3.7

  • Ich habe ein Headless Gentoo VDR System mit Digital Devices DVC Karte mit Erweiterungsmodul und selbst übersetzten aktuellen VDR.


    Das einzige externe Module ist it87 für den Sensor.


    Mit Gentoo Kernel 6.3.7 startet der VDR nicht richtig durch, Symptome sind das VDR Admin und PVR VNSI Erweitungung sich nicht verbinden können, Aufnahmen laufen.


    Die Kernel .config kopiere ich immer aus den alten Quellen und mache dann ein make oldconfig um neu hinzugenommene Optionen zu konfigurieren.


    Kaltstart heute mit dem Kernel 6.3.7, alles wird vom Sytem erkannt



    VDR hört auf nach dem ersten Adapter im Syslog.


    Den VDR 2.6.4 hatte ich zuletzt im November 2022 übersetzt, deshalb habe ich noch einen git pull durchgeführt was ein paar Updates gezogen hat. Mit einer neu kompilierten Version hat es trotzdem nicht funktioniert.


    Nach einem Downgrade auf Kernel 6.3.5 ist alles wieder normal



    Laut Modinfo hat sie der Quelltext für das DD Modul nicht verändert



    Die Hashes der Dateien für den cxd2841er Frontend Treiber sind identisch.


    Mir fehlt das Wissen um zu verstehen ob das ein Problem im Kernel ist oder vom VDR.

  • Hi,

    Teste doch mal ohne Plugins, die nicht nötig sind.

    Braucht es evtl das Closed Src Treiberpaket? Die Kerneltreiber werden ja nicht mehr weiterentwickelt.

    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 denke nicht, dass es an einem Plugin liegt.


    Es sieht so aus, als wenn vdr in dvbdevice.c QueryDeliverySystems während der Prüfung der zuvor gefundenen DVB devices auf ihre Fähigkeiten ("Capabilites") stecken bleibt.

    Aber warum? Wenn es mit den DVB devices ein Problem gäbe sollte vdr entsprechende Fehlermeldungen ausgeben. Eventuell muss man da im Code noch mehr Debug-Meldungen einbauen, um auch unerwartete Situationen abzufangen.


    Was passiert denn im Fehlerfall nach dem Logeintrag "frontend 0/0 provides ..."?

    • Gibt dmesg zeitgleich eine Fehlermeldung?
    • Bleibt vdr da hängen oder geht es weiter? ist dann das eine DVB device (adapter 0 frontend 0) benutzbar?
      • macht es dann einen Unterschied, wenn Du vdr mit der Option --device=0 startest?

    Was ist, wenn Du vdr mit der Option --device=1 oder höher startest? Was loggt vdr dann?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Beim Start ohne Plugins bleibt er auch nach der ersten Karte stehen



    Es gibt im dmesg keine zugehörige Fehlermeldungen.


    Danach kommen keine Meldungen im Syslog vom VDR.


    Der VDR Prozess läuft weiter und lässt sich nicht killen.


    Mit --device=1 oder --device=0 hört der Prozess sofort auf und hinterlässt keine Einträge im Syslog. Es ist auch nur eine Karte mit Erweiterung verbaut.


    Ich habe den Parameter -l 2 beim starten entfernt und bekomme so mehr Einträge im Syslog


  • Es scheint, als wenn einige Patches in dvb-core im 6.3.7 die Ursache sind:

    Sometimes DVB broken with commit 6769a0b7ee0c3b - Thomas Voegtle

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Aussage vom Maintainer (Mauro) dazu:

    Code
    Yeah, clearly it is related to the changes introduced by:
    6769a0b7ee0c ("media: dvb-core: Fix use-after-free on race condition at dvb_frontend")
    my guess is that there's now a deadlock between semaphore fepriv->sem and
    the newly-introduced fe->remove_mutex mutex.
    
    It is probably better to revert 6769a0b7ee0c, and work on another
    approach for the UAF that would use or work better with the fepriv->sem
    semaphore.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Das ist auch erst am 14.06. gefixt worden:

    linux.git - Replica of the main kernel tree

    Im 6.4-rc6 ist es bisher nicht angekommen.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • mauerspecht

    Changed the title of the thread from “VDR startet nicht vollständig mit Gentoo Kernel 6.3.7” to “Gelöst - VDR startet nicht vollständig mit Gentoo Kernel 6.3.7”.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!