Neues X server Handling in der runvdr-extreme. Bitte um Tester.

  • Ein VDR-Absturz sollte auch in der alten Version zu einem Neustart des X-Servers führen. Es gab Zeiten wo das auch durchaus angebracht war, weil der Nvidia-Treiber durchaus für Probleme sorgen konnte. Keine Ahnung ob man heutzutagen den X-Server durchlaufen lassen könnte.


    Bleibt die Frage, warum der VDR überhaupt abstürzt. Ist aber nicht das erste Problem beim Suspenden. Hast du die neueste GIT-Version vom softhddevice installiert?

  • Ich habe bisher die V0.6.0 von softhddevice, aber auch das aktuelle git von heute bringt den Absturz:

    Code
    Jan 12 13:31:02 macvdr kernel: [10360.753153] vdr[5437]: segfault at b174017b ip b174017b sp 941ff230 error 14 in libnss_compat-2.13.so[b1e25000+6000]


    Ich nutze den NVIDIA-Treiber (Version: 304.88-1+deb7u1) von Debian.


    Ein Backtrace liefert leider nicht viel:


    Ist ggf. ggü. der alten runvdr-Version noch etwas am Aufruf zu ändern - derzeit sieht das in meinem init.d Skript so aus:


    Marcus

    My VDRs:

  • Ich habe nun alle Plugins außer SHDD entfernt. Dasselbe Problem, jedoch ohne Segfault. Der VDR startet einfach neu nachdem ich SHDD ein "SUSP" gebe - mit der runvdr 0.5.0 klappt alles - da kann ich SHDD wieder ein RESU schicken und das Bild ist wieder da.


    Ich habe sogar den NVIDIA-Treiber von Debian entfernt und einen anderen direkt installiert. Selbes Problem. Nebenbei wollte ich auch den aktuellen 331.20 Treiber installieren - bei diesem friert der Rechner beim Start des VDR völlig ein (hat jetzt nichts mit der runvdr zu tun - ist bei beiden Versionen so).


    Dessweiteren habe ich

    Code
    DAEMONARGS="-C /etc/runvdr-$VDRVERSION-initd.conf 1> $LOGFILE 2>&1"


    in

    Code
    DAEMONARGS="-C /etc/runvdr-$VDRVERSION-initd.conf"


    geändert.


    Alles ohne Erfolg.


    Hier mal die Konfiguratiosdateien.


    Marcus

    Dateien

    My VDRs:

  • Das muss ich bei mir mal durchspielen, was passiert, wenn ich "SUSP" auslöse. Irgendwo muss sich softhddevice ja was anders verhalten als beim mit xinit gestarteten X-Server. Notfalls baue ich an den passenden Stellen mal nen Schwung printfs hin.


    Was wohl passiert, ist, dass die letzte Verbindung zum Server geschlossen wird. Dieses "xinit" hält wohl eine eigene Verbindung. Der X-Server sieht also immer mindestens einen Client. Das sollte aber eigentlich garnichts ausmachen. Der X-Server sollte eigentlich weiterlaufen...

  • Hat etwas gedauert bis ich dazu gekommen bin und bis ich den Fehler auch wirklich gefunden habe, aber jetzt glaube ich die Ursache gefunden zu haben.


    Komischerweise hat "SUSP" und "RESU" bei mir funktioniert. Erst ein "DETA" hat den VDR gekillt. Mögliche Lösung:


    Packt mal in eure "runvdr.conf" folgendes als "XSERVER" rein:


    Code
    XSERVER="/usr/bin/X -nolisten tcp -noreset"


    Ohne die Option "-noreset" beendet sich der X-Server wenn der letzte Client sich abmeldet. Da auf unserem X-Server erstmal nur der VDR aktiv ist, ist das keine gute Idee.


    Ich könnte das jetzt irgendwie in der runvdr reinfrickeln, ich tendiere aber dazu lieber die Example-runvdr und die man-Page anzupassen und eine Notiz ins Changelog zu packen, denn ich finde der Benutzer sollte die Kontrolle über diese Einstellung behalten. Oder wie seht ihr das?


    Bitte prüfen ob das auch bei euch funktioniert.

  • Das steht bei mir schon seit Ewigkeiten so drin?!


    Gruß
    iNOB

  • Bitte prüfen ob das auch bei euch funktioniert.

    Ich habe den Aufruf geändert und der Absturz ist nicht mehr vorhanden. SHDD lässt sich nun wieder sauber anhalten und fortsetzen. Ich werde die neue Version beibehalten...falls sich doch noch was anderes bemerkbar macht.


    Danke für das Auffinden der Ursache,
    Marcus

    My VDRs:

Jetzt mitmachen!

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