graphlcd Plugin, ein Segfault Problem, error 4 in libvdr-graphlcd.so

  • Hi,


    ich rätsele gerade, wo ich beim graphlcd plugin ansetzen soll, wenn ein segfault auftritt.
    Ich hatte das Plugin nach dieser herrlichen Anleitung kompiliert (Link), das funktionierte auch wunderbar.


    Nun erhalte ich beim Start des VDR (der leider fehlschlägt) folgenden Eintrag im syslog


    kernel: [196846.960121] glcd_display[28522]: segfault at 20 ip 00007f00fcd83022 sp 00007f00d245eb60 error 4 in libvdr-graphlcd.so[7f00fcd65000+2]


    Irgendeine Idee, wo ich ansetzen könnte?


    Ulrich

  • Hi,
    dann sei mal nicht so geizig mit Infos:
    geht denn showpic? Hast du compilefehler? Welche settings hast du genutzt?


    Stand nicht gestern noch was von VDR 2.3.6 in deinem Post? Welche VDR-Version mit welchen Patches?


    Hast du serdisplib und graphlcd-tools und graphlcd-base mitcompiled?


    Welche settings in der graphlcd.conf? Welches Display an welchem Anschluss?


    MfG,
    Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Hi,
    Im VDR-Wiki hat zoolok graphlcd als 2.3x fähig eingetragen und Helau schrieb im HTPC-Forum zumindest, dass es unter 2.3.4 baut.


    Mehr kann ich nicht sagen, warum Seahawk und Frodo es nicht bauen, müssen diese selbst sagen...


    MfG,
    Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • ... ok, danke schön, Stefan, die Fragen sind wichtig und berechtigt ...


    ... ich habe graphlcd und graphlcd-base sowohl unter VDR 2.3.6 als auch unter VDR 2.3.8 kompiliert, unter beiden Versionen treten keine Kompilierfehler auf


    ... den Quellcode habe ich aus dem git Repository, ich bin davon ausgegangen, dass das die aktuelle Version ist (wenn ich Dich richtig verstanden habe, wäre das dann die Version für den VDR 2.3.x)


    Code
    git clone git://projects.vdr-developer.org/graphlcd-base.git
      git clone git://projects.vdr-developer.org/vdr-plugin-graphlcd.git graphlcd-base


    das Display ist ein Alphacool
    https://www.amazon.de/Alphacool-LCD-Display-240x128-Pixel-silber/dp/B000XJD42Y/ref=sr_1_2?ie=UTF8&qid=1499798649&sr=8-2&keywords=alphacool+usb


    Serdisplib habe ich mitkompiliert

    Code
    svn checkout  https://svn.code.sf.net/p/serdisplib/code/serdisplib/trunk serdisplib-2.x_svn


    Auch das kompilierte fehlerfrei und showpic läuft, auch showtext ...


    Code
    showpic -c /etc/graphlcd.conf /opt/vdr-2.3.6/PLUGINS/src/graphlcd/graphlcd/logos/channels/ASTRA_HD_m.glcd


    Auch ein simples Testbild läßt sich gut auf dem Alphacool anzeigen...

    Code
    testserdisp -n alphacool -p 'USB:060C/04EB'


    als .conf habe ich eine /etc/graphlcd.conf angelegt
    [serdisp]
    Driver=serdisp
    Controller=ALPHACOOL
    Device=usb:060c/04eb
    Width=240
    Height=128
    UpsideDown=no
    Invert=no
    Backlight=yes


    D.h. Testbilder und und die Darstellung von Logos funktionieren. Das Problem beginnt, wenn ich beim VDR-Start die option -P graphlcd übergebe, dann kommt es zum einem Stopp des Startvorgangs und im syslog erscheint die oben angeführte Meldung mit dem Segfault.
    Einen Patch habe ich nicht eingespielt, weil Du das anführst. Habe ich vielleicht das falsche git?


    Ulrich

  • Hi,
    Im VDR-Wiki hat zoolok graphlcd als 2.3x fähig eingetragen und Helau schrieb im HTPC-Forum zumindest, dass es unter 2.3.4 baut.


    Mehr kann ich nicht sagen, warum Seahawk und Frodo es nicht bauen, müssen diese selbst sagen...


    MfG,
    Stefan

    Hi,


    na ja, es kompiliert ja fehlerfrei, das Problem tritt erst auf, wenn die libvdr-graphlcd.so in den VDR-Start eingebunden wird, und dann kommt der besagte Segfault im Syslog und der VDR startet nicht


    kernel: [196846.960121] glcd_display[28522]: segfault at 20 ip
    00007f00fcd83022 sp 00007f00d245eb60 error 4 in
    libvdr-graphlcd.so[7f00fcd65000+2]


    MfG
    Ulrich

  • Hi,
    Das normale graphlcd ist seit Jahren ungepflegt und unbenutzt. Du musst den touchcol Branch nutzen.
    .
    Teste doch mal den Src von einer Distri wie EasyVDR3.0 oder yavdr aus dem ppa.


    Dort ist die Wahrscheinlichkeit höher, dass alle Patches enthalten sind.
    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Hi,
    Das normale graphlcd ist seit Jahren ungepflegt und unbenutzt. Du musst den touchcol Branch nutzen.
    .
    Teste doch mal den Src von einer Distri wie EasyVDR3.0 oder yavdr aus dem ppa.


    Dort ist die Wahrscheinlichkeit höher, dass alle Patches enthalten sind.
    MfG Stefan

    .. schon probiert unter VDR 2.3.6 und VDR 2.3.8, der touchcol Branch kompilierte leider nicht...


    MfG Ulrich

  • Hi,
    Was hast du probiert?
    Touchcol oder den EasyVDR3.0 src?


    Was heißt compiliert nicht? Fehlermeldung?


    So wird das hier nichts.


    Welches System ist es?


    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Könnte es eventuell einfach ein Berechtigungsproblem sein (wie sieht das Log ab Start des VDR aus)? Hat der Nutzer, unter dem der VDR gestartet wird (bzw. auf den er standardmäßig droppt, wenn er als root gestartet wird) die Berechtigung auf das Display schreibend zuzugreifen?
    Bei der Installation von graphlcd-base werden ja diese udev-Regeln installiert: https://projects.vdr-developer…ee/99-graphlcd-base.rules - da darin die in der Konfigurationsdatei angegebene USB-ID (Device=usb:060c/04eb) nicht berücksichtigt ist, muss man vermutlich noch eine entsprechende Regel ergänzen und ggf. den User vdr (oder unter welchem User der VDR sonst läuft) in die entsprechende Gruppe uucp aufnehmen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

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