Coredump unter Fedora21

  • Hallo,


    beim Absetzen des Kommandos vdr --version erhalte ich einen Speicherzugriffsfehler



    In den Systemmeldungen erhalte ich



    Wenn ich einen Backtrace vom Coredump erstelle, erhalte ich folgende Ausgabe:



    Liegt es nun am Plugin PluginScraper2vdr oder am VDR ?

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • h würde an dieser Stelle mal den VDR und alle Plugins neu bauen.


    Blinder Aktionismus.


    Sieht für mich nach einer race condition aus. Im Destructor der Klasse cPluginScraper2vdr wird versucht das Objekt update zu löschen, aber das scheint schon weg zu sein. Auskommentieren der Zeile könnte helfen. Erzeugt zwar unter Umständen ein memory leak, aber nur für ein paar Millisekunden.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470


  • Blinder Aktionismus.


    Sieht für mich nach einer race condition aus. Im Destructor der Klasse cPluginScraper2vdr wird versucht das Objekt update zu löschen, aber das scheint schon weg zu sein. Auskommentieren der Zeile könnte helfen. Erzeugt zwar unter Umständen ein memory leak, aber nur für ein paar Millisekunden.


    Gerald


    habe nun die Zeile delete update; raus geschmissen, aber jetzt er was anderes.





    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Werden die beiden denn im Konstruktor auf NULL gesetzt?
    Könnte auch ein Fehler wegen uninitialisierter Variablen sein.


    Lars

  • Konstruktor auf NULL


    da bin ich jetzt nicht so ganz sicher, ob dies in Zeile 103 + 104 damit gemeint ist ?
    http://projects.vdr-developer.…aster/entry/scraper2vdr.c

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • habe nun die Zeile delete update; raus geschmissen, aber jetzt er was anderes.


    Unsinn, das ist das Selbe in grün. Diesmal eben mit dem scrapManager. Die Ähnlichkeit hätte dir eigentlich auffallen müssen.


    Ich würde sowieso allen Plugin-Entwicklern die Verwendung von boost::shared_ptr ans Herz legen, dann wären solche Dinge Geschichte.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Unsinn, das ist das Selbe in grün. Diesmal eben mit dem scrapManager. Die Ähnlichkeit hätte dir eigentlich auffallen müssen.


    Ich würde sowieso allen Plugin-Entwicklern die Verwendung von boost::shared_ptr ans Herz legen, dann wären solche Dinge Geschichte.


    Gerald


    Die Ähnlickkeit ist mir sehr wohl aufgefallen.


    Wenn ich im Destructor der Klasse cPluginScraper2vdr beide Objekte update und scrapManager lösche, wird /usr/sbin/vdr --version ohne Probleme ausgegeben.


    Diff
    --- scraper2vdr-0.1.5/scraper2vdr.c.orig	2014-12-24 20:52:23.850527096 +0100
    +++ scraper2vdr-0.1.5/scraper2vdr.c	2014-12-24 20:52:34.601760273 +0100
    @@ -87,8 +87,6 @@
     }
     
     cPluginScraper2vdr::~cPluginScraper2vdr() {
    -    delete update;
    -    delete scrapManager;
         cDbConnection::exit();
     }


    Das sollte doch an Louis weitergemeldet werden oder ?

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400



  • ah, danke, kann mich erinnern, da war doch was, nun kommt halt vdr-scraper2vdr auch noch dazu.
    Ich habe jedenfalls mal ein Ticket dazu aufgemacht.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


    Einmal editiert, zuletzt von marco ()

  • Zwischen Zeile 85 & 86 müssen die beiden auf NULL gesetzt werden, dann können die delete Aufrufe wieder rein.


    Besser auf boost::shared_ptr umstellen, dann braucht man überhaupt keine delete Aufrufe mehr.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470


  • Besser auf boost::shared_ptr umstellen, dann braucht man überhaupt keine delete Aufrufe mehr.


    Gerald


    Danke an euch Beiden.


    Mein Wunsch wäre natürlich eine offizielle Lösung des Problemes, nämlich ein Patch dafür.
    Gerald, es wäre schön wenn du einen Patch mit der Umstellung auf boost::shared_ptr zur Verfügung stellen könntest.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Mein Wunsch wäre natürlich eine offizielle Lösung des Problemes, nämlich ein Patch dafür.
    Gerald, es wäre schön wenn du einen Patch mit der Umstellung auf boost::shared_ptr zur Verfügung stellen könntest.


    Sorry, da fehlt mir etwas die Zeit für.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Moin,


    Der Patch wäre auch überflüssig, die boost lib mag ich nicht benutzen. Ein Ticket hast du ja schon auf gemacht, das genügt.


    Ciao Louis

Jetzt mitmachen!

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