EPG-Daten verschwinden! (Images seit Nov./Dez. 2005)

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
w-sky
Einsteiger
Einsteiger
Beiträge: 187
Registriert: Dienstag 27. Juli 2004, 22:49

EPG-Daten verschwinden! (Images seit Nov./Dez. 2005)

Beitrag von w-sky »

Meine Box: Nokia Kabel 2xI. Getestete Images: verschiedene Yadi-, JtG- und AlexW-Releases, allerneuster DietmarW-Snapshot.

Vorgeschichte: Seit ein paar Wochen wunderte ich mich ab und zu, warum die EPGs von ARD und ZDF mal vollständig sind (eine komplette Woche Vorschau) und mal nur 2-4 Tage. Störungen? Schlamperei?
Seit kurzem gibt es nun auch bei einigen Programmen in "Kabel Digital Free" eine Woche EPG (und zwar MTV, Nick und Tele5) und z.B. bei Viva und Viva+ für eine Woche im Voraus "Leider keine Programminformationen verfügbar". Aber auch hier verschwanden die EPG-Daten immer wieder.

Untersuchung: Direkt nach dem Hochfahren der Box ist die EPG-Vorschau, zumindest von dem ausgewählten Programm, nach kurzer Zeit wie gewohnt vollständig verfügbar. Manchmal auch erst nach einem Programmwechsel, aber egal. Sobald ich jedoch ein bisschen hin- und herschalte und die EPGs von anderen Sendern aufrufe, werden die angezeigten EPG-Vorschauen immer kürzer. So konnte ich einmal beobachten, wie ich bei MTV erst eine Woche, beim nächsten Aufruf 5 Tage und dann nur noch 3 Tage Vorschau hatte. Die Daten erschienen auch nicht wieder, wenn ich die Box eine Zeit lang ohne Umschalten auf dem Programm ließ.

Ergebnis: Bis zu dem JtG-Release vom 20.10.2005 ist alles o.k., in dem Release vom 22.12.05 ist der Fehler drin und auch im DietmarW-Image vom 14.02.06.

...könnte diese Geschichte mit dem Thema doppelte EPG-Eintraege entfernen... zu tun haben? Mit doppelten Einträgen hatte ich selten auch zu tun, aber das hier ist noch nerviger...
Zuletzt geändert von w-sky am Montag 20. Februar 2006, 19:28, insgesamt 1-mal geändert.
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Leider ist der Speicher der Box endlich und nicht groß genug, um alle Events zu speichern. Deshalb wurde ein Limit eingebaut. Wird das Limit erreicht, werden Events, die weiter in der Zukunft liegen, gelöscht und durch "näher" liegende ersetzt. Im Prinzip hast du das sehr schön und detailliert beobachtet.
Du hast also nur die Wahl zwischen Pest und Cholera. Entweder du hast kein Limit und die Box semmelt irgendwann unvorhersehbar ab oder du hast eine verkürzte Vorschau und die Box bleibt länger am Leben.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

sozusagen: works as designed
w-sky
Einsteiger
Einsteiger
Beiträge: 187
Registriert: Dienstag 27. Juli 2004, 22:49

Beitrag von w-sky »

Ihr lieben Leute, ich bin überrascht! Benutzt ihr das EPG überhaupt? Wo bleibt der Mehrwert des Systems, wenn man die Box erstmal neustarten muss, um z.B. am Donnerstag erfahren zu können, was am Wochenende läuft, oder um die Wiederholungstermine einer Sendung innerhalb der nächsten 6 Tage herauszufinden? Ich jedenfalls habe jetzt ein Downgrade zu einem Image von Okt. '05 gemacht. :( Und hier sind 4 Vorschläge, die ich dazu ausgebrütet habe:

Vorschlag A: Das Memleak stopfen! Okay, das ist leicht gesagt, vor allem, wenn man vom Programmieren so wenig versteht wie ich. :roll:

Vorschlag B: Eine behelfsmäßige Funktion "vollständig laden" in der EPG-Vorschau (z.B. Taste Gelb), mit der sämtliche anderen EPGs gelöscht und das aktuelle komplett geladen wird.

Vorschlag C: Eine Einstellmöglichkeit für den maximalen EPG-Speicher in Neutrino, damit jeder seinen eigenen Kompromiss zwischen Stabilität und Funktion finden kann.

Vorschlag D: Eine "Garbage Collection". Ein Klassiker, das gab's schon beim Commodore C64-Basic: Wenn der Speicher knapp wurde, startete eine Routine und befreite den Variablenspeicher von angehäuftem Ballast - mit dem Nebeneffekt, dass der Rechner für einige Minuten einfror, was natürlich nicht unbedingt auch umgesetzt werden sollte.
Aber eine Routine, die täglich sämtliche EPG-Daten resettet - z.B. getriggert durch einen Timer, nach x Stunden Standby oder dergleichen.

Alles wäre mir lieber als der jetzige Stand.

PS: Wann genau wurde die EPG-Begrenzung eingebaut, bzw. welches Snapshot-Datum war das letzte davor? Vielleicht kann ich noch ein kleines Update machen.
Nirvana
Erleuchteter
Erleuchteter
Beiträge: 646
Registriert: Mittwoch 16. April 2003, 14:12

Beitrag von Nirvana »

Ich gebe Dir ja vollkommen recht. Befriedigend ist die Situation nicht. Entstanden ist sie am 22.12.
Den EPG benutze ich natürlich, aber maximal 2 Tage im voraus. Was weiter in der Zukunft liegt interessiert mich nicht, aber das liegt daran, dass ich ohnehin nur Sport sehe.

Von Deinen Vorschlägen sehe ich nur C als praktikabel an. Ein Speicherleck mag es zwar geben, aber das ist für mein Dafürhalten nicht entscheidend für die Abstürze. Da würde der verfügbare Speicher weniger werden, weil er nicht korrekt wieder freigegeben wird. Das Problem ist eher, dass das System grundsätzlich instabil wird, wenn der Speicher voll ist. Normalerweise dürfte dann jede neue Reservierung scheitern und automatisch keine neuen Events (oder was auch sonst neuen Speicher haben möchte) in den Speicher kommen. Der Fehler kann überall im System stecken, deshalb verhält sich der sectionsd eben extrem nett und beschränkt sich selbst.
Mit dem Limit wollte ich eigentlich nur beweisen, dass der Code nicht an sich instabil ist, sondern nur im Grenzbereich. Am besten wäre wahrscheinlich (wurde hier schon vorgeschlagen) die Schranke dynamisch am verfügbaren Restspeicher anzupassen. Ich bin aber mehr der Fraktion "pro Stabilität" zuzurechnen, weshalb ich kein gesteigertes Interesse an einer Implementierung habe.
Aber echte Memoryleaks haben andere Teile von Neutrino. Ich habe es ja schon öfter gesagt: Warum mosert eigentlich (außer mir) niemand, dass sich Teletext einen Riesenspeicherbrocken rausbeißt und nicht wieder hergibt?
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Wer nutzt denn heut noch Teletext wo jeder Sender eine Homepage hat. :gruebel:
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Aber echte Memoryleaks haben andere Teile von Neutrino. Ich habe es ja schon öfter gesagt: Warum mosert eigentlich (außer mir) niemand, dass sich Teletext einen Riesenspeicherbrocken rausbeißt und nicht wieder hergibt?
Das ist mir auch schon aufgefallen, aber es wurde erst akut, seit sectionsd sich soviel Speicher genehmigt, was aber auch mit dem gestiegenen Datenvolumen durch die ARD-Radiosender zusammenhängt und natürlich auch vom ZDF-Infokanal, der riesige Mengen zur Verfügung stellt. Desweiteren legt sich der Movieplayer beim Abspielen über VLC eine 1 MB große Datei im /tmp/ an, die nach dem Beenden nicht mehr gelöscht wird.
Workarround, sollte aber endlich mal gefixt werden:
In der Datei movieplayer.end in /var/tuxbox/config/ folgenden Befehl einfügen:

Code: Alles auswählen

if [ -e /tmp/tmpts ]; then 
   rm /tmp/tmpts 
fi
So kommt da eins zum anderen und ruckzuck ist der Speicher voll. :-? :( :gruebel: :o

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
InTheCliringSt&sTheDB
Interessierter
Interessierter
Beiträge: 64
Registriert: Montag 15. Dezember 2003, 11:16

Beitrag von InTheCliringSt&sTheDB »

Also quote ich mich mal selbst:
InTheCliringSt&sTheDB hat geschrieben:Hab gerade den aktuellen Ryker-Snap mit Nirvanas neuem sectionsd im Betrieb, da hätt ich noch nen Vorschlag. Es wurde ja in der Vergangenheit immer wieder an der Größe des dem EPG zur Verfügung stehenden Speichers geschraubt. Würde es nicht Sinn machen, dem sectionsd dynamisch die Speichergröße zuzuweisen? Also zu sagen, wenn Freemem kleiner als z.B. 4 MB, dann rück wieder was raus davon, bis diese Bedingung erfüllt ist. Hätte zwei Vorteile:
User mit Speichererweiterung hätten auch was davon
Mem-Leaks in welchem Modul auch immer würden nicht unweigerlich zum Crash führen, der User sieht, dass die Box nur noch für nen halben Tag EPG vorhält und kann die Box neu starten.
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

w-sky hat geschrieben: Vorschlag A: Das Memleak stopfen! Okay, das ist leicht gesagt, vor allem, wenn man vom Programmieren so wenig versteht wie ich. :roll:

Vorschlag B: Eine behelfsmäßige Funktion "vollständig laden" in der EPG-Vorschau (z.B. Taste Gelb), mit der sämtliche anderen EPGs gelöscht und das aktuelle komplett geladen wird.

Vorschlag C: Eine Einstellmöglichkeit für den maximalen EPG-Speicher in Neutrino, damit jeder seinen eigenen Kompromiss zwischen Stabilität und Funktion finden kann.

Vorschlag D: Eine "Garbage Collection". Ein Klassiker, das gab's schon beim Commodore C64-Basic: Wenn der Speicher knapp wurde, startete eine Routine und befreite den Variablenspeicher von angehäuftem Ballast - mit dem Nebeneffekt, dass der Rechner für einige Minuten einfror, was natürlich nicht unbedingt auch umgesetzt werden sollte.
Aber eine Routine, die täglich sämtliche EPG-Daten resettet - z.B. getriggert durch einen Timer, nach x Stunden Standby oder dergleichen.
Zu A: Das Mag ein Argument sein fals noch welche Existieren.
Zu B: Wo kein Speicher ist kannst du auch keinen Zaubern.
Zu C: Weniger EPG ist in diesem Fall mehr und du hast jederzeit die Möglichkeit dir dein eigenes Neutrino zu bauen so wie ich und viele andere auch machen. Kroki hat ja einen guten Patch dazu geliefert, wäre doch was für das CVS.
Zu D: Diese Funktion macht doch der sectionsd nun quasi. Überflüssige Events fallen weg sobald sie abgelaufen sind. Wäre beim EPG Reset auch nicht anders.
ziggy
Interessierter
Interessierter
Beiträge: 24
Registriert: Freitag 20. Februar 2004, 10:56

Beitrag von ziggy »

Hallo,

ich habe mich im "feature requests" forum ja auch schon für eine einstellbare EPG-Historie ausgesprochen, allerdings ist der Vorschlag nicht auf viel Resonanz gestossen: der Tenor war, dass man die Box auch ohne viele Einstellungen benutzen können müsse. Das widerspricht allerdings der Tatsache, dass es zig Einstellungen gibt, die letztlich eher Spielerei sind.

Ziel kann es auch nicht sein, dass jeder sein eigenes Neutrino baut, sonst landen wir irgenwann bei einem Wildwuchs wie bei Linux, der hohe Aufwände bedeutet und wenig bringt. Der Standard sollte möglichst viele Benutzer zufriedenstellen. Wenn gesagt wird, dass die Box durch zu viele Einstellungen zu kompliziert wird, ist das immer noch ein Klacks gegen die Einrichtung einer CDK-Umgebung, mit der man wirklich ein Image erstellen kann.

Da meine Box nie länger als ein paar Stunden läuft, habe ich noch nie einen speicherbedingten Stillstand gehabt. Es ist mit der aktuellen EPG-Einschränkung immer noch ca. ein Drittel des Speichers frei. Davon würde ich gerne einiges fürs EPG spendieren...

Gruß
Z.
w-sky
Einsteiger
Einsteiger
Beiträge: 187
Registriert: Dienstag 27. Juli 2004, 22:49

Beitrag von w-sky »

ziggy hat geschrieben:Da meine Box nie länger als ein paar Stunden läuft, habe ich noch nie einen speicherbedingten Stillstand gehabt. Es ist mit der aktuellen EPG-Einschränkung immer noch ca. ein Drittel des Speichers frei. Davon würde ich gerne einiges fürs EPG spendieren...
Ich zähle mich zu den Standby-Nutzern (die schönste Digitaluhr für 20W) und schalte die Box nur ab, wenn ich >24h weg bin. Troztdem hatte ich eigentlich nur bei der Benutzung von Playern immer wieder mal Hänger. Aber es zeigt sich, für manche wirkt sich das Spar-EPG nur nachteilig aus.
Nico 77 hat geschrieben:Zu B: Wo kein Speicher ist kannst du auch keinen Zaubern.
Naja nicht zaubern, aber ich denke, es müsste doch Speicher wieder frei werden, wenn die EPGs von allen Sendern oder Transpondern gelöscht werden, außer jenem, dessen EPG gerade angezeigt wird?

Dies wäre noch eine Variante, ich nenne es mal Vorschlag E: Die EPGs von den Sendern zuerst löschen, die am längsten nicht mehr angezeigt wurden, so dass das aktuelle EPG immer voll aufgerufen werden kann!
Zu C: Weniger EPG ist in diesem Fall mehr und du hast jederzeit die Möglichkeit dir dein eigenes Neutrino zu bauen so wie ich und viele andere auch machen.
Das wäre natürlich die letzte Konsequenz, aber ich glaube das übersteigt meine Möglichkeiten.
Zu D: Diese Funktion macht doch der sectionsd nun quasi. Überflüssige Events fallen weg sobald sie abgelaufen sind. Wäre beim EPG Reset auch nicht anders.
Und wenn nicht nur überflüssige Events wegfallen, sondern regelmäßig alle EPGs komplett gelöscht werden, so dass erstmal nur das aktuelle, sobald es wieder neu geladen ist, (vollständig) im (ansonsten freien) Speicher ist?
w-sky
Einsteiger
Einsteiger
Beiträge: 187
Registriert: Dienstag 27. Juli 2004, 22:49

Beitrag von w-sky »

Hier antworte ich mir mal selbst, um demütigst alle Mitdiskutierenden zu fragen, ob sich in dieser Thematik schon etwas ergeben hat!

Bis zum 2. Januar diesen Jahres nämlich kannte ich die Probleme, die zur vorgenommenen EPG-Verkürzung führten, so gut wie gar nicht. - Kein Wunder, denn über Kabel bekam ich zuletzt nur ARD, ZDF und ein paar wenige uninteressante Programme in "Digital Free", größtenteils ohne EPG.
Am 2.1. aber ist Digital Free auf 26 Programme angewachsen (Tendenz steigend), viele davon mit EPG-Vorschau für eine ganze Woche, und zusätzlich "teste" ich derzeit Kabel Digital Home 3 Monate kostenlos. Das sind eine Menge mehr EPG-Daten als früher, und jetzt merke ich mit einem Image von November 2005 doch sehr deutlich, wie das zu Problemen führt. :(

Was tun, sprach das Huhn