Error sending message to xxx:8625 SourceAdress: xxx:9876

Feb 22, 2011 at 1:21 PM
Edited Feb 23, 2011 at 8:36 AM

Hello,

I get following error message (exception)

 

Fehlermeldung: Kommunikationsfehler Info: Error sending message to xxx:8625 SourceAdress: xxx:9876
Modul: FollowingDocuments2.Server.Service
Version: v2.0.2.0 (Build 10.02.2011 10:06)
Typ: MobilTools2.Fehlerverfolgung.MobilException

Quelle: FollowingDocuments2.Server.Service.FollowingDocumentsService
Methode: Void KommunikationFehler(XcoAppSpaces.Contracts.Communication.XcoCommunicationError)
------------------------------------------------------------------------------------------
Innere Ausnahme: 
Fehlermeldung: Error sending Message to Address "net.tcp://xxx:8625/XcoAppSpace" : Es konnte keine Verbindung mit "net.tcp://xxx:8625/XcoAppSpace" hergestellt werden. 
Der Verbindungsversuch hat f�r einen Zeitraum von 00:00:01 angedauert. TCP-Fehlercode 10061: Es konnte keine Verbindung hergestellt werden,
da der Zielcomputer die Verbindung verweigerte xxx.xxx.xxx.xxx:8625. Modul: XcoAppSpaces Version: v1.1.0.0 (Build 11.10.2010 11:55) Typ: XcoAppSpaces.Contracts.Exceptions.XcoCommunicationException Quelle: XcoAppSpaces Haltepunkt: bei XcoAppSpaces.Transport.WCF.XcoWCFTransportService.Send(XcoMessage msg, String toAddress) bei XcoAppSpaces.Core.Communication.MessageTransmitter.SendMessage(MessageToSend msg) Methode: Void Send(XcoAppSpaces.Contracts.Transport.XcoMessage, System.String)

 

As soon as I get this error, my worker crashed.

Update: If I try to connect, the client get following response:

Worker at xxx:9876 with type PDocumentsService could not be resolved. Reason: NoResponse.
I must restart my service (worker),  to be able connect to service (worker) again.

How can I prevent it? It is very important and urgent.

with best regards

sanja

Feb 23, 2011 at 8:42 AM

Hi sanja,

I fear I cannot say much from just the error message. What do you do to get this error - perhaps can you tell me a bit more about what your applications are doing and how they are communicating? If possible, have you tried out using another transport service than wcf - if yes, does the problem still occur?  Can you provide a small code example that reproduces the error?

Best regards
Thomas

Feb 23, 2011 at 11:35 AM

Hi thomas,

I use wcf transport. Now I have switched to tcp transport and get the following error message.

 

Fehlermeldung: Kommunikationsfehler Info: Error sending message to xxx:8348 SourceAdress: xxx:9876
Modul: FollowingDocuments2.Server.Service
Version: v2.0.2.0 (Build 23.02.2011 10:25)
Typ: MobilTools2.Fehlerverfolgung.MobilException

Quelle: FollowingDocuments2.Server.Service.FollowingDocumentsService
Methode: Void KommunikationFehler(XcoAppSpaces.Contracts.Communication.XcoCommunicationError)
------------------------------------------------------------------------------------------
Innere Ausnahme: 
Fehlermeldung: Error sending Message to Address "xxx:8348" : Es konnte keine Verbindung hergestellt werden, 
da der Zielcomputer die Verbindung verweigerte xxx.xxx.xxx.xxx:8348 Modul: XcoAppSpaces Version: v1.1.0.0 (Build 11.10.2010 11:55) Typ: XcoAppSpaces.Contracts.Exceptions.XcoCommunicationException Quelle: XcoAppSpaces Haltepunkt: bei XcoAppSpaces.Transport.Sockets.XcoTCPTransportService.Send(XcoMessage msg, String remoteAddress) bei XcoAppSpaces.Core.Communication.MessageTransmitter.SendMessage(MessageToSend msg) Methode: Void Send(XcoAppSpaces.Contracts.Transport.XcoMessage, System.String)

Because my english is not so good. Can I explain in German what makes my application?

best regards

sanja

Feb 23, 2011 at 11:47 AM

Hi,

Hm ok it seems to be the same error with TCP as well.

Yes please explain in german if you want.

Thomas 

Feb 24, 2011 at 9:20 AM
Edited Feb 24, 2011 at 9:20 AM

Hi Thomas,

wir haben eine einfache Client-Server-Archtektur für Dokumentenverwaltung.
Der Server läuft als Windows-Dienst auf Windows Server Standard SP2 in einer VM. Folgende aufgaben hat der Dienst:

1. Datenbank überwachen und Änderungen an Client melden mit Subscribe. Client holt sich dann die Liste mit Dokumenten.
2. Benutzer-Aktionen entgegennehmen: Dokument umbenennen (DB-Aktion), Dokument anderen Benutzer verschieben (DB-Aktion), Dokument(e) löschen (DB-Aktion und physikalische Datei löschen)
Dokument anzeigen (Datei in PDF konvertieren und an Client übertragen, Client zeigt die PDF an über Adobe Reader)
3. Jede Benutzer-Aktion wird in der DB protokoliert.

Es läuft nur ein Worker auf Server-Seite. Mehr macht der Server nicht.

Ich habe versucht das Problem nachzustellen, leider gelingt mir es nicht.
Mein Problem ist, dass so bald diese Exception auftritt, stürzt der komplette Worker ab.
Ich muss den Dienst neustarten.  

Kann man die Abstürze des Workers irgendwie verhindern?

Ich hoffe ich habe es verständlich erklärt.

Gruß
sanja

 

SubscribeS
Feb 25, 2011 at 8:59 AM
Edited Feb 25, 2011 at 9:01 AM

Hi sanja,

Danke für die Erklärung. Soweit scheint nichts ungewöhnliches an deinem Szenario zu sein, ich habe den AppSpace in einem sehr ähnlichen Szenario im Einsatz (Windows Service, DB-Zugriff, Subscriptions). Wenn du sagst der komplette Worker stürzt ab, was genau meinst du damit - heißt das es kann sich kein Client mehr auf den Worker verbinden, oder zeigt sich der Absturz noch irgendwie anders? Bei der Fehlermeldung die du gepostet hast, verstehe ich das richtig, dass diese auf der Serverseite auftritt? D.h. Client ruft RunWorker auf, Server wird Exception, Client wirft Fehlermeldung "Worker ... could not be resolved ... NoResponse" ? Um noch mehr über den Fehler herauszufinden, könntest du für den AppSpace noch das Logging aktivieren (siehe hier: http://xcoappspace.codeplex.com/wikipage?title=LoggingFeature - mit TraceSource lässt der Log auch in ein File schreiben) - möglicherweise zeigt der Log etwas, das genauer auf den Fehler hinweist.

Möglicherweise hilft auch der Einsatz der aktuellsten AppSpace Version aus dem SVN - gestern habe ich eine Korrektur zu einem von husterk gemeldeten Problem vorgenommen, das den Verbindungsaufbau zu einem Worker verhindert hat.

MfG
Thomas

Mar 9, 2011 at 7:21 AM

Hallo Thomas,

vielen Dank.

Ja, die Fehlermeldung tritt auf der Serverseite auf. Sobald der der Server diese Exception wirft,
kann der Client den Worker nicht mehr auflösen. Ich habe das Logging aktiviert und konnte das Problem nachvollziehen.
Wie ich schon geschrieben habe, benutze ich die Subscription um Datenbankänderungen an den Client zu melden.
Es sind so viele Datenbankänderungen, dass die Publish Funktion innerhalt von einer Sekunde mehrmals aufgerufen wird.
Trennt sich der Client vom Server in Zwischenzeit (der Server brauch an Zeit um aus der Subscription-Liste zu entfernen),
versucht der Publisher fleißig seine Nachrichten weiterhin abzusetzen. Der Client ist dann nicht mehr erreichbar und der Server 
wirft die o. g. Exception aus. Der Worker lässt sich nicht mehr auflösen und der Windows-Service muss neugestartet werden.

Ich habe für Publish eine Einschränkung eingebaut und prüfe wie viel Zeit seit der letzen Datenbankänderung vergangen,
wenn mehr als 2 Sekunden, dann wird gepublisht und die Zeit gespeichert. Fehler tritt seit dem nicht mehr auf.

Ist es möglich vor dem Publish zu prüfen, ob die Clients die diese Nachrichten abonniert haben, noch erreichbar sind?

Gruß

sanja

Mar 9, 2011 at 7:57 AM

Hi sanja,

Danke für deinen Bericht! Der Publisher prüft zwar, ob Clients noch erreichbar sind, es ist jedoch nicht garantiert, dass diese nach dem ersten fehlerhaften Sendeversuch bereits entfernt werden (vor allem dann nicht, wenn mehrere Nachrichten in kurzer Zeit publiziert werden). Das Problem dürfte unter anderem auch mit dem Netzwerk zusammenhängen - ich hatte vor kurzem einen sehr ähnlichen Fall, bei dem sich Clients dann nicht mehr zum Server verbinden konnten, wenn sie beendet wurden und der Server noch versucht hat Nachrichten auszustellen. Auf meinem eigenen Netz bzw. auf einem einzelnen Rechner konnte ich das Problem aber leider noch nicht nachvollziehen. Interessant, dass das Problem nicht auftritt, wenn du die Nachrichtenfrequenz verringerst. Wir werden das Problem auf jeden Fall weiter verfolgen und versuchen, eine Lösung dafür zu finden.

MfG
Thomas

Mar 9, 2011 at 9:15 AM

Hi Thomas,

Vielen Dank für deine Antwort.
Ich habe mir alle Logs der letzten Tage (ab 01.03.2011) angeschaut. Das Problem (Exception) trat nur einmal auf,
dabei lief der Worker stabil und musste nicht neugestartet werden. Das Problem tritt auch bei verringerter Nachrichtenfrequenz weiterhin auf.
Sobald ich neue Erkenntnisse habe, werde ich hier berichten.

Gruß

sanja