udrec - SocketException: Address already in use

Alles zum Thema Grabbing, was nicht speziell zu JtG passt, z.B: Direktstreaming, andere Tools etc.
Antworten
Nachricht
Autor
Hagan
Gelegenheits-Streamer
Gelegenheits-Streamer
Beiträge: 73
Registriert: Do 01 Apr 2004, 16:14

udrec - SocketException: Address already in use

#1 Beitrag von Hagan » Sa 19 Jun 2004, 21:12

Hallo nochmal :oops: .

Gerade ist mir doch beinahe eine Aufnahme schiefgegangen.
Der udrec-Prozess (Version 0.12e) läuft als root schon seit dem Systemstart vor ein paar Tagen und hat bereits erfolgreich einige Aufnahmen absolviert.
Diesmal gab es jedoch nach dem Timerstart den folgenden Eintrag im Log:

Code: Alles auswählen

19:25:14 to DBox: VIDEO 31341 16 0 1 a 2c6
19:25:14 from DBox: INFO: IP ac102101 Port 31341
19:25:14 from DBox: PID a 1 2c6
19:25:14 to DBox: START
19:25:14 UpdReceiver: can't establish network connection
System.Net.Sockets.SocketException: Address already in use
in (unmanaged) (wrapper managed-to-native) System.Net.Sockets.Socket:Bind_internal (intptr,System.Net.SocketAddress)
in <0x00004> (wrapper managed-to-native) System.Net.Sockets.Socket:Bind_internal (intptr,System.Net.SocketAddress)
in <0x000a4> System.Net.Sockets.Socket:Bind (System.Net.EndPoint)
in <0x000ac> .Record:UdpReceiver ()

19:25:14 from DBox: INFO: UdpSender() - PID104 R0 W0
19:25:14 TcpReceiver stopped
19:25:15 ESSync stopped
Ich habe es noch rechtzeitig bemerkt, um die Aufnahme von Hand neu zu starten, was dann auch klappte (bis auf das "Feature", dass sich die dbox eine Minute nach Aufnahmestart abschaltete :twisted: ).

Ich hatte solche Meldungen vor ein paar Tagen schon mal.
Könnte das mit dem 2.6er-Kernel oder irgendeiner Besonderheit von SuSE 9.1 zusammenhängen? Bei meiner vorigen Linux-Version mit 2.4er-Kernel trat es nie auf.

Viele Grüße,
Hagan.

tonsel
Dev von udrec/mkdvd
Dev von udrec/mkdvd
Beiträge: 400
Registriert: Di 18 Nov 2003, 20:56

#2 Beitrag von tonsel » So 20 Jun 2004, 7:43

Version 0.12f wiederholt bis der Socket wieder frei ist.

www.haraldmaiss.de/udrec0.12f.zip

tonsel

Hagan
Gelegenheits-Streamer
Gelegenheits-Streamer
Beiträge: 73
Registriert: Do 01 Apr 2004, 16:14

#3 Beitrag von Hagan » So 20 Jun 2004, 12:55

Danke für die schnelle Reaktion :) .

Ich habe die neue Version schon installiert und gerade etwas getested.
Leider scheint das Problem doch etwas anders zu liegen.
Bei dem oben beschriebenen Fall lag die letzte Aufnahme auch schon einige Stunden zurück, so daß die Adresse auf jeden Fall frei sein sollte.
Und gerade konnte ich auch mit der 0.12f noch den Fehler reproduzieren:

Code: Alles auswählen

13:42:13 to DBox: VIDEO 31341 16 0 1 a 2c6
13:42:14 from DBox: INFO: IP ac102101 Port 31341
13:42:14 from DBox: PID a 1 2c6
13:42:14 to DBox: START
13:42:14 UpdReceiver: can't establish network connection
13:42:14 from DBox: INFO: UdpSender() - PID112 R0 W0
13:42:14 from DBox: INFO: DmxReader() - Pid 2c6 29280 0 0
13:42:19 UpdReceiver: can't establish network connection
13:42:24 UpdReceiver: can't establish network connection
13:42:29 UpdReceiver: can't establish network connection
13:42:34 UpdReceiver: can't establish network connection
13:42:39 UpdReceiver: can't establish network connection
13:42:44 UpdReceiver: can't establish network connection
13:42:49 UpdReceiver: can't establish network connection
13:42:54 UpdReceiver: can't establish network connection
13:42:59 UpdReceiver: can't establish network connection
13:43:04 UpdReceiver: can't establish network connection
13:43:09 UpdReceiver: can't establish network connection
13:43:14 UpdReceiver: can't establish network connection
13:43:19 UpdReceiver: can't establish network connection
13:43:24 UpdReceiver: can't establish network connection
13:43:29 UpdReceiver: can't establish network connection
13:43:34 UpdReceiver: can't establish network connection
13:43:39 UpdReceiver: can't establish network connection
13:43:44 UpdReceiver: can't establish network connection
13:43:49 UpdReceiver: can't establish network connection
13:43:54 UpdReceiver: can't establish network connection
13:43:59 UpdReceiver: can't establish network connection
13:44:04 UpdReceiver: can't establish network connection
13:44:09 UpdReceiver: can't establish network connection
13:44:14 UpdReceiver: can't establish network connection
13:44:19 UpdReceiver: can't establish network connection
13:44:24 UpdReceiver: can't establish network connection
13:44:29 UpdReceiver: can't establish network connection
13:44:34 UpdReceiver: can't establish network connection
13:44:39 UpdReceiver: can't establish network connection
13:44:44 UpdReceiver: can't establish network connection
13:44:49 UpdReceiver: can't establish network connection
13:44:54 UpdReceiver: can't establish network connection
Offensichtlich kann udrec da ewig warten, ohne dass die Verbindung zustandekommt.
Nach dem Stoppen und Neustart der Aufnahme klappt es wieder, auch ohne einen udrec-Neustart.

Ich hatte auch gerade den SuSE-Kernel auf die letzte offizielle Version 2.6.5-7.75 upgedated. Falls es doch ein Kernel-Bug sein sollte, ist er damit jedenfalls noch nicht behoben.
Vielleicht liegt es ja auch an mono?

Hagan

RageForOrder
Gelegenheits-Streamer
Gelegenheits-Streamer
Beiträge: 50
Registriert: Mo 04 Aug 2003, 16:22

#4 Beitrag von RageForOrder » Do 15 Jul 2004, 21:07

Hallo allerseits,

durch eine Suche nach der Fehlermeldung bin ich auf diesen (schon etwas älteren) Thread gestoßen:
Hagan hat geschrieben: Ich habe die neue Version schon installiert und gerade etwas getested.
Leider scheint das Problem doch etwas anders zu liegen.
Bei dem oben beschriebenen Fall lag die letzte Aufnahme auch schon einige Stunden zurück, so daß die Adresse auf jeden Fall frei sein sollte.
Und gerade konnte ich auch mit der 0.12f noch den Fehler reproduzieren:

[...]

Ich hatte auch gerade den SuSE-Kernel auf die letzte offizielle Version 2.6.5-7.75 upgedated. Falls es doch ein Kernel-Bug sein sollte, ist er damit jedenfalls noch nicht behoben.
Vielleicht liegt es ja auch an mono?
Ich hatte soeben bei einer Aufnahme auf N3 ein ähnliches Problem: Ich verwende udrec 0.12f "plain" (ohne JtG) als Streaming Server auf einer Debian Woody Box mit Kernel 2.4.26 und mono 0.31. Nach zehn Minuten (20:25 Uhr) brach die Aufnahme plötzlich mit der Fehlermeldung aus dem Betreff ab. Dummerweise habe ich das Log bzw. die Ausgaben auf der Console nicht gesichert. :roll:

Mit älteren Versionen von udrec und mono 0.29 bestand das Problem bei gleicher Kernel-Version nicht. Woran könnte das liegen? (BTW: Mit mono 0.97 gab's immer Exceptions, sobald die mpv-Datei die 2 GB-Grenze überschritt ...) tonsel? <fleh> :wink:

Danke und Gruß,
Rage
Box: Nokia Sat 2xI Avia 500, JtG Basisimage 01.05.04, avia500v110, ucode_0014 (built-in), cam_01_02_105E
PC: Debian GNU/Linux, udrec 0.12f, mono 0.31, ProjectX 0.81.7

tonsel
Dev von udrec/mkdvd
Dev von udrec/mkdvd
Beiträge: 400
Registriert: Di 18 Nov 2003, 20:56

#5 Beitrag von tonsel » Fr 16 Jul 2004, 12:22

Die gleiche Fehlermeldung kann mitten im Stream eigentlich nicht auftreten, sondern nur am Beginn der Aufnahme, wenn der Upd-Socket geöffnet wird. => Log posten.

Das Problem mit der 2GB-Grenze liegt an mono. Ich hoffe das die Mono-Jungs das wieder korriegieren und Linux-64Bit-Dateien supporten, wie das bisher immer war.

tonsel

RageForOrder
Gelegenheits-Streamer
Gelegenheits-Streamer
Beiträge: 50
Registriert: Mo 04 Aug 2003, 16:22

#6 Beitrag von RageForOrder » Mo 02 Aug 2004, 19:53

tonsel hat geschrieben:Die gleiche Fehlermeldung kann mitten im Stream eigentlich nicht auftreten, sondern nur am Beginn der Aufnahme, wenn der Upd-Socket geöffnet wird. => Log posten.
Hmm, das kann ich jetzt leider nicht mehr nachvollziehen. Deine These zu bestätigen scheint aber das folgende Szenario, das ich leider am Samstag erleben musste. :-( Zunächst hatte ich eine Aufnahme auf WDR programmiert, die in folgendem Log endete:

Code: Alles auswählen

16:45:52 to DBox: VIDEO 31341 16 0 1 va 259 25a
16:45:52 from DBox: INFO: IP c0a8012a Port 31341
16:45:52 from DBox: PID va 2 259 25a
16:45:54 to DBox: START
16:45:54 from DBox: INFO: UdpSender() - PID101 R0 W0
16:45:54 from DBox: INFO: DmxReader() - Pid 259 204960 0 0
16:45:54 from DBox: INFO: DmxReader() - Pid 25a 29280 0 0
16:46:07 found video stream (e4)
16:46:07 found mp2 stream (c0)
16:46:10 00:01:22.50: video resync
16:51:11 Buffer Overflow Start: packet 74672 read 67975 max 73095
16:51:12 packet lost 5219 4960
16:51:12 220 packets lost
16:51:12 00:06:20.35: corrupt audio frame(s)
16:51:12 packet lost 75118 70515
16:51:12 stream out of data
16:51:12 ESSync stopped - stream errors found
16:51:12 Buffer Overflow Stop: packet count 75119
16:51:30 Buffer Overflow Start: packet 80238 read 75118 max 80238
16:52:12 Buffer Overflow Start: packet 6207 read 5183 max 6207
17:35:26 to DBox: STOP
17:35:26 network statistics:
max:      5.3 Mbit/s total data rate
average:  3.0 Mbit/s total data rate
average:  0.001 Mbit/s resend data rate
count:    301 resend packets
average:  1 resend packet per 2439.5 total packets
max:      256 packets per resend
average:  100.3 packets per resend
17:35:26 TcpSender stopped
17:35:26 from DBox: EXIT
17:35:26 TcpReceiver stopped
17:35:26 UdpReceiver stopped
17:35:31 DBoxRecordControl stopped
Die Aufnahme endete dann leider mit dem Buffer Overflow nach gut sechs knapp Minuten.

Es scheint so, als gäbe es (nur bei mir?!) in letzter Zeit häufig Probleme mit den Dritten. Vor kurzem war mir eine Aufnahme auf N3 mit der Meldung "Data rate exceeded 9 Mbit/s" ausgestiegen, und ich hatte auf N3 extreme Bildstörungen. Es zuckte wie wild, kaum mal ein "flüssiges" Bild zu sehen, so als wenn man ganz schlechten Empfang hat. Mein zuvor gepostetes Problem mit einer Aufnahme betraf ja ebenfalls N3. Machen die da in letzter Zeit Murks, oder muss das irgendwo bei mir im Argen liegen?

Wie dem auch sei, die nachfolgende Aufnahme endete dann ebenfalls in einem Fiasko, und dieses Mal dann mit der Fehlermeldung aus dem Betreff:

Code: Alles auswählen

Unhandled Exception: System.Net.Sockets.SocketException: Address already in use
in (unmanaged) /usr/local/lib/libmono.so.0(mono_raise_exception+0x20) [0x40092d64]
in (unmanaged) /usr/local/lib/libmono.so.0 [0x400b4eb9]
in <0x000a5> System.Net.Sockets.Socket:Bind (System.Net.EndPoint)
in <0x000c0> DBoxRecordControl:Start ()
in <0x019ea> udrec:Main (string[])
Was mich daran wundert bzw. wurmt ist, dass ich lange Zeit fast keine Probleme mit udrec als Streaming Server hatte. Erst seit ich auf neuere Mono- und udrec-Versionen umgestiegen bin, häuft sich das.

Benötigen die neueren udrec-Versionen denn tatsächlich mono 0.3x? Wenn ja, ab welcher Version? Die Kombination aus udrec 0.12x (x = ?) und mono 0.29 lief wie gesagt lange äußerst anständig.

Danke und Gruß,
Rage
Box: Nokia Sat 2xI Avia 500, JtG Basisimage 01.05.04, avia500v110, ucode_0014 (built-in), cam_01_02_105E
PC: Debian GNU/Linux, udrec 0.12f, mono 0.31, ProjectX 0.81.7

tonsel
Dev von udrec/mkdvd
Dev von udrec/mkdvd
Beiträge: 400
Registriert: Di 18 Nov 2003, 20:56

#7 Beitrag von tonsel » Di 03 Aug 2004, 8:01

Die Fehler in den Log's sind vermutlich auf Stream-Fehler zurückzuführen. Du solltest daher PES streamen, dann führen die Stream-Fehler zumindest nicht während der Aufnahme zu Problemen.

udrec läuft sicher auf mono-0.28, da ich diese Version selbst nutze und bisher noch kein Update vorgenommen habe. Es gehen vermutlich auch noch ältere Versionen.

tonsel

Antworten