epg2vdr - deadlocks

  • Ist das normal im Sinne von erwartbar?

    Kommt nicht oft vor - die fünf Events sind seit dem 05.02. aufgetreten, der letzte heute Vormittag.


    Code
    vdr[31568]: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set actor = ?, audio = ?, camera = ?, category = ?, commentator = ?, complongdescription = ?, compshorttext = ?, comptitle = ?, contents = ?, country = ?, delflg = ?, director = ?, duration = ?, episodecompname = ?, episodecomppartname = ?, episodecompshortname = ?, episodelang = ?, extepnum = ?, fileref = ?, flags = ?, genre = ?, guest = ?, imagecount = ?, longdescription = ?, moderator = ?, movieid = ?, music = ?, numrating = ?, other = ?, parentalrating = ?, producer = ?, rating = ?, screenplay = ?, scrmovieid = ?, scrseriesepisode = ?, scrseriesid = ?, scrsp = ?, shortdescription = ?, shortreview = ?, shorttext = ?, source = ?, starttime = ?, tableid = ?, tipp = ?, title = ?, topic = ?, txtrating = ?, updflg = ?, updsp = ?, useid = ?, version = ?, vps = ?, year = ? where channelid = ? and eventid = ?;]
    vdr[22142]: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]
    vdr[22142]: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]
    vdr[22142]: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set actor = ?, audio = ?, camera = ?, category = ?, commentator = ?, complongdescription = ?, compshorttext = ?, comptitle = ?, contents = ?, country = ?, delflg = ?, director = ?, duration = ?, episodecompname = ?, episodecomppartname = ?, episodecompshortname = ?, episodelang = ?, extepnum = ?, fileref = ?, flags = ?, genre = ?, guest = ?, imagecount = ?, longdescription = ?, moderator = ?, movieid = ?, music = ?, numrating = ?, other = ?, parentalrating = ?, producer = ?, rating = ?, screenplay = ?, scrmovieid = ?, scrseriesepisode = ?, scrseriesid = ?, scrsp = ?, shortdescription = ?, shortreview = ?, shorttext = ?, source = ?, starttime = ?, tableid = ?, tipp = ?, title = ?, topic = ?, txtrating = ?, updflg = ?, updsp = ?, useid = ?, version = ?, vps = ?, year = ? where channelid = ? and eventid = ?;]
    vdr[22142]: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]
  • Die kann ich auch bieten:

    Code
    Feb 20 00:50:23 user.err        VDR-2204-Dev    vdr: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]
    Feb 20 00:50:28 user.err        VDR-2204-Dev    vdr: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]
    Feb 20 15:46:49 user.err        VDR-2204-Dev    vdr: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]
    Feb 20 15:46:50 user.err        VDR-2204        vdr: epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]
    Feb 20 15:46:53 user.err        VDR-2204        vdr: message repeated 2 times: [ epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]]
    Feb 20 15:46:52 user.err        VDR-2204-Dev    vdr: message repeated 4 times: [ epg2vdr: SQL-Error in 'execute(stmt_execute)' - Deadlock found when trying to get lock; try restarting transaction (1213) 'Deadlock found when trying to get lock; try restarting transaction' [update events set delflg = ?, updflg = ?, updsp = ? where channelid = ? and source = ? and starttime+duration > ? and starttime < ? and (tableid > ? or (tableid = ? and version <> ?));]]

    Ich habe zwei VDRs gegen einen epgd laufen, beide VDRs sind auf "DVB/EPG in Datenbank eintragen" -> Ja konfiguriert. Das brauche ich für die markad VPS Funktion. Mir ist klar, dass das eigentlich so nicht gedacht ist und ich habe die Ursache bei mir immer darauf geschoben. Interessant, dass die Deadlocks andere auch haben.

  • Bin auch im Club dabei

  • Ich hab allerdings nur einen VDR mit epg2vdr, der mit EPGD und der DB spricht, und zwar den auf dem EPGD-Server selbst.

  • horchi ?

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ich hab allerdings nur einen VDR mit epg2vdr, der mit EPGD und der DB spricht, und zwar den auf dem EPGD-Server selbst.

    Das war mal wieder Quatsch - ich hab natürlich auch am 2. VDR den epg2vdr gegen die DB auf den EPGD-Server laufen 8-(

    Sry für die Verwirrung.

  • zwei aktive VDR welche die Events eintragen sind nicht erlaubt/vorgesehen.


    Also nur einer auf ja, oder alle auf auto

  • die Db verwenden dürfen natürlich beliebig viele vdr. Wenn man keinen hat der immer läuft ist Auto sinnvoll dann übernimmt das immer der erste der gestartet wird

  • ich hab explizit nur den VDR Server als Master deklariert, das sieht dann auf der vdrs Tabelle so aus:


    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • zwei aktive VDR welche die Events eintragen sind nicht erlaubt/vorgesehen.


    Also nur einer auf ja, oder alle auf auto

    Der zweite steht sogar auf "nein".

  • ist im epg2vdr Plugin da korrekte Netzwerkgerät eingestellt, damit der epgd dem vdr während er selbst auf der Tabelle rumschreibt dem Plugin sagen kann keine neuen DVB Events zu senden?


    Ich hab mir da auch mal n Wolf gesucht.

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • guter Punkt. Ansonsten sollte es auch Fehlermeldungen geben (glaube ich)

    Auf jeden Fall nachschauen und auch ob svdrp im eigenen sub Netz erlaubt ist. Bin mir gerade nicht ganz sicher ob letzteres auch für die Kommunikation des Status nötig ist

  • Netzwerkgerät? Du meinst das Interface und die IP-Adresse? Das ist ja eines/eine der eigenen. Und die IP des EPGD Servers ist auch korrekt.

  • Oder teste auch noch einmal andersrum und schau dir die IP Adressen an, die auf der vdrs Tabelle hinterlegt sind.

    Das sind die Adressen, an die der EPGD die Kommandos sendet.

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • Ja, wir reden schon vom selben - passt IMHO alles.

  • du kannst von dem Host auf welchem der eogd läuft alle vdrs mit svdrpsend über die jeweils in der vdrs Tabelle eingetragenen IP erreichen?

  • svdrpsend habe ich noch nie benutzt - meinst du das Script? Aber das will ja hostname und port als Parameter. Ist da die Tabelle nicht egal?

  • nein ist nicht egal, dafür u.a. trägt das Plugin den vdr in Tabelle ein:


    Code
    MariaDB [epg2vdr]> select ip, svdrp  from vdrs;
    +-----------------+-------+
    | ip              | svdrp |
    +-----------------+-------+
    | 192.168.200.114 |  6419 |
    | 192.168.200.101 |  6419 |
    | 192.168.200.203 |  6419 |
    | 192.168.200.103 |  6419 |

    das Skript rufst du (vom host aus auf welchem der epgd läuft) nur um es zu testen auf.

    Z.B. mit CHAN zur Anzeige des Kanals. Wenn es geht kann man das schon mal ausschließen

  • Code
    svdrpsend -d server CHAN
    220 VDR SVDRP VideoDiskRecorder 2.6.3; Mon Feb 20 20:13:48 2023; UTF-8
    250 30 RTL Television
    221 VDR closing connection
    
    svdrpsend -d client CHAN
    220 origen SVDRP VideoDiskRecorder 2.6.3; Mon Feb 20 20:13:55 2023; UTF-8
    250 16 MDR Thüringen HD
    221 origen closing connection

    Das sieht gut aus.


    Hier aber habe ich Einträge mit derselben IP drin, von denen einer einen leeren Port hat:


Jetzt mitmachen!

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