gluonhq / wave-app

The Gluon Wave App that runs with Gluon Mobile, OpenJFX, OpenJDK 11 and GraalVM
23 stars 9 forks source link

Stale devices #103

Closed jperedadnr closed 3 years ago

jperedadnr commented 3 years ago

Sometimes sending a message there is this exception:

12:59:57 3 [JsonUtil] I created json based on org.whispersystems.signalservice.internal.push.OutgoingPushMessageList@6bed1a46
12:59:57 3 [JsonUtil] json = {"destination":"9e6c81b2-bbad-4717-8506-b8f2abc94a52","timestamp":1634641197828,"messages":[{"type":3,"destinationDeviceId":1,"destinationRegistrationId":269,"content":"MwiJ+JoHEiEFZrI9QL//mdxjecSqrzF9kh89Ppp7ftAaf2wg4uztBRcaIQV9Lk52SYeXpxX66sjXBwRRYFEYyGH52YYwEspP+Sk8aCLTATMKIQWoPCZCgeLuczXtUHCanlHrAY3Fb2urdAqH9MRi36VrJxACGAAioAGehlVQ8yhJPCf/a1Aq5CC9I3Dy6H+JkRIBTRotDnl8ypYX6NXTwB5XcNiEQbyrHn6zFU8kD90llxUl4qsqxVj1pVduiJhkqbb7goonjs2N36teiDKxOQ8frg/FNn940J60hWliTxKpgB31z1SWLgHdpWFwDOKSvOpvryDJF9C6+vkRbjdZph12+4qn3R1D8uRzwLSaX+juHGcoVwmoqQfpb6IMaTT/GEsoADCGgfYB"},{"type":3,"destinationDeviceId":4,"destinationRegistrationId":12700,"content":"MxIhBTRoaXqiqcoZRBdK+ATpdY87NJ71tCxzc/ji01bQw04yGiEFfS5OdkmHl6cV+urI1wcEUWBRGMhh+dmGMBLKT/kpPGgi0wEzCiEFTnHcHWHFMSiwJfBRXhufVXPsc6Ib/3eSYdAbZ46JXREQARgAIqAB80Mp/DKQ+01WHQzxSEhKZVS5fOcaux9PdLgT2+f4oNgs9utZa5IzNYj9CDTPg0AvdctIVOPGLtJ5B48KdVNh5yPX9n80TkAYGzU1qwpkZBf06Xcpn9Pi8NM3ywRNjfVUjpsDfIQuZSwH/8jFKlhoAnYhavZmOUzZ3eR5EMwqsH4JfK+pVcsfBP1RCz2ef7PJFD4FWb+5Dr+oXx0iTj/XqU5kYfaVaNuiKAAw1AM="},{"type":3,"destinationDeviceId":1,"destinationRegistrationId":269,"content":"MwiJ+JoHEiEFZrI9QL//mdxjecSqrzF9kh89Ppp7ftAaf2wg4uztBRcaIQV9Lk52SYeXpxX66sjXBwRRYFEYyGH52YYwEspP+Sk8aCLTATMKIQWoPCZCgeLuczXtUHCanlHrAY3Fb2urdAqH9MRi36VrJxADGAAioAE9CMw4REoxe9qTtaEM0zaWx72qFBJlHs9OspPfhcbd/BDplbSWtvZgsm9uLtNutLuV8eDmIy0fALVo6dZ05ROmbp8hKkjDZv1nnuIELSkQpBUknxzAlGuriOEtyXTdtdcF6xGPLGUM1til4ODWHySLMvqTpcqwRJhqf1srclKW98d+by+X2aIVHkISOPv/bRFHp+h4rTWxS49VtoaQ9W6PMaSOCRHmuL0oADCGgfYB"},{"type":3,"destinationDeviceId":2,"destinationRegistrationId":5983,"content":"MwgFEiEFXUTOFp8mUvQiY00Nzuiju5Oa7emEZ3I5jC2bxfGdXF0aIQV9Lk52SYeXpxX66sjXBwRRYFEYyGH52YYwEspP+Sk8aCLTATMKIQUulwembXdakbwiFYpd6PeVcMJ+lXghGCOtCDIEJh7KLxABGAAioAGBqph99S75yMjLu8g28HEKfr0nzEmeC1MrSreOKqdXglvqYgo+78aSUdm3KPQuaXFI0maS7nfN4t+iLWUKPXRD2qwo1CGqUmrT5N2YWxNhSQMH5yEAlX4BiLI7D3JSda2OpZwcyA5TTr0kMZDQ6MZPWY+kb5W4cObGkMIUfo1ACA+004k7nopa+PWEQwtdEzWjEJC/Vz8SwrvQ0ViZ4dF/ndvRyEplahEoADAC"}],"online":false}
12:59:57 3 [WebSocketConnection] [WSC] putting outgoingrequest -4853780649208001891 on queue
12:59:57 3 [WebSocketConnection] outgoingRequests is now {-4853780649208001891=org.whispersystems.signalservice.internal.websocket.WebSocketConnection$OutgoingRequest@42d71e75}
12:59:57 3 [WebSocketConnection] [WSC] Thread[OkHttp https://textsecure-service.whispersystems.org/...,5,main] onMessage with type RESPONSE
12:59:57 3 [WebSocketConnection] listener for id -4853780649208001891 = org.whispersystems.signalservice.internal.websocket.WebSocketConnection$OutgoingRequest@42d71e75
will throw IOexception, response = {"staleDevices":[2]}
12:59:57 5 [SignalServiceMessageSender] java.util.concurrent.ExecutionException: java.io.IOException: Non-successful response: 410
    at org.whispersystems.signalservice.internal.util.concurrent.FutureMapTransformer.get(FutureMapTransformer.java:70)
    at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:1466)
    at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:344)
    at com.gluonhq.wave.WaveManager.sendMessage(WaveManager.java:279)
    at com.gluonhq.chat.service.WaveService$1.lambda$onChanged$1(WaveService.java:228)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
    at java.util.Iterator.forEachRemaining(Iterator.java:133)
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
    at com.gluonhq.chat.service.WaveService$1.onChanged(WaveService.java:225)
    at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.collections.ModifiableObservableListBase.add(ModifiableObservableListBase.java:162)
    at java.util.AbstractList.add(AbstractList.java:111)
    at com.gluonhq.chat.views.ChatPresenter.sendMessage(ChatPresenter.java:169)
    at com.gluonhq.chat.views.ChatPresenter.lambda$initialize$8(ChatPresenter.java:96)
    at com.gluonhq.emoji.impl.skin.EmojiTextAreaSkin$EmojiStyledTextArea.lambda$addBehaviorChanges$7(EmojiTextAreaSkin.java:409)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventFilterRecord.handleCapturingEvent(CompositeEventHandler.java:321)
    at com.sun.javafx.event.CompositeEventHandler.dispatchCapturingEvent(CompositeEventHandler.java:98)
    at com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:221)
    at com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:180)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(CompositeEventDispatcher.java:43)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:52)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$KeyHandler.process(Scene.java:4088)
    at javafx.scene.Scene.processKeyEvent(Scene.java:2145)
    at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2613)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:218)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:150)
    at java.security.AccessController.doPrivileged(AccessController.java:105)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(GlassViewEventHandler.java:250)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:249)
    at com.sun.glass.ui.View.handleKeyEvent(View.java:548)
    at com.sun.glass.ui.View.notifyKey(View.java:972)
    at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VARARGS:Lcom_sun_glass_ui_View_2_0002enotifyKey_00028II_3CI_00029V(JNIJavaCallWrappers.java:0)
Caused by: java.io.IOException: Non-successful response: 410
    at org.whispersystems.signalservice.api.SignalServiceMessagePipe.lambda$send$0(SignalServiceMessagePipe.java:210)
    at org.whispersystems.signalservice.internal.util.concurrent.FutureMapTransformer.get(FutureMapTransformer.java:68)
    ... 58 more

12:59:57 5 [SignalServiceMessageSender] [sendMessage] Pipe failed, falling back...

followed by:

[PSS] request = Request{method=PUT, url=https://textsecure-service.whispersystems.org/v1/messages/9e6c81b2-bbad-4717-8506-b8f2abc94a52, tags={}}
validate response Response{protocol=h2, code=410, message=, url=https://textsecure-service.whispersystems.org/v1/messages/9e6c81b2-bbad-4717-8506-b8f2abc94a52}
12:59:58 5 [PushServiceSocket] com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.whispersystems.signalservice.internal.push.StaleDevices` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
 at [Source: (String)"{"staleDevices":[2]}"; line: 1, column: 2]
    at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1589)
    at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1055)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1297)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3173)
    at org.whispersystems.signalservice.internal.util.JsonUtil.fromJson(JsonUtil.java:55)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.readBodyJson(PushServiceSocket.java:1907)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.readResponseJson(PushServiceSocket.java:1923)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.validateServiceResponse(PushServiceSocket.java:1445)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:1424)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceBodyRequest(PushServiceSocket.java:1405)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:1345)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:1338)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.sendMessage(PushServiceSocket.java:403)
    at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:1486)
    at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:344)
    at com.gluonhq.wave.WaveManager.sendMessage(WaveManager.java:279)
    at com.gluonhq.chat.service.WaveService$1.lambda$onChanged$1(WaveService.java:228)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
    at java.util.Iterator.forEachRemaining(Iterator.java:133)
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
    at com.gluonhq.chat.service.WaveService$1.onChanged(WaveService.java:225)
    at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.collections.ModifiableObservableListBase.add(ModifiableObservableListBase.java:162)
    at java.util.AbstractList.add(AbstractList.java:111)
    at com.gluonhq.chat.views.ChatPresenter.sendMessage(ChatPresenter.java:169)
    at com.gluonhq.chat.views.ChatPresenter.lambda$initialize$8(ChatPresenter.java:96)
    at com.gluonhq.emoji.impl.skin.EmojiTextAreaSkin$EmojiStyledTextArea.lambda$addBehaviorChanges$7(EmojiTextAreaSkin.java:409)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventFilterRecord.handleCapturingEvent(CompositeEventHandler.java:321)
    at com.sun.javafx.event.CompositeEventHandler.dispatchCapturingEvent(CompositeEventHandler.java:98)
    at com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:221)
    at com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:180)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(CompositeEventDispatcher.java:43)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:52)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$KeyHandler.process(Scene.java:4088)
    at javafx.scene.Scene.processKeyEvent(Scene.java:2145)
    at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2613)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:218)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:150)
    at java.security.AccessController.doPrivileged(AccessController.java:105)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(GlassViewEventHandler.java:250)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:249)
    at com.sun.glass.ui.View.handleKeyEvent(View.java:548)
    at com.sun.glass.ui.View.notifyKey(View.java:972)
    at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VARARGS:Lcom_sun_glass_ui_View_2_0002enotifyKey_00028II_3CI_00029V(JNIJavaCallWrappers.java:0)

org.whispersystems.signalservice.api.push.exceptions.MalformedResponseException: Unable to parse entity
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.readBodyJson(PushServiceSocket.java:1910)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.readResponseJson(PushServiceSocket.java:1923)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.validateServiceResponse(PushServiceSocket.java:1445)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:1424)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceBodyRequest(PushServiceSocket.java:1405)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:1345)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.makeServiceRequest(PushServiceSocket.java:1338)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.sendMessage(PushServiceSocket.java:403)
    at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:1486)
    at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:344)
    at com.gluonhq.wave.WaveManager.sendMessage(WaveManager.java:279)
    at com.gluonhq.chat.service.WaveService$1.lambda$onChanged$1(WaveService.java:228)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
    at java.util.Iterator.forEachRemaining(Iterator.java:133)
    at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
    at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
    at com.gluonhq.chat.service.WaveService$1.onChanged(WaveService.java:225)
    at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
    at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
    at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:239)
    at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
    at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
    at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:211)
    at javafx.collections.ModifiableObservableListBase.add(ModifiableObservableListBase.java:162)
    at java.util.AbstractList.add(AbstractList.java:111)
    at com.gluonhq.chat.views.ChatPresenter.sendMessage(ChatPresenter.java:169)
    at com.gluonhq.chat.views.ChatPresenter.lambda$initialize$8(ChatPresenter.java:96)
    at com.gluonhq.emoji.impl.skin.EmojiTextAreaSkin$EmojiStyledTextArea.lambda$addBehaviorChanges$7(EmojiTextAreaSkin.java:409)
    at com.sun.javafx.event.CompositeEventHandler$NormalEventFilterRecord.handleCapturingEvent(CompositeEventHandler.java:321)
    at com.sun.javafx.event.CompositeEventHandler.dispatchCapturingEvent(CompositeEventHandler.java:98)
    at com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:221)
    at com.sun.javafx.event.EventHandlerManager.dispatchCapturingEvent(EventHandlerManager.java:180)
    at com.sun.javafx.event.CompositeEventDispatcher.dispatchCapturingEvent(CompositeEventDispatcher.java:43)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:52)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
    at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
    at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
    at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
    at javafx.event.Event.fireEvent(Event.java:198)
    at javafx.scene.Scene$KeyHandler.process(Scene.java:4088)
    at javafx.scene.Scene.processKeyEvent(Scene.java:2145)
    at javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2613)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:218)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:150)
    at java.security.AccessController.doPrivileged(AccessController.java:105)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(GlassViewEventHandler.java:250)
    at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
    at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:249)
    at com.sun.glass.ui.View.handleKeyEvent(View.java:548)
    at com.sun.glass.ui.View.notifyKey(View.java:972)
    at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VARARGS:Lcom_sun_glass_ui_View_2_0002enotifyKey_00028II_3CI_00029V(JNIJavaCallWrappers.java:0)
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.whispersystems.signalservice.internal.push.StaleDevices` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
 at [Source: (String)"{"staleDevices":[2]}"; line: 1, column: 2]
    at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1589)
    at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1055)
    at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1297)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
    at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4202)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3205)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3173)
    at org.whispersystems.signalservice.internal.util.JsonUtil.fromJson(JsonUtil.java:55)
    at org.whispersystems.signalservice.internal.push.PushServiceSocket.readBodyJson(PushServiceSocket.java:1907)
    ... 65 more
johanvos commented 3 years ago

This happens in case a device (from the receiver) is stale, which itself is not a big problem. But the handler that deals with stale devices (archiving the associated sessions) fails in case the response message can not be parsed. In this case, the response message needs to create an instance of org.whispersystems.signalservice.internal.push.StaleDevices but that constructor is not found in the image. Adding that to the reflection-config.json should fix the problem.

johanvos commented 3 years ago

Fixed by #109