Ergebnis 41 bis 50 von 78
Thema: OpenWebif blockiert Tuner
-
03.11.2016, 03:58 #41
- Registriert seit
- 13.08.2013
- Ort
- Midgard
- Beiträge
- 2.863
- Thanks (gegeben)
- 585
- Thanks (bekommen)
- 1589
- Total Downloaded
- 745,74 MB
- Total Downloaded
- 745,74 MB
Box 1:Vu+ Ultimo 4k 4x DVB-S2 FBC / 2x DVB-C OpenATV 6.2Box 2:Gigablue Quad4k 2xDVB-S2 OpenATV 6.2Box 3:AX Quadbox 2400HDBox 4:diverseBox 5:DVBViewerDas ist ein und dieselbe IPv4-Verbindung, nur eben aus zwei Sichten, sieht man mit Option "p":
Code:tcp 0 0 127.0.0.1:57289 127.0.0.1:80 ESTABLISHED 8136/streamproxy tcp 0 0 ::ffff:127.0.0.1:80 ::ffff:127.0.0.1:57289 ESTABLISHED 960/enigma2
Daß es die zwei Sichten derselben Verbindung sind, sieht man an den über Kreuz vertauschten Quell- und Zielports, beim streamproxy ist 80 der Zielport und 57289 der Quellport, beim OWIF/enigma2 ist es umgekehrt.
Das sind auch beides nur IPv4-Verbindungen, nur daß der streamproxy (1. Zeile) dafür einen reinen IPv4-Socket benutzt, während das OpenWebif/enigma2 (2. Zeile) auf einem Dual-Stack-Socket lauscht.
::ffff:127.0.0.1 ist eine sogenannte "IPv4-mapped IPv6-Address" und einfach nur busybox-netstat's Art und Weise, eine IPv4-Verbindung - hier von/zu 127.0.0.1, also dem IPv4-localhost - auf einem Dual-Stock-Socket darzustellen.
Bei einem vollwertigen netstat würde das anders dargestellt:
Code:tcp6 0 0 123.45.67.89:12000 234.56.78.90:52461 VERBUNDEN 0 24894357 10075/oscam
Das ist also nicht das Problem.
Was ein Problem ist, ist das Stehenbleiben der Verbindung und zumindest beim Vu+/Dags Transcoding und dem Streaming über den Streamproxy könnte das OWIF doch Teil des Problems sein:
Was wir am Ende sehen:
Code:Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 1 0 ::ffff:127.0.0.1:80 ::ffff:127.0.0.1:49194 CLOSE_WAIT 3714/enigma2
Phill Barber's Blog: Lessons learned from a connection leak in production
Tatsächlich interessiert sich der streamproxy (Und Vu+'s transstreamproxy ist ja nichts als eine Erweiterung davon) nicht die Bohne dafür, was sonst noch vom Webif kommt, sondern nur für den Status Code, um zu wissen, ob er streamen darf oder nicht.
http://git.opendreambox.org/?p=enigm...roxy.c;hb=HEAD
Das trifft ziemlich genau das, was auf der oben verlinkten Seite zum Thema Connection Leak steht:
"What caused the leak?
We were using Jersey which in-turn was using HttpComponents4 to send a http request to another service. The service being called was very simple and did not return any response body, just a status code which was all we were interested in. If the status code was 200, the user was logged in, anything else we treat as unauthorised."
Das trifft auf den streamproxy 1:1 zu.
Für das Streamen/Transcoden von Live TV (An denen das OWIF ja nur für die Autorisierung beteiligt ist, aber eben auch wenn die deaktiviert ist!) fehlt also wohl irgendwo ein "response.close()", "loseConnection" o.ä. im OWIF.
Die Lösung scheint in dem verlinkten Artikel zu stehen, mir ist das allerdings etwas zu hoch.Receiver/TV:- Vu+ Ultimo 4k 4xDVB-S2 FBC / 2x-C / 5.5TB / OpenATV 6.4@LG 65" OLED
- Gigablue Quad 4k 2xDVB-S2 / 2x-C / 1.8TB GB / OpenATV 6.4@Samsung 37" LED
- diverse weitere
- S2-Twin-Tuner PCIe@Samsung SyncMaster T240HD (PC)
- TechniSat SkyStar HD 2 (2.PC)
Internet: Unitymedia 2play 400 + Telekom VDSL100 / Linksys WRT1900ACS / IPv4 (UM) + IPv6 (Hurricane Electric+UM+Telekom)
-
Advertising
-
03.11.2016, 04:07 #42
- Registriert seit
- 13.08.2013
- Ort
- Midgard
- Beiträge
- 2.863
- Thanks (gegeben)
- 585
- Thanks (bekommen)
- 1589
- Total Downloaded
- 745,74 MB
- Total Downloaded
- 745,74 MB
Box 1:Vu+ Ultimo 4k 4x DVB-S2 FBC / 2x DVB-C OpenATV 6.2Box 2:Gigablue Quad4k 2xDVB-S2 OpenATV 6.2Box 3:AX Quadbox 2400HDBox 4:diverseBox 5:DVBViewerIch habe das mal mit diesen Informationen auch als Issue gemeldet, aber es muß sich irgendjemand anderes drum kümmern, mir ist es zu hoch:
Connection Leak bei Autorisierung fur Streaming/Vu+ Transcoding * Issue #414 * E2OpenPlugins/e2openplugin-OpenWebif * GitHub
betacentauri, Du bist also noch nicht raus aus der SacheReceiver/TV:- Vu+ Ultimo 4k 4xDVB-S2 FBC / 2x-C / 5.5TB / OpenATV 6.4@LG 65" OLED
- Gigablue Quad 4k 2xDVB-S2 / 2x-C / 1.8TB GB / OpenATV 6.4@Samsung 37" LED
- diverse weitere
- S2-Twin-Tuner PCIe@Samsung SyncMaster T240HD (PC)
- TechniSat SkyStar HD 2 (2.PC)
Internet: Unitymedia 2play 400 + Telekom VDSL100 / Linksys WRT1900ACS / IPv4 (UM) + IPv6 (Hurricane Electric+UM+Telekom)
-
03.11.2016, 18:08 #43
- Registriert seit
- 15.06.2013
- Beiträge
- 2.359
- Thanks (gegeben)
- 287
- Thanks (bekommen)
- 1399
- Total Downloaded
- 1,32 MB
- Total Downloaded
- 1,32 MB
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereDas hatte ich mir schon gedacht. Bloß dass bei dem einen eine IPv4 und beim anderen eine IPv6 Adresse stand, hatte mich verwirrt...
Ich habe den Fehler meine ich gefunden. Der liegt im WebIf, weil er dort die Verbindung nicht schliesst. Dadurch wird ja nur die eine Richtung geschlossen. Die TCP Verbindung bleibt solange offen bis der Proxy nicht mehr will.
ABER das funktioniert so noch nicht. Jetzt kommt leider ein dir bekanntes 2. Problem zu tragen. Der Proxy schickt mehrere Anfragen an das WebIf. Wenn ich jetzt nach der Beantwortung des ersten Requests die Verbindung schliesse, wird beim 2. Request eine Exception geworfen, da ich die Verbindung schon geschlossen habe :-(
Warum zum Teufel versendet der Proxy die Anfrage mehrfach???hd51, vuduo4se,....
-
Danke - 1 ThanksSpaceRat bedankten sich
-
03.11.2016, 18:13 #44
- Registriert seit
- 13.08.2013
- Ort
- Midgard
- Beiträge
- 2.863
- Thanks (gegeben)
- 585
- Thanks (bekommen)
- 1589
- Total Downloaded
- 745,74 MB
- Total Downloaded
- 745,74 MB
Box 1:Vu+ Ultimo 4k 4x DVB-S2 FBC / 2x DVB-C OpenATV 6.2Box 2:Gigablue Quad4k 2xDVB-S2 OpenATV 6.2Box 3:AX Quadbox 2400HDBox 4:diverseBox 5:DVBViewerWenn Du das rausgefunden hast, wissen wir womöglich sogar wieso man sich mit dem verkackten E2-internen basic auth auch schon mal 7x anmelden muß, bis endlich gestreamt wird.
Receiver/TV:- Vu+ Ultimo 4k 4xDVB-S2 FBC / 2x-C / 5.5TB / OpenATV 6.4@LG 65" OLED
- Gigablue Quad 4k 2xDVB-S2 / 2x-C / 1.8TB GB / OpenATV 6.4@Samsung 37" LED
- diverse weitere
- S2-Twin-Tuner PCIe@Samsung SyncMaster T240HD (PC)
- TechniSat SkyStar HD 2 (2.PC)
Internet: Unitymedia 2play 400 + Telekom VDSL100 / Linksys WRT1900ACS / IPv4 (UM) + IPv6 (Hurricane Electric+UM+Telekom)
-
03.11.2016, 18:15 #45
- Registriert seit
- 13.08.2013
- Ort
- Midgard
- Beiträge
- 2.863
- Thanks (gegeben)
- 585
- Thanks (bekommen)
- 1589
- Total Downloaded
- 745,74 MB
- Total Downloaded
- 745,74 MB
Box 1:Vu+ Ultimo 4k 4x DVB-S2 FBC / 2x DVB-C OpenATV 6.2Box 2:Gigablue Quad4k 2xDVB-S2 OpenATV 6.2Box 3:AX Quadbox 2400HDBox 4:diverseBox 5:DVBViewerHast Du die Issue gelesen?
Dort hatte ich noch was zugefügt:
A commit to some other project to fix the same problem (connection leak, connections stuck in CLOSE_WAIT state):
reviewed by: xmartinez/jan * Flumotion/flumotion@2a6b048 * GitHub
Maybe this helps.Receiver/TV:- Vu+ Ultimo 4k 4xDVB-S2 FBC / 2x-C / 5.5TB / OpenATV 6.4@LG 65" OLED
- Gigablue Quad 4k 2xDVB-S2 / 2x-C / 1.8TB GB / OpenATV 6.4@Samsung 37" LED
- diverse weitere
- S2-Twin-Tuner PCIe@Samsung SyncMaster T240HD (PC)
- TechniSat SkyStar HD 2 (2.PC)
Internet: Unitymedia 2play 400 + Telekom VDSL100 / Linksys WRT1900ACS / IPv4 (UM) + IPv6 (Hurricane Electric+UM+Telekom)
-
03.11.2016, 18:42 #46
- Registriert seit
- 15.06.2013
- Beiträge
- 2.359
- Thanks (gegeben)
- 287
- Thanks (bekommen)
- 1399
- Total Downloaded
- 1,32 MB
- Total Downloaded
- 1,32 MB
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereDer blöde Proxy Code macht das.
http://code.vuplus.com/gitweb/?p=vup...ranstreamproxy
Also max. 32 Wiederholungen und bei jeder Wiederholung werden mindestens 3 Anfragen versendet:
for(int retry_count = 0; retry_count < 32; retry_count++)
for (nostream_count = 0; nostream_count < 3; nostream_count++)
Also das der wiederholt so lange bis alle PIDs gefüllt sind, kann ich ja noch verstehen. Aber warum er immer 3 Anfragen hintereinander losschickt, ist mir ein Rätsel.
Nichtsdestotrotz weiß ich nicht wie man das Problem beheben kann. Im WebIf weiß ich ja nicht wieviele Anfragen kommen. Also kann ich nie die Verbindung schliessen. Und wenn der Proxy die Verbindung schliesst, dann bekommt das WebIf scheinbar nichts davon mit.
Hab schon versucht mit try exception zu arbeiten, aber das geht nicht. Scheiß E2.hd51, vuduo4se,....
-
03.11.2016, 18:44 #47
- Registriert seit
- 15.06.2013
- Beiträge
- 2.359
- Thanks (gegeben)
- 287
- Thanks (bekommen)
- 1399
- Total Downloaded
- 1,32 MB
- Total Downloaded
- 1,32 MB
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereEigentlich muss man den Service umdefinieren. Wenn alle Infos da sind, muss der Proxy dem WebIf sagen "Alles Ok" oder so.
hd51, vuduo4se,....
-
03.11.2016, 18:47 #48
- Registriert seit
- 15.06.2013
- Beiträge
- 2.359
- Thanks (gegeben)
- 287
- Thanks (bekommen)
- 1399
- Total Downloaded
- 1,32 MB
- Total Downloaded
- 1,32 MB
Box 1:hd51Box 2:vuduo4kseBox 3:und noch 20-30 andereAchso. So wollte ich das ändern. Nach der Antwort an den Client (request.write(...)) ist das WebIf ja theoretisch fertig. Geht bloß so nicht.
Code:--- stream.py +++ stream.py_new @@ -52,6 +52,7 @@ self.converter = Streaming(converter_args) self.converter.source = self self.request.write(self.converter.getText()) + self.request.finish() class StreamController(resource.Resource): def __init__(self, session, path = ""):
hd51, vuduo4se,....
-
03.11.2016, 19:01 #49
- Registriert seit
- 13.08.2013
- Ort
- Midgard
- Beiträge
- 2.863
- Thanks (gegeben)
- 585
- Thanks (bekommen)
- 1589
- Total Downloaded
- 745,74 MB
- Total Downloaded
- 745,74 MB
Box 1:Vu+ Ultimo 4k 4x DVB-S2 FBC / 2x DVB-C OpenATV 6.2Box 2:Gigablue Quad4k 2xDVB-S2 OpenATV 6.2Box 3:AX Quadbox 2400HDBox 4:diverseBox 5:DVBViewerReceiver/TV:- Vu+ Ultimo 4k 4xDVB-S2 FBC / 2x-C / 5.5TB / OpenATV 6.4@LG 65" OLED
- Gigablue Quad 4k 2xDVB-S2 / 2x-C / 1.8TB GB / OpenATV 6.4@Samsung 37" LED
- diverse weitere
- S2-Twin-Tuner PCIe@Samsung SyncMaster T240HD (PC)
- TechniSat SkyStar HD 2 (2.PC)
Internet: Unitymedia 2play 400 + Telekom VDSL100 / Linksys WRT1900ACS / IPv4 (UM) + IPv6 (Hurricane Electric+UM+Telekom)
-
03.11.2016, 19:04 #50
- Registriert seit
- 13.08.2013
- Ort
- Midgard
- Beiträge
- 2.863
- Thanks (gegeben)
- 585
- Thanks (bekommen)
- 1589
- Total Downloaded
- 745,74 MB
- Total Downloaded
- 745,74 MB
Box 1:Vu+ Ultimo 4k 4x DVB-S2 FBC / 2x DVB-C OpenATV 6.2Box 2:Gigablue Quad4k 2xDVB-S2 OpenATV 6.2Box 3:AX Quadbox 2400HDBox 4:diverseBox 5:DVBViewerMeines Erachtens muß der Fix auch eher in httpserver.py erfolgen.
Keine Ahnung was der streamproxy alles vom OWIF wissen will (Eigentlich ja nicht viel), aber er beendet ja die Session.
Nur E2/OWIF bleibt im CLOSE_WAIT-Zustand kleben.Receiver/TV:- Vu+ Ultimo 4k 4xDVB-S2 FBC / 2x-C / 5.5TB / OpenATV 6.4@LG 65" OLED
- Gigablue Quad 4k 2xDVB-S2 / 2x-C / 1.8TB GB / OpenATV 6.4@Samsung 37" LED
- diverse weitere
- S2-Twin-Tuner PCIe@Samsung SyncMaster T240HD (PC)
- TechniSat SkyStar HD 2 (2.PC)
Internet: Unitymedia 2play 400 + Telekom VDSL100 / Linksys WRT1900ACS / IPv4 (UM) + IPv6 (Hurricane Electric+UM+Telekom)
Lesezeichen