[rpihddevice] failed to create window surface: bad native window!

  • Hallo Zusammen,


    ich habe immer wieder sporadisch beim staren des VDRs folgende Fehler:


    Code
    1. May 25 17:56:57 kurt vdr: [10547] rpihddevice: [EGL] failed to create window surface: bad native window!
    2. May 25 17:56:57 kurt vdr: [10547] rpihddevice: [EGL] failed to set surface attributes: bad surface!
    3. May 25 17:56:57 kurt vdr: [10547] rpihddevice: [EGL] failed to connect context to surface: bad match!


    Ein vermutlicher Folgefehler:


    Code
    1. May 25 17:57:15 kurt vdr: [10527] ERROR: cOsd::SetAreas returned 5 (wrong alignment)
    2. May 25 17:57:15 kurt vdr: [10527] skindesigner: Error initiating displaychannel view - aborting
    3. May 25 17:57:16 kurt vdr: [10605] [libfritz++/CallList.cpp:190] CallList -> read 399 entries.
    4. May 25 17:57:16 kurt vdr: [10527] ERROR: attempt to open OSD while it is already open - using dummy OSD!


    Es passiert nicht immer beim Starten des VDRs, sondern nur manchmal.


    Der zugeordnete GPU-Speicher beträgt 512MB.


    Die Plugins rpihddevice und skindesigner sind aktuell aus dem GIT.


    Früher hatte ich hier nie Probleme. Mir scheint als hätte es mit einer der letzten Updates des Plugins rpihddevice oder skindesigner zu tun.


    VG Uli

  • Welche Distribution nutzt du denn als Basis für deinen Raspberry Pi?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hi Uli


    Diese Fehlermeldung deutet darauf hin, dass du zu wenig GPU-Speicher hast. Wie viel ist den bei dir frei, wenn das OSD aktiv ist?



    Gruss
    Thomas

  • Hi Thomas,


    es passiert immer nur beim Start vom VDR. Wenn er mal läuft hatte ich das Problem noch nie.


    Hab jetzt wieder auf den Moment gewartet, wo der Fehler beim Start auftritt und dann den GPU-Speicher ausgelesen:



    Nach einem erfolgreichem Restart des VDR's ohne die Fehlermeldung, dann diese Ausgabe:



    VG Uli

  • Hi Uli


    es passiert immer nur beim Start vom VDR. Wenn er mal läuft hatte ich das Problem noch nie.

    Ok, dass es nur beim Start auftritt, habe ich überlesen. Scheint dann wohl doch eher ein Problem des rpihddevice zu sein. Gibt es einen Weg, das Problem einigermassen zuverlässig zu reproduzieren? Oder bist du in der Lage, den Commit ausfindig zu machen, bei dem der Fehler zum ersten Mal auftritt?


    Gruss
    Thomas

  • Hallo Thomas,


    leider tritt die Sache sehr sporadisch auf, meist aber wenn zuvor Speicher intensive Sachen gemacht wurden, wie z.B. compilieren.


    Ab wann das Problem auftratt kann ich nur ungefähr sagen. Vermutlich funktionierte es mit der Version 1.0.0 noch. Kann aber auch sein das die aktuelle Firmware (b2ee39c7a6dc8a73ee7b559c7a833271eb10ca11) mit Schuld ist. Zu Zeiten von 1.0.0 hatte ich eine ältere Firmware (c6ae1d69860c0915cca303475abc0b4efb83ad08 ) drauf.


    VG Uli

  • Hi Uli

    so wie es bisher aussieht ist der Stand von rpihddevice aus GIT mit dieser Firmeware c6ae1d69860c0915cca303475abc0b4efb83ad08 stabil.


    Bleibt die Frage warum mit der aktuellen Firmeware der Fehler auftaucht.

    Ich konnte das Problem bisher nicht nachvollziehen. Die "funktionierende" Firmware die du referenzierst ist ja auch schon ein wenig älter, mit diesem Hinweis ein Issue auf Github zu eröffnen wäre wohl wenig hilfreich, da bräuchte es schon die genaue Version, aber der der Fehler erstmals auftritt. Und aus Sicht des Plugins kann ich mir gerade nicht vorstellen, was ich ändern könnte...


    Gruss
    Thomas

  • Hallo zusammen,
    ich habe vermutlich ein ganz ähnliches Problem.


    Code
    1. Jul 8 22:52:47 (none) user.err vdr: [10016] rpihddevice: [EGL] failed to create window surface: bad native window!
    2. Jul 8 22:52:47 (none) user.err vdr: [10016] rpihddevice: [EGL] failed to set surface attributes: bad surface!
    3. Jul 8 22:52:47 (none) user.err vdr: [10016] rpihddevice: [EGL] failed to connect context to surface: bad match!
    4. Jul 8 22:52:57 (none) user.err vdr: [9995] rpihddevice: [OpenVG] cannot allocate pixmap of 1784px x 1004px, clipped to 0px x 0px!
    5. Jul 8 22:52:57 (none) user.err vdr: [10016] rpihddevice: [OpenVG] failed to allocate 0px x 0px pixel buffer!
    6. Jul 8 22:52:57 (none) user.err vdr: [10016] rpihddevice: [OpenVG] CreatePixelBuffer error: no context
    7. Jul 8 22:52:57 (none) user.err vdr: [9995] rpihddevice: [OpenVG] failed to create pixmap! (allocation failed)


    Der VDR steigt dann mit einem "Segmentation fault" aus.


    Außerdem funktioniert bei mir die Einstellung für die Auflösung "wie Video" nicht mehr.
    Wenn ich dies einstelle, startet der VDR auch nicht mehr und meldet "Floating point exception"


    Mein System:


    RPI2
    MLD 5.1 Testing


    Ich müsste Claus mal fragen, welche Firmware Version und welche rpihddevice Version aktuell im MLD Testing eingesetzt wird.
    Meistens aber immer die aktuellste Version.


    Gruß Timo

    VDR: MLD 5.1.0 Testing
    Server: ASUS TROOPER B150 D3 -- Intel i5 6400T -- 4GB RAM -- 2x 8TB Seagte HDD -- RAID 1 -- 2x L4M-Twin S2 ver 6.5 -- 1x L4M-Twin S2 ver 5.4 --
    Clients: Rasperry pi B + Rasperry pi 2 + Rasperry pi 2 + Samsung BD 75000 + Nvidia Shield + Sony TV X8505C

  • Hallo Timo

    Der VDR steigt dann mit einem "Segmentation fault" aus.

    Hast du eine Möglichkeit, das Problem zuverlässig zu reproduzieren? Hast du noch irgendwelche anderen, grafische Dinge am laufen? (Kodi, X, ...?)


    Außerdem funktioniert bei mir die Einstellung für die Auflösung "wie Video" nicht mehr.
    Wenn ich dies einstelle, startet der VDR auch nicht mehr und meldet "Floating point exception"

    Hier würden mich Log & Backtrace interessieren.


    Gruss
    Thomas

  • Hi Thomas,
    ein Problem konnte ich mitlerweile eingrenzen bzw beheben.


    Ich habe auch Hyperion auf dem RPI am laufen.
    Wenn ich hyperion nicht mit dem VDR stoppe, weil ich z.B. die Hintergrundbeleuchtung vom TV eingeschaltet und via APP bedienen möchte, startet der VDR anschließend nicht mehr während noch Hyperion aktive ist und steigt mit dem "Segmentation fault" aus.


    Stoppe ich Hyperion immer mit dem VDR und lasse es auch inaktive, taucht das Problem nicht mehr auf, VDR Startet, hyperion startet, alles gut.
    Ich vermute mal, dass hier der Grabber in die Suppe Spuckt.


    Das Problem, dass ich die Einstellung "wie Video" nicht mehr nutzen kann, habe ich nachwievor und kann es auch reproduzieren.
    Ich schau mal, wie ich im MLD da aussagekröftige Logs und Backtraces heraus bekomme.


    Gruß Timo

    VDR: MLD 5.1.0 Testing
    Server: ASUS TROOPER B150 D3 -- Intel i5 6400T -- 4GB RAM -- 2x 8TB Seagte HDD -- RAID 1 -- 2x L4M-Twin S2 ver 6.5 -- 1x L4M-Twin S2 ver 5.4 --
    Clients: Rasperry pi B + Rasperry pi 2 + Rasperry pi 2 + Samsung BD 75000 + Nvidia Shield + Sony TV X8505C