Speicherleck in text2skin?

  • Hi!


    Könnten text2skin-User bitte mal folgendes Mal testen:


    • VDR starten (am besten neu starten)
    • mit "top" oder "htop" auf der Konsole den Speicherverbrauch von VDR beobachten (in der RES-Spalte)
    • Beim VDR einfach ca. 20 Mal das Menü öffnen und wieder schließen


    Ich kann hier einen drastischen Speicheranstieg reproduzieren (mit der CVS-Version von text2skin und text2skin-ext für Enimga). Mit dem Standardskin passiert nichts und VDR braucht immer gleich viel Speicher.


    Es scheint so als ob bei jedem Öffnen des Menüs irgendwo Speicher verbraucht aber nicht mehr freigegeben wird. Wenn ich die Kanalliste hoch- und runterzappe passiert auch nichts (bis auf das anfängliche Laden der Logos).


    Könnt ihr das reporduzieren? Mit text2skin oder text2skin-ext?


    Wie heißt nochmal das Tool um zu anlysieren wo Speicher verbraten wird?
    EDIT: Ah genau, das müsste valgrind sein ... werde mal schauen ob ich das ans Laufen bekomme.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

    Einmal editiert, zuletzt von Brougs78 ()

  • Hi!


    45 Hits und das hat keiner getestet ... wäre ja jetzt nicht wirklich aufwändig ...


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Ich kann hier einen drastischen Speicheranstieg reproduzieren (mit der CVS-Version von text2skin


    Kann ich auch reproduzieren!!


    Elchi

    Asrock M3A785GHM/128, Athlon 64 240e, 2GB, 120 GB Samsung SSD plus 1000GB Nas im Raid und eine Nvidia Gt610 für VDPAU

    1x DD CineS2, UIR-Man, Androvdr, Ubuntu 14.04lTS, VDR: 2.2.0 (yavdr Quellen) und NVRAM Wakeup


    dabei seit Version 0.72

  • :moin,


    habs auch getestet - stimmt
    Falls Ihr den vdr - Prozess meint der an Größe (Size) zunimmt, das ist hier auch so und er geht auch nicht von alleine wieder runter...

  • Hi!


    Ich hatte sogar mal nen Sprung von ca. 30 MB auf über 100 MB! Das ist natürlich nicht so toll.


    Habt ihr auch das Problem dass manchmal das Hauptmenü lange braucht bis zum Erscheinen? Deshalb suche ich nämlich nach "Verursachern".


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Hi!


    Hab noch ein wenig geforscht. Das ganze passiert bei plain VDR und auch älteren VDR-Versionen mit dem Standard-Text2skin. Bei jedem Anzeigen eines Menüs (auch Kanalmenü usw. ... da hatte ich mich zu erst geirrt) und bei jedem text2skin-Skin.
    Anscheinend wird bei den Menüs irgendwo Speicher alloziert und dann nicht mehr freigegeben. Immer etwa 200 kB ... unabhängig vom Skin.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Also ich habe mal versucht mit valgrind etwas herauszubekommen. Habe dazu VDR und text2skin mit "-ggdb -O0 -fno-inline" kompiliert. Allerdings werden nicht alle Speicheradressen aufgelöst und gerade die interessanten Bereiche nicht:



    Hat da jemand einen Tipp wie ich da noch die "???" vermeiden kann?

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • In diesem Bereich liegen bei mir die Symbol der Bibliothek libc.


    Unter Debian ist es die Bibliothek "libc6-dbg" ....


    Lustigerweise wirft ein vdr ohne Plugins schon ein leak ...


    # libtool --mode=execute valgrind --leak-check=full --show-reachable=yes vdr

  • Hi,


    also ein 200k Speicherleak kann ich hier bei einem vanilla VDR 1.4.4 nicht entdecken.
    Ich komm nur auf 71bytes die aber vermutlich nicht zyklisch sondern nur einmalig auflaufen.


  • Du hattest doch gar kein text2skin geladen laut der Ausgabe.

  • Zitat

    Original von wirbel
    Du hattest doch gar kein text2skin geladen laut der Ausgabe.


    Ja, ich weiss aber Brougs78 hat gesagt, das dieses Speicherleak auch in den Standardskin auftritt, was ich erstmal nicht reproduzieren kann.


    Aber ich teste gerade weiter. Das störende ist nur das der VDR mit valgrind sehr sehr träge reagiert.

  • Er schrieb Standard-Text2skin. Also vermutlich non-cvs.

  • Er schrieb Standard-Text2skin. Also vermutlich non-cvs.

  • Hi,


    Zitat

    Original von Brougs78
    Mit dem Standardskin passiert nichts und VDR braucht immer gleich viel Speicher.

    ;)


    Brougs78:


    mal eine Frage: hast Du mal ausprobiert, ob das mit Verwendung von Imlib und ImageMagick auftritt?


    Ich hatte doch mal einen Patch für OsdImage erstellt, da bekam ich bei einer Funktion von ImageMagick steigenden Speicherbedarf, den ich mir nicht erklären konnte. Zumindest war mir nichts eingefallen, wie ich den hätte wieder freigeben sollen.


    Kann sein, daß das jetzt nichts zur Klärung beiträgt, war nur so ein Gedanke. ;)


    Gruß
    Frank

  • Zitat

    Original von Brougs78
    45 Hits und das hat keiner getestet ... wäre ja jetzt nicht wirklich aufwändig ...


    Dies lässt sich auch hier bei mir reproduzieren!


    Zitat

    Original von _Frank_
    mal eine Frage: hast Du mal ausprobiert, ob das mit Verwendung von Imlib und ImageMagick auftritt?


    Text2skin ist bei mir nur mit ImageMagick kompiliert.


    Gruß,
    Chuck

    1- yavdr 0.5 - DVB-C
    1- VDR-1.7.14 - Xine Pugin - XBMC - DVB-C
    2- Activy 300 mit Gen2VDR V2

  • Hier nur mit Imlib übersetzt, selbes verhalten.

    FSC Primergy TX 300 S4 | 2 x Intel(R) Xeon(R) CPU X5460 @ 3.16GHz | RAM 16GB | VDR-SERVER | Centos 7 Kernel-4.19.0 | DVBSky S952 v3 & DVBSKy S950 v3 | VDR-2.2.0 | iptv, dummydevice, dvbhddevice, svdrposd, streamdev-server.
    Raspbery Pi 1 Model B + | Debian wheezy Kernel-4.4.50+ | VDR-2.2.0 | epgsearch, remotetimers, skinsoppalusikka, svdrpservice, mailbox, rpihddevice, sleeptimer, osdteletext, streamdev-client
    Raspbery Pi 2 - Model B | Debian jessie Kernel-4.4.50-v7+ | VDR-2.2.0 | epgsearch, remotetimers, skinsoppalusikka, svdrpservice, mailbox, rpihddevice, sleeptimer, osdteletext, streamdev-client


  • Hi!


    @Hulk: Nein ich meinte mit Standard-text2skin, also schon text2skin vom CVS aber ohne die Extensions für Enigma, also ohne den Patch von mir.


    Bei Debian kannst du die Debug-Symbole für libc nachladen? Scheint ein schöner Vorteil zu sein denn unter Gentoo finde ich da nichts ... da müsste ich libc wohl mit Debug-Symoblen kompilieren ... ist mir auf der langsamen Mühle zu aufwändig.


    Noch ne Frage: Warum rufst du das ganze mit libtool auf?


    @Frank: Ja mit imlib passiert das auch. Da gibts glaube ich auch ein Speicherleck aber das dürfte nicht so dramatisch sein denn ich denke die ganzen Bilder sollten im Speicher liegen sobald sie das erste Mal geladen wurden, donn sollte das Leck nur einmal auftreten ...


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Zitat

    Original von Brougs78
    Noch ne Frage: Warum rufst du das ganze mit libtool auf?


    Hast recht, ist nicht notwendig, diente nur die um die lokalen Bibliotheken (Plugins) zu nutzen, aber der VDR hat ja ehe seinen eigenen Parameter für das Pluginsverzeichnis.
    Man sollte sich nie voll auf Beispiele aus dem Netz verlassen.

  • Hi Hulk!


    War nicht als Kritik gemeint ... wusste nur wirklich nicht wozu das gut ist. Vielleicht braucht man es ja. Kenne mich da nicht so aus.


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

Jetzt mitmachen!

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