[softhddevice HighLevelOSD] Absturz nach DETACH, ATTACH

  • Hi,


    bei mir funktioniert das Detachen und Attachen von Softhddevice mit dieser Version (HightLevelOSD) nicht mehr. Auch SUSP und RESU führt zum selben Ergebis.


    Es verhält sich so, dass ich Softhddevice, zum starten von Kodi, mit DETA oder SUSP deaktivieren kann, will ich es dann aber mit ATTA bzw. RESU wieder aktivieren läuft der VDR genau solange bis ich das OSD öffnen möchte. Das OSD erscheint nicht und weitere Svdrp-Kommandos enden mit einem Timeout. Irgendwann schlägt dann der Watchdog zu und VDR startet neu.


    Softhddevice starte ich so

    Code
    softhddevice -d :0.0 -f -w use-possible-defect-frames -w alsa-close-open-delay


    wenn der VDR startet kommen diese Meldungen im Log

    Code
    Apr 16 11:23:20 VDR-Server vdr: [21531] [softhddev]Trying to start OpenGL Worker Thread
    Apr 16 11:23:20 VDR-Server vdr: [21614] oglThread thread started (pid=21531, tid=21614, prio=high)
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]OpenGL using display :0.0
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]OpenGL Context initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]Shaders initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]vdpau interop initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]Vertex buffers initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]Maximum Pixmap size: 16384x16384px
    Apr 16 11:23:20 VDR-Server vdr: [21531] [softhddev]OpenGL Worker Thread successfully started


    Dann deaktiviere ich Softhddevice mit DETA oder SUSP, wenn ich es wieder mit ATTA oder RESU aktivieren will kommt Bild und Ton, drücke ich eine Taste auf der Fernbedienung öffnet sich kein OSD und es kommt lediglich das im Log


    Nehme ich die originale Softhddevice-Version ohne HighLevelOSD funktioniert das reproduzierbar problemlos.



    Was kann ich machen um nach dem switchen zwischen KODI und VDR den VDR wieder bedienen zu können, ohne auf den Watchdog warten zu müssen ?


    Gruss


    Hollywood

    Server: VDR 2.4.1 mit Ubuntu 19.04 x64 mit vaapidevice, Kernel 5.2.9, ASRock J4105M, 2 x 4096 MB DDR4-RAM, 2 x DD Cine S2, Lirc-Serial mit One4All URC 7960
    Client: VDR 2.4.1 mit Ubuntu 19.04 x64 mit softhddevice-OpenGL oder mit KODI+vnsiserver, Kernel 5.2.5, ASRock H81M, Intel i3-4150, NVIDIA GPU GeForce GT 610 (GF119), 2 x 2048 MB DDR2-RAM, 1 x Technotrend S2-1600, SilverStone Milo ML03, ASRock Smart Remote CIR mit Logitech Harmony 650, Beamer 120'' FullHD-3D

  • Nutzt du die aktuellste Version (Commit fd3db0b) von softhddevice-openglosd? Welchen Skin bzw. Skinplugin nutzt du?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,


    ja, habe vorhin extra nochmal neu ausgecheckt weil ich nicht mehr sicher war, ob ich da irgendwo schonmal selbst rumgefummelt hatte.


    git clone
    make
    make install


    ohne irgendwelche Änderungen am Makefile o.ä.


    Skin ist shady-kiss
    [edit]passiert aber auch mit der Einstellung "Klassischer VDR" im OSD-Setup[/edit]

    Server: VDR 2.4.1 mit Ubuntu 19.04 x64 mit vaapidevice, Kernel 5.2.9, ASRock J4105M, 2 x 4096 MB DDR4-RAM, 2 x DD Cine S2, Lirc-Serial mit One4All URC 7960
    Client: VDR 2.4.1 mit Ubuntu 19.04 x64 mit softhddevice-OpenGL oder mit KODI+vnsiserver, Kernel 5.2.5, ASRock H81M, Intel i3-4150, NVIDIA GPU GeForce GT 610 (GF119), 2 x 2048 MB DDR2-RAM, 1 x Technotrend S2-1600, SilverStone Milo ML03, ASRock Smart Remote CIR mit Logitech Harmony 650, Beamer 120'' FullHD-3D

  • Hi Hollywood,


    wenn es schonmal funktioniert hat, wäre es hilfreich, wenn du den Commit identifizieren könntest, ab dem es nicht mehr ging.


    Wie genau wechselst du denn zu Kodi und zurück?


    Ciao Louis

  • Ich habe das gerade noch mal ausprobiert - mit der aktuellen Version von softhddevice-openglosd kann ich das bei einem einfachen deta -> atta und beim Wechsel zu Kodi und zurück nicht nachvollziehen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • louis


    da hast du mich wohl falsch verstanden. Es ging nicht um einen bestimmten Commit aus deinem Fork mit der OpenGL-Erweiterung. Wenn ich die Version von Johns, ohne OpenGL, installiert hatte hat es reproduzierbar funktioniert. Hab ich wieder deine mit OpenGL genommen kam wieder der Watchdog.


    @all


    ich weiss nicht warum ! Es ging wochenlang wie von mir beschrieben nicht, jetzt funktionierts plötzlich wieder, auch mit der OpenGL-Version. :wow
    Mein Kodi hatte ich das letzte mal im Januar ausgecheckt, habe das vorhin mal aktuallisiert und neu compiliert. Was aber gegen ein Problem von Kodi spricht: Ich habe vorhin, als das Problem noch bestand, "ohne" Kodi getestet, einfach


    svdrpsend plug softhddevice deta
    svdrpsend plug softhddevice atta


    und dann Menü auf der Fernbedienung gedrückt. Dann ging nix mehr, kein OSD und der Watchdog hat den VDR neu gestartet.


    Habe dann das unveränderte Plugin von Johns in mein Plugins-Verzeichnis kopiert, getestet, OSD ging, kein Watchdog.
    Dann wieder Louis seine Version reinkopiert, kein OSD, und Watchdog wieder am Zug. Mehrfach verifiziert.


    Naja, ich kanns nicht so recht nachvollziehen, im Moment funktionierts, und falls sich das ändert melde ich mich hier nochmal. :rolleyes:



    Gruss


    Hollywood

    Server: VDR 2.4.1 mit Ubuntu 19.04 x64 mit vaapidevice, Kernel 5.2.9, ASRock J4105M, 2 x 4096 MB DDR4-RAM, 2 x DD Cine S2, Lirc-Serial mit One4All URC 7960
    Client: VDR 2.4.1 mit Ubuntu 19.04 x64 mit softhddevice-OpenGL oder mit KODI+vnsiserver, Kernel 5.2.5, ASRock H81M, Intel i3-4150, NVIDIA GPU GeForce GT 610 (GF119), 2 x 2048 MB DDR2-RAM, 1 x Technotrend S2-1600, SilverStone Milo ML03, ASRock Smart Remote CIR mit Logitech Harmony 650, Beamer 120'' FullHD-3D

  • Hi,


    wie angedroht, hier melde ich mich wieder. :O


    Nachdem es ja Gestern funktionierte, geht es Heute wieder nicht, Problem wie oben beschrieben. Zum testen mach ich einfach nur


    svdrpsend plug softhddevice deta
    svdrpsend plug softhddevice atta


    und dann Menü auf der Fernbedienung. Kein Script zum starten von Kodi oder so.


    Zwischenzeitlich habe ich den X-Server, wegen einer Änderung in der Xorg.conf, mal neu gestartet. Danach ging es einmal. Habe dann kodi gestartet eswas mit rumgespielt, danach ging es wieder nicht. Ich erkenn da aber noch keine Regelmäßigkeit, wann es geht und wann nicht. ;(


    Und wie gesagt mit der Version ohne OpenGL kommt es nicht zu diesem Problem, irgendetwas wird es wohl mit der OpenGL-Geschichte zu tun haben. Wie in meinem Log-Ausschnitt auch zu sehen, ist immer bei

    Code
    [softhddev]OpenGL using display :0.0

    schluss. Soweit wie hier

    Code
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]OpenGL using display :0.0
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]OpenGL Context initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]Shaders initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]vdpau interop initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]Vertex buffers initialized
    Apr 16 11:23:20 VDR-Server vdr: [21614] [softhddev]Maximum Pixmap size: 16384x16384px
    Apr 16 11:23:20 VDR-Server vdr: [21531] [softhddev]OpenGL Worker Thread successfully started

    kommt es dann nie.


    Was kann ich denn noch für Informationen liefern um der Ursache auf die Spur zu kommen ??


    Gruss


    Hollywood

    Server: VDR 2.4.1 mit Ubuntu 19.04 x64 mit vaapidevice, Kernel 5.2.9, ASRock J4105M, 2 x 4096 MB DDR4-RAM, 2 x DD Cine S2, Lirc-Serial mit One4All URC 7960
    Client: VDR 2.4.1 mit Ubuntu 19.04 x64 mit softhddevice-OpenGL oder mit KODI+vnsiserver, Kernel 5.2.5, ASRock H81M, Intel i3-4150, NVIDIA GPU GeForce GT 610 (GF119), 2 x 2048 MB DDR2-RAM, 1 x Technotrend S2-1600, SilverStone Milo ML03, ASRock Smart Remote CIR mit Logitech Harmony 650, Beamer 120'' FullHD-3D

  • Was kann ich denn noch für Informationen liefern um der Ursache auf die Spur zu kommen ??

    Du könntest mal den Watchdog deaktivieren (-w 0) und dann das Problem herbeiführen, dich mit gdb an den VDR-Prozess attachen ("gdb attach $(pidof vdr)") und dann mit bt und bt full (vorzugsweise mit installierten Debug-Symbolen) nachsehen, was da hängen geblieben ist.


    Wie und mit welchen Argumenten startest du den X-Server?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Also den X-Server starte ich über eine selbst erstelle service-datei über systemd. Oder wie jetzt nachdem ich ihn mit killall Xorg beendet hatte einfach mit einem X& unter Debian.


    Ich habe jetzt mal versucht deine Tips umzusetzten, ich hoffe das ist richtig so.




    Server: VDR 2.4.1 mit Ubuntu 19.04 x64 mit vaapidevice, Kernel 5.2.9, ASRock J4105M, 2 x 4096 MB DDR4-RAM, 2 x DD Cine S2, Lirc-Serial mit One4All URC 7960
    Client: VDR 2.4.1 mit Ubuntu 19.04 x64 mit softhddevice-OpenGL oder mit KODI+vnsiserver, Kernel 5.2.5, ASRock H81M, Intel i3-4150, NVIDIA GPU GeForce GT 610 (GF119), 2 x 2048 MB DDR2-RAM, 1 x Technotrend S2-1600, SilverStone Milo ML03, ASRock Smart Remote CIR mit Logitech Harmony 650, Beamer 120'' FullHD-3D

  • Also den X-Server starte ich über eine selbst erstelle service-datei über systemd. Oder wie jetzt nachdem ich ihn mit killall Xorg beendet hatte einfach mit einem X& unter Debian.

    Kannst du mal das Start-Argument "-noreset" für den X-Server dazu nehmen? IIRC kann das sonst merkwürdige Effekte geben, wenn man den letzten Client des X-Servers beendet und danach wieder auf den X-Server zugreifen will.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe den Parameter jetzt mal in der Konsole und in meiner Service-Datei mit angegeben. Zwischenzeitlich hat es damit einmal nicht, aber danach immer, auch nach einem reboot/shutdown funktioniert.


    Meine startx.service sieht nun so aus



    Was mir auch aufgefallen ist, ich kann mich bei diesen vielen detach, attach und Neustarts auch täuschen, aber ich meine wenn es funktionierte war nach dem detachen das Mauskreuz auf dem schwarzen Schirm zu sehen, wenn es nicht ging war das Mauskreuz nach dem detachen von Softhddevice nicht da, der Bildschirm also komplett schwarz.


    Was mich aber auch wundert, warum passiert das nur mit der OpenGL-Version ? Als Louis diese Version damals released hatte, hatte ich Probleme damit den VDR zu starten, da gabs dann sofort einen segfault. Das hatte auch irgendwie mit dem Start des X-Servers zu tun, von Hand von der Konsole ging es, automatisch nicht. Ich habe dann irgendwie in den Startscripten rumgebastelt (runvdr-extreme) dann ging es auch irgendwann automatisch. Auch das hatte zuvor mit der Version von Johns, ohne OpenGL, jahrelang funktioniert.


    Irgendwas wird wohl an meiner Konfiguration faul sein, sodass es bei mir zu so blöden Problemen kommt.

    Server: VDR 2.4.1 mit Ubuntu 19.04 x64 mit vaapidevice, Kernel 5.2.9, ASRock J4105M, 2 x 4096 MB DDR4-RAM, 2 x DD Cine S2, Lirc-Serial mit One4All URC 7960
    Client: VDR 2.4.1 mit Ubuntu 19.04 x64 mit softhddevice-OpenGL oder mit KODI+vnsiserver, Kernel 5.2.5, ASRock H81M, Intel i3-4150, NVIDIA GPU GeForce GT 610 (GF119), 2 x 2048 MB DDR2-RAM, 1 x Technotrend S2-1600, SilverStone Milo ML03, ASRock Smart Remote CIR mit Logitech Harmony 650, Beamer 120'' FullHD-3D

  • Hi Hollywood,


    naja, der Unterschied zwischen der OpenGL Version und der Originalen ist einfach, dass die OpenGL Version OpenGL benötigt ;)


    Bei dir bleibt die Initialisierung des OpenGL Kontexts im glutInit() hängen, anscheinend wenn der X Server zu diesem Zeitpunkt irgendwie komisch läuft. Laut der Doku hier gibt es da noch ein paar Parameter, ggf. könnte man mal testen, ob z.B. "indirect" was bringen würde. Dazu müsstest du testweise in der Datei openglosd.cpp ab Zeile 1563 mal folgendes ändern:


    Code
    - int argc = 3;
    + int argc = 4;
    - char* buffer[3];
    + char* buffer[4];
      buffer[0] = strdup("openglosd");
      buffer[1] = strdup("-display");
      buffer[2] = strdup(displayName);
    + buffer[3] = strdup("-indirect");
      char **argv = buffer;
    ...


    Keine Ahnung, ob das was bringt bzw. ob es überhaupt funktioniert ;)


    Ciao Louis

  • Hi Louis,


    also derzeit funktioniert es bei mir. Der Paramter "-noreset", auf den mich seahawk1986 hingewiesen hat, war wohl entscheidend. Habe auch grade hier etwas diesbezüglich gefunden.


    Ich behalte deinen Tip mal im Hinterkopf, für den Fall dass es nochmal zu Problemen kommt.


    Danke erstmal für die Hilfe ! :]



    Gruss


    Hollywood

    Server: VDR 2.4.1 mit Ubuntu 19.04 x64 mit vaapidevice, Kernel 5.2.9, ASRock J4105M, 2 x 4096 MB DDR4-RAM, 2 x DD Cine S2, Lirc-Serial mit One4All URC 7960
    Client: VDR 2.4.1 mit Ubuntu 19.04 x64 mit softhddevice-OpenGL oder mit KODI+vnsiserver, Kernel 5.2.5, ASRock H81M, Intel i3-4150, NVIDIA GPU GeForce GT 610 (GF119), 2 x 2048 MB DDR2-RAM, 1 x Technotrend S2-1600, SilverStone Milo ML03, ASRock Smart Remote CIR mit Logitech Harmony 650, Beamer 120'' FullHD-3D

Jetzt mitmachen!

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