[PATCH] Mal wieder ein sectionsd-Versuch...
-
- Wissender
- Beiträge: 1839
- Registriert: Sonntag 17. August 2003, 01:39
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
@Seife
Wollte mal nachfragen ob Du mit dem Problem am EPG Filter schon weiter gekommen bist.
Ansonsten ist die aktuelle Version für mich nicht mehr einsetzbar, da mir der ARD EPG den
gesamten Speicher "zumüllt".
Oder ich müsste den Filter umschreiben...
Gruß
____Paule
Wollte mal nachfragen ob Du mit dem Problem am EPG Filter schon weiter gekommen bist.
Ansonsten ist die aktuelle Version für mich nicht mehr einsetzbar, da mir der ARD EPG den
gesamten Speicher "zumüllt".
Oder ich müsste den Filter umschreiben...
Gruß
____Paule
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
realistisch gesehen komme ich nicht vor Ende nächster Woche dazu mir das anzusehen. Wenn überhaupt so "früh"
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
sectionsd-remove-eitthreads-pause-v2.diff
Nächster Versuch. Um Ganz ehrlich zu sein: das ist mehr stochern im Nebel als exakte Wissenschaft ;-)
@PauleFoul: ich kann das mit ARD und ZDF und deinem epgfilter.xml nicht reproduzieren, auf ARD und ZDF habe ich mehr als nur now&next (ASTRA 19.2E). Auf BR-Alpha, was im Filter mit drin ist, habe ich jedoch nur now&next. Insofern scheint das zu funktionieren.
Nächster Versuch. Um Ganz ehrlich zu sein: das ist mehr stochern im Nebel als exakte Wissenschaft ;-)
@PauleFoul: ich kann das mit ARD und ZDF und deinem epgfilter.xml nicht reproduzieren, auf ARD und ZDF habe ich mehr als nur now&next (ASTRA 19.2E). Auf BR-Alpha, was im Filter mit drin ist, habe ich jedoch nur now&next. Insofern scheint das zu funktionieren.
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Bin jetzt auch etwas benebelt.
Sollen die 3 Zeilen aus dem mutex.diff mit da rein?
Oder ist es eventuell sinnvoller erstmal ohne den mutex Patch zu testen?
~Wissenschaft hin, Wissenschaft her, der User ist der beste Störungsmelder.~
Sollen die 3 Zeilen aus dem mutex.diff mit da rein?
Oder ist es eventuell sinnvoller erstmal ohne den mutex Patch zu testen?
~Wissenschaft hin, Wissenschaft her, der User ist der beste Störungsmelder.~
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Nein, das mit dem mutex-Versuch ist wohl eher die falsche Richtung gewesen. Der schützt nur davor, wenn neutrino mehrere Anfragen gleichzeitig machen würde, was aber vermutlich eher nicht passiert. Das Problem ist, dass sectionsd tatsächlich intern deadlocked. Vermute ich mal (bei mir tritts ja nicht auf )
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Gerade eingespielt, sieht gut aus, keine Probleme, weder mit v1 noch jetzt mit v2 feststellbar.seife hat geschrieben:sectionsd-remove-eitthreads-pause-v2.diff
Nächster Versuch. Um Ganz ehrlich zu sein: das ist mehr stochern im Nebel als exakte Wissenschaft ;-)
Allerdings habe ich die Freezer noch nie beobachten können (Sagem 2x, 64MB, Kabel).
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ich habe meinen no_debug-Patch an den aktuellen CVS+Code + obigem Patchseife hat geschrieben:sectionsd-remove-eitthreads-pause-v2.diff
angepasst und ein Binary daraus gemacht, no_debug-Patch und Binary gibt es hier:
sectionsd-remove-eitthreads-pause-v2_nodebug.tar.bz2
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Sagem's crashen nicht. Bisher habe ich nur von Nokia's gelesen.rhabarber1848 hat geschrieben: ...
Gerade eingespielt, sieht gut aus, keine Probleme, weder mit v1 noch jetzt mit v2 feststellbar.
Allerdings habe ich die Freezer noch nie beobachten können (Sagem 2x, 64MB, Kabel).
Deswegen kann es meiner Meinung nach kein reines sectionsd Problem sein.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Mir geht es hier auch nicht um die Crashes/harten Hänger, die gehen mich erst mal nix an, mir geht es um die Deadlocks (Infobar hängt, aber "killall sectionsd" via telnet machts wieder ganz).
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
So. Jetzt mal eine ganz andere Herangehensweise
Ich hatte schon länger vermutet, dass die {read,write}LockMessaging()-Calls das Problem waren.
Heute wollte ich mal die gefixten Error-Pfade für die ganzen Command*-Funktionen committen (das ist unabhängig vom Rest, aber schliesst aus, dass die GUI hängt, weil sie ein Kommando an den sectionsd schickt, der aber wegen eines Fehlers "vergisst" zu antworten). Als ich den Patch zum Test kompiliert hatte stolperte ich prompt wieder über diese Deadlocks.
Dabei kam raus, dass der sectionsd am messaging Lock hing. Also habe ich mal untersucht, welche davon eigentlich notwendig sind und welche nicht.
Alle diese messaging_*-Variablen, die nur innerhalb eines einzelnen Threads benutzt werden, brauchen IMHO kein Locking, also habe ich es mal auskommentiert. Patch und Binary giibt's hier:
sectionsd-fix-error-paths-and-rework-messaging-locks-v1.diff
sectionsd-fix-error-paths-and-rework-messaging-locks-v1.gz
Erfahrungsberichte, insbesondere von denen, die bisher reproduzierbar Hänger hatten, sind willkommen.
Oh - und wenn mir jemand den Fehler in meinem Gedankengang aufzeigt, ist mir das auch recht
Ich hatte schon länger vermutet, dass die {read,write}LockMessaging()-Calls das Problem waren.
Heute wollte ich mal die gefixten Error-Pfade für die ganzen Command*-Funktionen committen (das ist unabhängig vom Rest, aber schliesst aus, dass die GUI hängt, weil sie ein Kommando an den sectionsd schickt, der aber wegen eines Fehlers "vergisst" zu antworten). Als ich den Patch zum Test kompiliert hatte stolperte ich prompt wieder über diese Deadlocks.
Dabei kam raus, dass der sectionsd am messaging Lock hing. Also habe ich mal untersucht, welche davon eigentlich notwendig sind und welche nicht.
Alle diese messaging_*-Variablen, die nur innerhalb eines einzelnen Threads benutzt werden, brauchen IMHO kein Locking, also habe ich es mal auskommentiert. Patch und Binary giibt's hier:
sectionsd-fix-error-paths-and-rework-messaging-locks-v1.diff
sectionsd-fix-error-paths-and-rework-messaging-locks-v1.gz
Erfahrungsberichte, insbesondere von denen, die bisher reproduzierbar Hänger hatten, sind willkommen.
Oh - und wenn mir jemand den Fehler in meinem Gedankengang aufzeigt, ist mir das auch recht
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Auf zum fröhlichen testen.
Einen einfachen timeout einzubauen wäre wohl etwas zu trivial?
Einen einfachen timeout einzubauen wäre wohl etwas zu trivial?
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Wenn du mir sagst, was ich machen soll, wenn ich den Lock nicht bekomme, dann mach ich das gerne ;-)
Achso: natürlich für jeden Fall, das sind genau:Fälle .
Tatsächlich muss man dafür sorgen, dass der Deadlock nicht auftritt. Wenn das jetzt nichts hilft, dann muss man eben feiner locken, also nicht "lockMessaging" für alle messaging_*-Variablen, sondern tatsächlich für jede Variable einzeln. Dann wird es auch einfacher festzustellen, ob man per Timeout einfach weitermachen kann, auch wenn man den Lock nicht bekommen hat.
Achso: natürlich für jeden Fall, das sind genau:
Code: Alles auswählen
seife@stoetzler:.../daemons/sectionsd> gcc -E sectionsd.cpp 2>/dev/null|grep -v inline|egrep -i '(read|write)lockmessaging'| wc -l
49
Tatsächlich muss man dafür sorgen, dass der Deadlock nicht auftritt. Wenn das jetzt nichts hilft, dann muss man eben feiner locken, also nicht "lockMessaging" für alle messaging_*-Variablen, sondern tatsächlich für jede Variable einzeln. Dann wird es auch einfacher festzustellen, ob man per Timeout einfach weitermachen kann, auch wenn man den Lock nicht bekommen hat.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
ich hab se mal loofen seit gestern abend.
auf was soll ich achten ?
epg kommt subjektiv schneller.
cache 4 tage
verwerfen nach 3 stunden
langtext 6 stunden
maxevents 6000
hdd mit swap auf sec.ide
auf was soll ich achten ?
epg kommt subjektiv schneller.
cache 4 tage
verwerfen nach 3 stunden
langtext 6 stunden
maxevents 6000
hdd mit swap auf sec.ide
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ob er sich auf den bekannt verdächtigen Sendern weghängt. Bei mir tritt es ja normalerweise nicht auf...mb405 hat geschrieben:ich hab se mal loofen seit gestern abend.
auf was soll ich achten ?
Achso, und ob alles noch so funktioniert wie vorher, evtl. habe ich ja zuviel wegoptimiert ;-)
Hm, das kann schon sein, da bestimmt auch ohne Deadlocks ab und zu unnötig(?) an den Locks gewartet wurde...epg kommt subjektiv schneller.
-
- Einsteiger
- Beiträge: 107
- Registriert: Freitag 15. Juli 2005, 08:44
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ich hatte vor geraumer Zeit auch ständig das "weghängen" bei diversen Sendern, ist aber ohne Änderungen am sectionsd bei mir schon lange nicht mehr aufgetreten.
Ich denke da mal eher an eine Änderung bei den betroffenen Sendern.
Also versteift Euch mal nicht ganz so doll auf die Fixe (nur so ne Idee von mir)!
Wobei Fixe für diverse Probleme natürlich Klasse sind !!!!
gruß boardgeist
Ich denke da mal eher an eine Änderung bei den betroffenen Sendern.
Also versteift Euch mal nicht ganz so doll auf die Fixe (nur so ne Idee von mir)!
Wobei Fixe für diverse Probleme natürlich Klasse sind !!!!
gruß boardgeist
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Sehe ich überhaupt nicht so. Irgendwo ist da der Wurm drin, sonst würden sich einige Boxen bei diversen Sendern nicht weghängen. Ich finds gut das seife da Zeit investiert um das Problem zu finden bzw. zu beheben. Das dann ganz nebenbei auch noch Geschwindigkeitssteigerungen beim EPG "abfallen" sollte uns allen nur Recht sein.Boardgeist hat geschrieben:Also versteift Euch mal nicht ganz so doll auf die Fixe (nur so ne Idee von mir)!
@Seife
Der V2 Patch hat leider keinerlei spürbare Änderung gebracht. Muss man den V2 vor dem Error-Path-Fix anwenden oder funktioniert der "solo"?
/edit
Hier mal eine schnelle Rückmeldung eines Testers des Binaries:
Bei mir unverändert bei Passion und RTL Crime (hängt, bis sich der EPG aufgebaut hat und ist danach wieder normal verwendbar) aber bei QVC keine Freezer mehr - die Box bleibt normal bedienbar.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ich bitte darum, nun nur den Patch von hier http://forum.tuxbox-cvs.sourceforge.net ... 13#p360913 (sectionsd-fix-error-paths-and-rework-messaging-locks-v1.diff) zu testen. Der ältere sectionsd-remove-eitthreads-pause-v2.diff wird nicht gleichzeitig damit gehen. Das Entfernen der eitthreads-pause-Funktion ist wohl eher eine Mikrooptimierung und trifft das hier auftretende Problem nicht. Sprich: das kann man später trotzdem mal machen, es ist aber momentan nicht wichtig.
-
- Einsteiger
- Beiträge: 107
- Registriert: Freitag 15. Juli 2005, 08:44
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
@striper: Ich schrieb: "Wobei Fixe für diverse Probleme natürlich Klasse sind !!!!"
Und so meine ich das auch!
Ich hatte selbst eine Zeit lang Abstürze und Unbedienbarkeit, die aber im Moment nicht mehr da sind (Nokia Avia600 Sat).
Derzeit teste ich auch die neue Versuchsversion von Seife und habe noch keine Probleme festgestellt.
gruß boardgeist
Und so meine ich das auch!
Ich hatte selbst eine Zeit lang Abstürze und Unbedienbarkeit, die aber im Moment nicht mehr da sind (Nokia Avia600 Sat).
Derzeit teste ich auch die neue Versuchsversion von Seife und habe noch keine Probleme festgestellt.
gruß boardgeist
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Achso, und da du nun keine Probleme mehr hast muss man da nix mehr machen weil irgendwann gehts dann ja bei jedem wieder... *bonk*Boardgeist hat geschrieben:Ich hatte selbst eine Zeit lang Abstürze und Unbedienbarkeit, die aber im Moment nicht mehr da sind (Nokia Avia600 Sat).
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Hi,
ich habe mir zusätzlich eine nodebug Variante für meine 2. Nokia gebaut.
Keine Probleme bisher, dafür eine exzellente Performance.
Wüsste nicht wann das zappen mal so schnell ging.
Gruß GetAway
ich habe mir zusätzlich eine nodebug Variante für meine 2. Nokia gebaut.
Keine Probleme bisher, dafür eine exzellente Performance.
Wüsste nicht wann das zappen mal so schnell ging.
Gruß GetAway
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Seife, ich hab nun schon von mehreren Leuten gehört das dein letzter Patch zumindest die harten Hänger in den Griff bekommt bei denen sich die Box weghängt.
Jetzt sind nur noch die Verzögerungen beim durchzappen übrig wie sie z.B. bei RTL Crime oder Passion auftreten.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Hm, Achtung, Missverständnis: Die Hänger, wo sich die Box so weghängt, dass kein Telnet mehr geht? Das habe ich sicherlich nicht gefixt (weil's ein Treiberproblem ist), aber wenn es nun nicht mehr triggert, ist das auch schon was wert. Oder die, wo "killall sectionsd" noch was gebracht hat?Striper hat geschrieben:Seife, ich hab nun schon von mehreren Leuten gehört das dein letzter Patch zumindest die harten Hänger in den Griff bekommt bei denen sich die Box weghängt.
Heisst: es dauert ein paar Sekunden, fängt sich dann aber wieder? Oder sind das die, wo "killall sectionsd" benötigt wird?Jetzt sind nur noch die Verzögerungen beim durchzappen übrig wie sie z.B. bei RTL Crime oder Passion auftreten.
-
- Erleuchteter
- Beiträge: 625
- Registriert: Samstag 8. September 2007, 16:17
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Naja dann hast du es eben indirekt gefixt. Hab jedenfalls von keinem gehört das sich die Box mit dem Patch noch komplett weghängt bzw. nen Reeboot durchführt.seife hat geschrieben:Hm, Achtung, Missverständnis: Die Hänger, wo sich die Box so weghängt, dass kein Telnet mehr geht? Das habe ich sicherlich nicht gefixt (weil's ein Treiberproblem ist), aber wenn es nun nicht mehr triggert, ist das auch schon was wert. Oder die, wo "killall sectionsd" noch was gebracht hat?
Exakt!seife hat geschrieben:Heisst: es dauert ein paar Sekunden, fängt sich dann aber wieder?
-
- Contributor
- Beiträge: 1509
- Registriert: Donnerstag 27. Dezember 2007, 12:59
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Hi,
teste mal auf BBC, Sky News, Al Jazeera und Luxe TV SD.
teste mal auf BBC, Sky News, Al Jazeera und Luxe TV SD.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [PATCH] Mal wieder ein sectionsd-Versuch...
Ok, das hört sich ja gut an. Ich habe deswegen auch mal diese Version ins CVS committet. Wenn es die Nokia-Hänger fixt, ist das schon mal ein AnfangStriper hat geschrieben:Naja dann hast du es eben indirekt gefixt. Hab jedenfalls von keinem gehört das sich die Box mit dem Patch noch komplett weghängt bzw. nen Reeboot durchführt.seife hat geschrieben:Hm, Achtung, Missverständnis: Die Hänger, wo sich die Box so weghängt, dass kein Telnet mehr geht? Das habe ich sicherlich nicht gefixt (weil's ein Treiberproblem ist), aber wenn es nun nicht mehr triggert, ist das auch schon was wert. Oder die, wo "killall sectionsd" noch was gebracht hat?
Exakt!seife hat geschrieben:Heisst: es dauert ein paar Sekunden, fängt sich dann aber wieder?