SelfSendException when sending to 'Note to Self' on the Signal Android app
Hello, While experimenting with the latest version of Signald I noticed that it crashes when sending yourself a message on the Android app in the 'Note to self' tab, while being subscribed. I tried to recreate this error by messaging myself via the signald socket, but while I do think it crashed, it didn't give me any apparent errors this way.
Following is the output of journalctl when I sent this message over Android:
% journalctl -f -u signald.service
-- Logs begin at Thu 2019-11-21 19:20:57 CET. --
Mar 09 22:46:27 Arch systemd[1]: Stopping A daemon for interacting with the Signal Private Messenger...
Mar 09 22:46:27 Arch systemd[1]: signald.service: Main process exited, code=exited, status=143/n/a
Mar 09 22:46:27 Arch systemd[1]: signald.service: Failed with result 'exit-code'.
Mar 09 22:46:27 Arch systemd[1]: Stopped A daemon for interacting with the Signal Private Messenger.
Mar 09 22:46:27 Arch systemd[1]: Starting A daemon for interacting with the Signal Private Messenger...
Mar 09 22:46:27 Arch systemd[1]: Started A daemon for interacting with the Signal Private Messenger.
Mar 09 22:46:28 Arch signald[56172]: 22:46:28.476 [main] INFO signald - Binding to socket /var/run/signald/signald.sock
Mar 09 22:46:28 Arch signald[56172]: 22:46:28.490 [main] INFO signald - Started signald 0.9.0+git2020-03-08r1a9be52a.5
Mar 09 22:46:29 Arch signald[56172]: 22:46:29.470 [socketlistener] INFO io.finn.signald.SocketHandler - Client connected
Mar 09 22:46:43 Arch signald[56172]: 22:46:43.165 [socketlistener] INFO manager-my_number - Creating new manager for my_number (stored at /var/lib/signald)
Mar 09 22:46:44 Arch signald[56172]: 22:46:44.008 [socketlistener] INFO manager - Created a manager for my_number
Mar 09 22:46:48 Arch signald[56172]: 22:46:48.520 [my_number-receiver] ERROR io.finn.signald.MessageReceiver - Catching
Mar 09 22:46:48 Arch signald[56172]: org.signal.libsignal.metadata.SelfSendException: null
Mar 09 22:46:48 Arch signald[56172]: at org.signal.libsignal.metadata.SealedSessionCipher.decrypt(SealedSessionCipher.java:111) ~[signal-metadata-java-0.0.3.jar:?]
Mar 09 22:46:48 Arch signald[56172]: at org.whispersystems.signalservice.api.crypto.SignalServiceCipher.decrypt(SignalServiceCipher.java:241) ~[signal-service-java-2.13.9_unofficial_1.jar:?]
Mar 09 22:46:48 Arch signald[56172]: at org.whispersystems.signalservice.api.crypto.SignalServiceCipher.decrypt(SignalServiceCipher.java:173) ~[signal-service-java-2.13.9_unofficial_1.jar:?]
Mar 09 22:46:48 Arch signald[56172]: at io.finn.signald.Manager.decryptMessage(Manager.java:1229) ~[signald.jar:unspecified]
Mar 09 22:46:48 Arch signald[56172]: at io.finn.signald.Manager.receiveMessages(Man/ager.java:1448) [signald.jar:unspecified]
Mar 09 22:46:48 Arch signald[56172]: at io.finn.signald.MessageReceiver.run(MessageReceiver.java:78) [signald.jar:unspecified]
Mar 09 22:46:48 Arch signald[56172]: at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Mar 09 22:46:48 Arch signald[56172]: 22:46:48.527 [my_number-receiver] ERROR io.finn.signald.MessageReceiver - Catching
Mar 09 22:46:48 Arch signald[56172]: java.lang.NullPointerException: null
Mar 09 22:46:48 Arch signald[56172]: at io.finn.signald.JsonMessageEnvelope.<init>(JsonMessageEnvelope.java:63) ~[signald.jar:unspecified]
Mar 09 22:46:48 Arch signald[56172]: at io.finn.signald.MessageReceiver.handleMessage(MessageReceiver.java:100) ~[signald.jar:unspecified]
Mar 09 22:46:48 Arch signald[56172]: at io.finn.signald.Manager.receiveMessages(Manager.java:1455) ~[signald.jar:unspecified]
Mar 09 22:46:48 Arch signald[56172]: at io.finn.signald.MessageReceiver.run(MessageReceiver.java:78) [signald.jar:unspecified]
Mar 09 22:46:48 Arch signald[56172]: at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
Everything else works perfectly as long as I don't send such a message. Thanks!
Edited by Angelo Carly