#1 2019-11-01 12:22:01

Sebastian
Member
Registered: 2019-11-01
Posts: 3

Synchronisation wird nicht erfolgreich abgeschlossen

Ich habe das Problem auch, allerdings auch nur intermittierend.
Im hatte zunächst befürchtet, dass es daran liegt, dass ich ein sehr altes Smartphone benutze, mit Android 4.2.2.
Er synchronisiert immer wieder mal, ohne dass ich besondere Maßnahmen ergreife. Dann läuft wieder einige Tage nichts. Irritierend ist, dass bei der manuellen Synchronisation nichts passiert. Der Text wechselt kurz auf "GeneralSync synchronisiert gerade mit diesem Gerät", nach etwas über 2 Sekunden springt er wieder zurück. Das macht Generalsync auch von sich aus recht oft. Es gibt auch keine Fehlermeldung.
Auf dem PC ist tatsächlich die Schaltfläche Synchronisieren deaktiviert. Mit Neustart von Generalsync (sowohl auf Smartphone als auch PC) ist am PC die Schaltfläche "Synchronisieren" wieder aktiv, bzw. wechselt periodisch zwischen aktiv und inaktiv, ohne dass tatsächlich eine Synchronisation stattfindet.

Wenn ich vom Smartphone aus manuell Synchronisiere, gibt es zumindest eine ausführliche Reaktion im PC in den Logs: 5 Network Protection Events, dann SyncConnectionEvent (wahrscheinlich mit Smartphone, ich finde die interne ID dort nicht), einige andere Events, dann com.generalsync.lib.storage.event.SyncOfferEvent@1ecd6af dann wieder SyncConnectionEvent, NetworkProtectionEvent, dann folgt eine Exception: 
com.generalsync.lib.protocol.execption.RemoteExeption: Exception while sending updates...
Würde gerne den ganzen Pfad schicken, ich finde aber die Logdatei nicht, Cut and Paste geht an der Stelle nicht...
Grüße,
Sebastian

Nachtrag: Ohne, dass das Datum "letzte Synchronisation" verändert wird, gehen bei der Prozedur irgendwann die Termine (teilweise???) dennoch vom PC auf das Smartphone über...

Last edited by Sebastian (2019-11-01 12:25:40)

#2 2019-11-01 16:01:56

ds
Founder / Developer
From: Freiburg, Germany
Registered: 2016-06-15
Posts: 191

Re: Synchronisation wird nicht erfolgreich abgeschlossen

Vielen Dank für Ihr Interesse an GeneralSync! Da sich Ihr Problem in Details vom bisher geschilderten Problem unterscheidet, verschiebe ich Ihren Post in ein separates Thema.

Sebastian wrote:

Ohne, dass das Datum "letzte Synchronisation" verändert wird, gehen bei der Prozedur irgendwann die Termine (teilweise???) dennoch vom PC auf das Smartphone über...

Klingt so, als würde sich GeneralSync an einem oder wenigen Terminen / Kontakten verschlucken. Die Reihenfolge, in der Daten übertragen werden variiert je nach Situation, daher können eventuell vorher jeweils einzelne Termine und/oder Kontakte erfolgreich übertragen worden sein.

Sebastian wrote:

com.generalsync.lib.protocol.execption.RemoteExeption: Exception while sending updates...

Das ist höchstwahrscheinlich die Ursache des Problems. Diese Exception tritt auf, wenn das andere Gerät die Synchronisation mit einer Fehlermeldung abbricht. Interessant wäre daher der Log vom Smartphone. Sie finden diesen wie folgt:

  1. Öffnen Sie die GeneralSync-App

  2. Wählen Sie "Konfiguration" aus dem 3-Punkte-Menü oben rechts in der Aktionsleiste

  3. Aktivieren Sie "Erweiterte Optionen" im 3-Punkte-Menü oben rechts in der Aktionsleiste

  4. Scrollen Sie nach unten und tippen Sie auf "Log anzeigen"

Wenn Sie diese Schritte direkt nach dem Anstoßen einer Synchronisation auf dem Smartphone durchführen, wird dort vermutlich eine längere Meldung angezeigt (ggf. scrollen). Statt die Meldung abzutippen können Sie mir gerne auch einen Screenshot per Mail zukommen lassen (Kontaktinformationen hier) –auf den meisten Geräten kann man durch langes Drücken auf den Ausschalter (und anschließende Auswahl der Option "Screenshot") oder gleichzeitiges Drücken von Leiser und Ausschalter einen Screenshot erstellen.

Sebastian wrote:

Würde gerne den ganzen Pfad schicken, ich finde aber die Logdatei nicht

Die Logs von GeneralSync werden nicht dauerhaft in einer Datei gespeichert; in manchen Situationen erzeugt GeneralSync daraus jedoch automatisch Fehlerberichte und bietet Ihnen an, diese zu versenden. Ich vermute, dass Sie keine derartigen Berichte versendet haben? Falls doch, wann etwa?

#3 2019-11-03 11:41:44

Sebastian
Member
Registered: 2019-11-01
Posts: 3

Re: Synchronisation wird nicht erfolgreich abgeschlossen

... tja, er bietet mir hier nicht an, einen Fehlerbericht zu senden, Manuell scheine ich es nicht initiieren zu können?

Wenn ich im Smartphone die Synchronisation intiiere kommt folgende Exception nach den SyncConnetionEvents dann: (ich versuchs mal abzutippen, hoffe, es bleibt einigermaßen Fehlerfrei) im Smartphone:

com.generalsync.lib.protocol.exception.ProtocolException: Exception while sending updates
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.sendUpdates(SyncProtocolHandler.java:709)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handleInternal(SyncProtocolHandler.java:958)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handle(SyncProtocolHandler.java:1048)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handler$1.run(SyncProtocolHandler.java:135)
at com.generalsync.lib.protocol.connection.ConnectionManager$1.run(ConnectionManager.java:142)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
  Caused by:
org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 208: reference to invalid character number
at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:499)
at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:484)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:309)
at org.apache.harmony.xml.ExpatReader.paser(ExpatReader.java:267)
at com.generalsync.lib.xml.XMLParserStack.parse(XMLParserStack.java:292)
at com.generalsync.lib.xml.XMLParserStack.parse(XMLParserStack.java:335)
at com.generalsync.lib.protocol.subprotocol.xml.UpdateWriter.write(UpdateWriter.java:64)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.sendUpdate(SyncProtocolHandler.java:272)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.sendUpdates(SyncProtocolHandler.java:695)
... 9 more

Auf dem PC ist es dann:
com.generalsync.lib.protocol.exception.RemoteException: Exception while sending updates
at com.generalsync.lib.protocol.stream.BlockStream.readContent(BlockStream.java:543)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.receiveUpdates(SyncProtocolHandler.java:816)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handleInternal(SyncProtocolHandler.java:964)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handle(SyncProtocolHandler.java:1088)
at com.generalsync.lib.protocol.ServerService$Handler.run(ServerService.java:98)
at com.generalsync.lib.protocol.connection.Connection.Manager$1.run(ConnectionManager.java:141)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

----------------
Wenn ich es vom PC aus initiiere, gibt es folgende Exception (auf dem Smartphone):

com.generalsync.lib.protocol.exception.ProtocolException: Exception while sending updates
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.sendUpdates(SyncProtocolHandler.java:709)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handleInternal(SyncProtocolHandler.java:958)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handle(SyncProtocolHandler.java:1101)
at com.generalsync.lib.protocol.ServerService$Handler.run(ServerService.java:102)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:390)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:856)
  Caused by:
org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 208: reference to invalid character number
at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:499)
at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:484)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:309)
at org.apache.harmony.xml.ExpatReader.paser(ExpatReader.java:267)
at com.generalsync.lib.xml.XMLParserStack.parse(XMLParserStack.java:292)
at com.generalsync.lib.xml.XMLParserStack.parse(XMLParserStack.java:335)
at com.generalsync.lib.xml.WriteableXMLConverter$StrungXMLWriteable.write(WriteableXMLConverter.java:128)
at com.generalsync.lib.protocol.subprotocol.xml.UpdateWriter.write(UpdateWriter.java:64)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.sendUpdate(SyncProtocolHandler.java:272)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.sendUpdates(SyncProtocolHandler.java:695)
... 9 more

auf dem PC korrespondierend:
com.generalsync.lib.protocol.exception.RemoteException: Exception while sending updates
at com.generalsync.lib.protocol.stream.BlockStream.readContent(BlockStream.java:543)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.receiveUpdates(SyncProtocolHandler.java:816)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handleInternal(SyncProtocolHandler.java:964)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handle(SyncProtocolHandler.java:1034)
at com.generalsync.lib.protocol.subprotocol.SyncProtocolHandler.handle(SyncProtocolHandler.java:133)
at com.generalsync.lib.protocol.connection.Connection.Manager$1.run(ConnectionManager.java:141)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Eine halbe Stunde später protokolliert der PC eine Synchronisation mit einem anderen Gerät ohne Fehlermeldungen, 2 werden tatsächlich aktualisiert (die anderen sind aus, soweit ich es überblicke). Wenige Minuten später mit weiteren Geräten (?), auch mit dem Smartphone, mit dem Smartphone gibt es wieder die Exceptions.

Helfen die Beschreibungen weiter?

#4 2019-11-03 19:03:07

ds
Founder / Developer
From: Freiburg, Germany
Registered: 2016-06-15
Posts: 191

Re: Synchronisation wird nicht erfolgreich abgeschlossen

Erstmal vielen Dank für die Meldungen! Ich hatte nicht von Ihnen erwartet, dass Sie alles abtippen – ein Screenshot hätte gereicht.

Eine manuelle Auslösung eines Fehlerberichtes ist nicht möglich, unter anderem da ein Fehlerbericht neben dem Log auch eine (technische) Beschreibung des Fehlers enthält. Ich erwäge aber, eine Option, um den aktuell sichtbaren Log zu exportieren und/oder den Log generell in eine Datei zu schreiben.


Sebastian wrote:

Helfen die Beschreibungen weiter?

Sehr, damit ist der Ort des Problems klar: auf dem Gerät existiert ein Termin oder ein Adressbuch-Eintrag, in dem ein Sonderzeichen nicht korrekt kodiert wurde. Dieses Zeichen verhindert nun, dass der Termin/Kontakt an ein anderes Gerät weitergegeben werden kann. Wenn man wüsste, welcher Termin/Kontakt die Ursache ist, könnte das Problem also durch Löschung des problematischen Zeichens verschwinden. Als dauerhafte Lösung sollte GeneralSync solche Situationen aber in der Zukunft vermeiden oder zumindest besser abfangen.

Dafür muss ich die Situation allerdings nachstellen, was mir leider noch nicht gelingen will. Vermutlich gibt es irgendeine Kombination aus Android-Version (und ggf. Geräte-Hersteller), Kalender-/Kontakte-App, PC-Anwendung und (Sonder-)Zeichen, mit der das Problem entsteht.

Alte Versionen von Android unterstützen zwar einige Sonderzeichen nicht (z.B. Emoticons) – alle bislang von mir getesteten Kombinationen sorgen aber nur dafür, dass das einzelne Sonderzeichen fehlt – die Synchronisation läuft bei mir immer zuverlässig weiter.

Ich bleibe dran. Einige weitere Informationen wären jedoch eventuell hilfreich:

  • Von welchem Hersteller ist das problematische Gerät mit Android 4.2.2?

  • Welche Kalender-App nutzen Sie? Falls Sie auch GeneralSync-Adressbücher haben: welche Kontakte-App nutzen Sie?

  • Nutzen Sie am PC Thunderbird, Outlook oder beides? Welche Versionen davon?

  • Können Sie sich zufällig erinnern, ein "ungewöhnliches" Sonderzeichen kurz vor auftreten des Problems genutzt zu haben (z.B. Emoticon, erste Termine mit chinesischer/japanischer/arabischer Schrift, ...)?

Vielen Dank für Ihre bisherigen Rückmeldungen.

#5 2019-11-12 08:52:39

ds
Founder / Developer
From: Freiburg, Germany
Registered: 2016-06-15
Posts: 191

Re: Synchronisation wird nicht erfolgreich abgeschlossen

Ich habe meine Tests nun abgeschlossen. Ich kann das Problem leider noch immer nicht nachstellen.

Meine beste Theorie zur Ursache: Alte Versionen von Android enthalten einen Fehler, der manche ungewöhnliche Sonderzeichen durch ungültige Zeichen ersetzt. Eigentlich sollte dieser Bug von GeneralSync umgangen werden – was in meinen Tests auch zuverlässig funktioniert. Aber vielleicht funktioniert dieser Workaround nicht immer – so könnte z.B. das Android eines bestimmten Herstellers anders reagieren.

In jedem Fall sollte die Synchronisation nach der Entfernung oder Korrektur des betroffenen Termins / Kontakts wieder funktionieren. Vermutlich ist es dazu am einfachsten, die Änderung am PC vorzunehmen und anschließend eine Synchronisation von beiden Seiten zu starten. Alternativ kann der Kalender / das Adressbuch auch entfernt und neu angelegt werden.

Board footer