VDR version 2.7.7 freigegeben

  • Pakete für Ubuntu 24.04 (für 22.04 und 20.04 dauert es noch) gibt es hier: https://launchpad.net/~seahawk1986-h…buntu/vdr-2.7.7

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Code
    2025-07-25T12:21:26.032832+02:00 rpi4s vdr: [2886848] ERROR: cTimer::Matches() called with invalid time - use cTimer::CalcStartStopTime() instead 
    2025-07-25T12:21:26.703992+02:00 rpi4s vdr: [2886848] /usr/bin/vdr cTimer::Matches(long, int) const calling ?? at ??:0 
    2025-07-25T12:21:26.704216+02:00 rpi4s vdr: [2886848] /usr/bin/vdr main calling ?? at ??:0
    2025-07-25T12:21:26.704297+02:00 rpi4s vdr: [2886848] /lib/aarch64-linux-gnu/libc.so.6 at libc-start.c:74
    2025-07-25T12:21:26.704386+02:00 rpi4s vdr: [2886848] /lib/aarch64-linux-gnu/libc.so.6 __libc_start_main calling call_init at libc-start.c:128 at __libc_start_main_impl at libc-start.c:347 
    2025-07-25T12:21:26.704464+02:00 rpi4s vdr: [2886848] /usr/bin/vdr _start calling ?? at ??:0
  • Im git von epgsearch ist ein patch, der Matches durch CalcStartStopTime ersetzt

    vdr-2.7.7

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, web, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver
    ubuntu focal, yavdr-ansible, linux-6.11, AsRock J4105, CIne CT-V7 DVB-C

  • Code
    2025-07-25T12:21:26.032832+02:00 rpi4s vdr: [2886848] ERROR: cTimer::Matches() called with invalid time - use cTimer::CalcStartStopTime() instead 
    2025-07-25T12:21:26.703992+02:00 rpi4s vdr: [2886848] /usr/bin/vdr cTimer::Matches(long, int) const calling ?? at ??:0 
    2025-07-25T12:21:26.704216+02:00 rpi4s vdr: [2886848] /usr/bin/vdr main calling ?? at ??:0
    2025-07-25T12:21:26.704297+02:00 rpi4s vdr: [2886848] /lib/aarch64-linux-gnu/libc.so.6 at libc-start.c:74
    2025-07-25T12:21:26.704386+02:00 rpi4s vdr: [2886848] /lib/aarch64-linux-gnu/libc.so.6 __libc_start_main calling call_init at libc-start.c:128 at __libc_start_main_impl at libc-start.c:347 
    2025-07-25T12:21:26.704464+02:00 rpi4s vdr: [2886848] /usr/bin/vdr _start calling ?? at ??:0

    Ich ergänze hier noch ein paar weitere Meldungen, falls das hilft. Möglicherweise liegt es daran, dass meine Festplatten manchmal schlafen und hier etwa 26 Sekunden zum Aufwachen gebraucht haben:

  • In cTimer::Matches(time_t t, int Margin) wird eine Differenz von 10 Sekunden toleriert:

    else if (!TimeDiffReported && abs(t - time(NULL)) > 10) {

    Setz das mal auf z.B. 60 und schau, ob es damit geht.

    OK, baue ich ein und schreibe hier, falls die Meldung wieder kommt. Ist jetzt nicht so einfach reproduzierbar.

  • Pakete für Ubuntu 24.04 (für 22.04 und 20.04 dauert es noch) gibt es hier: https://launchpad.net/~seahawk1986-h…buntu/vdr-2.7.7

    Ist das mplayer Plugin bewusst nicht mit dabei?

    Gruß utiltiy

    meine VDR

    vdr03: Antec Remote Fusion, Intel DH67BL, Celeron G1620, GT630, 2x 2GB DDR3 - Hynix, SDA SATA 40GB, SDB SATA 1.5TB, L4M Cine S2 [yaVDR/vdr4arch]
    vdr04: Antec Remote Fusion Micro, Intel DH67BL, Celeron G550, GT630, 2x 2GB DDR3 - Kingston, SDA SATA 160GB WD, SDB SATA 3TB WD Red, L4M Cine S2 [yaVDR/vdr4arch]


    VDR Projects

  • Nein, da ist der Uploadversuch gescheitert, weil es die letzte Version auch schon in den Paketquellen für neuere Ubuntu-Versionen gibt. Ich ziehe das mal für das 2.7.7 PPA gerade.

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Und noch einer zu "ERROR: cTimer::Matches() called with invalid time" :(

    Anmerkung 1: Ich habe die VDR Ausgabe bei "ERROR: cTimer::Matches() called with invalid time" ergänzt:

    Code
    esyslog("ERROR: cTimer::Matches() called with invalid time %lld, diff %d, Margin %d - use cTimer::CalcStartStopTime() instead", (long long)t, (int)abs(t - time(NULL)), Margin);

    Anmerkung 2: 1754500132 ist "Aug 06 2025 19:08:52 GMT+0200 (Mitteleuropäische Sommerzeit) "

    Anmerkung 3: In weiter Zukunft (Am Fr. 8.8., 8:55) ist ein VPS timer auf zdf_neo HD.

  • Und noch etwas ist mir aufgefallen:

    Code
    2025-08-06T18:47:10.689218+02:00 rpi4s vdr: [229816] timer 40 (12 2011-2248 'Krieg der Welten') set to event Mi. 06.08.2025 20:14-22:38 'Krieg der Welten'
    2025-08-06T20:47:10.245505+02:00 rpi4s vdr: [229816] timer 40 (12 2011-2248 'Krieg der Welten') start

    Jetzt frage ich mich natürlich, warum dieser Timer erst um 20:47 gestartet wurde, und nicht um 20:11 . Also, das ist kabel eins, da verwende ich kein VPS. Und zu dieser Zeit lief auch keine andere Aufnahme, da hätten eigentlich 2 Tuner frei sein müssen ...

  • > Hast du VDR ohne Debug-Info übersetzt?

    Du weißt doch, mein Hobby ist Fehlersuche :) . Von daher: Ich habe immer die Debug Info dabei. Wenn ich gdb aufrufe und bt full eingebe, bekomme ich auch die Werte der Variablen (oder "<optimized out>")

    An welchen Stellen wird matches() denn mit Margin = 360 aufgerufen?


    > ändere den Aufruf nach cTimer::CalcStartStopTime().

    Welchen Aufruf soll ich nach cTimer::CalcStartStopTime() ändern?

  • Gibt es davor irgendwelche Log-Einträge zu diesem Timer bzw. Event?

    Folgender Eintrag:

    Code
    2025-08-06T18:47:10.689218+02:00 rpi4s vdr: [229816] timer 40 (12 2011-2248 'Krieg der Welten') set to event Mi. 06.08.2025 20:14-22:38 'Krieg der Welten'

    taucht auch schon vor 18:47:10 auf. Zwischen 18:47:10 und 20:47:10 gibt es keine Einträge zu diesem Timer oder Event

  • An welchen Stellen wird matches() denn mit Margin = 360 aufgerufen?

    In VDR selber wohl nicht. Vielleicht in einem Plugin?

    Welchen Aufruf soll ich nach cTimer::CalcStartStopTime() ändern?

    Das sollte eigentlich der Backtrace sagen, aber der sieht nicht wirklich brauchbar aus. Irgendwas scheint da in cBackTrace::Demangle() schiefzugehen. Nachdem Fehlersuche dein Hobby ist ;) magst du da vielleicht mal reinschauen?

  • In VDR selber wohl nicht. Vielleicht in einem Plugin?

    Bei mir ist Setup.VpsMargin == 360

    Dann ist das:

    Code
    vdr.c:                       if (Timer->Matches(Now, Setup.VpsMargin))
  • Poste (oder schicke mir per Email) doch bitte mal das komplette Log zwischen diesen beiden Zeilen.

    Du hast eine PN

  • Bei mir ist Setup.VpsMargin == 360

    Sorry, ich hatte das misverstanden und gemeint, es wäre eine Zeitdifferenz von 360s.

    Der Aufruf if (Timer->Matches(Now, Setup.VpsMargin)) erfolgt aber mit der aktuellen Zeit:

    Code
    time_t Now = time(NULL);
    ...
    if (Timer->Matches(Now, Setup.VpsMargin))

    Es ist wohl eher unwahrscheinlich, dass vom Setzen von Now bis zur Verwendung 20 Minuten vergehen können.

    Oder kann es sein, dass der rpi4s in der Zwischenzeit "geschlafen" hat?

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!