Absturz des vdr mit Kernel-Fehler mit softhddevice und skinnopacitiy beim Menüaufruf

  • Hallo,


    Ich habe habe folgendes Problem:
    Wenn ich vdr mit softhddevices und skinnopacity benutze und das Menü aufrufe stürzt der vdr mit einem Kernelfehler ab.


    Meine Konfig:
    Kubuntu 13.10, vdpau mit NVidia 331.49 Treibern, vdr 2.0.1 und Plugins selbst compiliert.
    Skinnopacity Version 1.0.4. (neueste)


    Obiges Problem hatte ich übrigens mit va-api vorher nicht, allerdings mit va-api ohne NVidia gab es Artefakte usw., siehe andere Posts dazu.


    Hier das log Protokoll von vdr:


    Ich habe bereits Composite in der xorg.conf disabled, aber das hat nicht geholfen. Den Hinweis gab es mal hier im Forum dazu.


    Kann es mit meinem Wechsel von va-api zu vdpau zu tun haben? Ich habe den vdpau Support erst später eingeführt. Bei va-api ging skinnopacity, (aber andere Dinge waren unzufriedenstellend.).


    Danke und Gruß


    honterus0

  • Erzeuge doch mal einen Backtrace davon. Mit gdb ginge das z.B. so:

    Code
    ulimit -c unlimited
    gdb --args vdr -P skinnopacity [restliche Plugins und Argumente]


    Und dann lässt du es mit "run" loslaufen und schaust, was nach dem Crash im Stack ist:

    Code
    bt
    bt full

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi,


    Bringe das mal in Ordnung:


    Code
    Mar  9 14:32:38 linvdr vdr: [2945] ERROR: error in /usr/local/vdr/config/themes/nOpacity-AKGrey.theme, line 10: unknown color name


    Sollte zwar nicht zu einem Crash führen, aber wer weiss ;)


    Ansonsten Backtrace wie seahawk geschrieben hat...evtl. könnte es was mit deiner dauernd wechselnden OSD Größe zu tun haben.


    Ciao Louis

  • Hallo,


    @ louis:


    der Fehler mit den falschen (?) Farben kommt leider immer wieder. Ich habe verschiedene Themes getestet, aber das Ergebnis bleibt gleich; es gibt immer wieder log-Einträge, die so lauten, wie die von dir genannte Error Meldung. Ich glaube nicht, dass das Problem hierin liegt.


    @ seahawk:
    Ich habe den vdr innnerhalb gdb laufen lassen. Hier ist das Ergebnis von bt:


    und hier ist das Ergebnis von bt full:

    Code
    (gdb) bt full
    #0  0x00007ffff124bd5f in VideoSetOutputPosition (hw_decoder=0x1be0fd0, x=465, y=92, width=612, height=<optimized out>) at video.c:10599
    No locals.
    #1  0x00007ffff3b60cf5 in cNopacityDisplayMenu::Flush() () from /usr/local/vdr/PLUGINS/lib/libvdr-skinnopacity.so.2.0.0
    No symbol table info available.
    #2  0x000000000049abac in cInterface::GetKey(bool) ()
    No symbol table info available.
    #3  0x0000000000466be8 in main ()
    No symbol table info available.
    (gdb)


    Was meint Ihr dazu?


    Mir fällt Folgendes auf:

    Code
    Program received signal SIGFPE, Arithmetic exception.
    0x00007ffff124bd5f
     in VideoSetOutputPosition (hw_decoder=0x1be0fd0, x=465, y=92, 
    width=612, height=<optimized out>) at video.c:10599
    10599         
     height = width * 
    hw_decoder->Vaapi.InputHeight*hw_decoder->Vaapi.InputAspect.den/hw_decoder->Vaapi.InputWidth/hw_decoder->Vaapi.InputAspect.num;


    Darin ist das Stichwort "Vaapi" genannt. Für Euch zur Info: Ich hatte bis gestern noch ein va-api system ohne GraKa von NVidia; bin nach Problemen mit der Bild-Ton-Synchronisation jetzt auf vdpau mit einer neuen GT630 übergangen (siehe auch andere Threats von mir in diesen Tagen). Vielleicht sind da noch "va-api"-Reste irgendwo?


    Ich habe vdr und die Module mit make clean und make neu erzeugt, aber könnte es sein, dass da noch va-api irgendwo rumschwirrt?


    Danke und Gruß


    honterus0

  • Hast du das Makefile auf den originalen Stand gebracht oder sind da noch Umbauten für VAAPI und/oder OPENGL vorhanden?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • @ seahawk1986:
    Ich habe das Makefile nie händisch modifiziert. Es müsste noch das Original sein, allerdings könnte es über Abhängigkeiten von installierten Paketen vielleicht falsch laufen. Sowas hatte ich heute morgen bei Übergang von va-api zu vdpau. Hatte eine Meldung sinngemaß wie "vdpau not supported", aber das konnte ich beheben. Wie kann ich feststellen, ob das Makefile für VA-API oder für VDPAU konfiguriert ist?


    @ 3PO:
    Wie kann ich debug-flags einbauen?


    Danke!


    honterus0

  • Bei Gen2VDR wird man vom Buildscript gefragt, ob man mit "debug" bauen will, wie das bei "linvdr" ist, weiß ich leider nicht. ;)


  • Ich habe das Makefile nie händisch modifiziert.


    Wie alt ist denn das softhddevice-Plugin? In den aktuellen Versionen aus dem Git ist VAAPI schon lange nicht mehr standardmäßig aktiv: http://projects.vdr-developer.…ice.git/tree/Makefile#n21

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • seahawk1986:


    Das softhddevice ist aktuell, Version 0.60, habe mit git verglichen und es sollte kein Unterschied sein. Das Makefile arbeitet übrigens so, dass es über Paketinstallationen prüft, ob va-api installiert ist. Wenn ja, wird ein Flag gesetzt und va-api wird dann unterstützt. Das Gleiche gilt für vdpau. So habe ich heute Morgen vdpau Unterstützung einfach dazubekommen, als auch das vdpau-dev Paket dabei war. Mehr musste ich nicht machen.


    Soll ich die libva-dev entfernen? Dann würde das Flag für va-api auf Null gesetzt werden und die va-api Unterstützung wäre weg.


    Wenn ich darüber nachdenke, dann denke ich, ich werde es so probieren.


    Andrerseits, kann man keinen vdr und Module bauen, die beides unterstützen? Ich habe beim softhddevice mit der Option -v vdpau eigentlich die Hw spezifizier oder nicht?


    Ich gebe Bescheid, wenn ich das Makefile umgebaut habe und nur noch für vdpau compiliert habe.


    Ciao,


    honterus0

  • @ seahawk1986:
    Die Version von meinem softhddevice ist wohl gleich, aber ich werde nochmals prüfen, ob im Makefile auch bei mir VA-API und OpenGL deaktiviert sind; könnte sein, dass das nicht der Fall ist.


    Wie gesagt, ich gebe noch Bescheid, was los ist. Jetzt ist (leider) Familienfernsehabend, daher kein Zugang zum vdr.


    Gruß


    honterus0

  • Das Makefile arbeitet übrigens so, dass es über Paketinstallationen prüft, ob va-api installiert ist.

    Genau, es prüft über pkg-config, ob die entsprechenden Bibliotheken vorhanden sind. Allerdings wird bei dem Git-Stand die Variable für VAAPI nie auf 1 gesetzt, weil die Abfrage auskommentiert ist:

    Code
    #VAAPI ?= $(shell pkg-config --exists libva && echo 1)

    Und dann dürfte der Aufruf im Backtrace nicht im Kompilat exisiteren, weil -DUSE_VAAPI an dieser Stelle im Makefile nicht gesetzt wurde und der Precompiler das Stück aus der video.c rauswirft: http://projects.vdr-developer.…e.git/tree/video.c#n10459


    Also kompilierst du entweder mit make VAAPI=1 oder du hast noch ein altes Kompilat unter /usr/local/vdr/PLUGINS/lib/libvdr-skinnopacity.so.2.0.0

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo,


    das Problem ist gelöst. Die Hinweise von seahawk1986 waren goldrichtig.
    Ich habe das Makefile geändert und VA-API deaktiviert und ...
    ... siehe da es geht. :]


    Jetzt habe ich noch ein weiteres kleines Problem, denn der Skin nopacity sieht nicht so aus, wie das bei VA-API der Fall war. Z.B. fehlt die Farbe bei den vier Tasten; es steht nur deren Funktion und auch sonst ist das Ding nicht mit Transparenz und so weiter wie das mal war.


    Ich mache dazu einen Thread auf, falls ich nicht vorher etwas dazu finde (jedoch nicht mehr heute).


    Danke Euch allen !!


    honterus0

Jetzt mitmachen!

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