AsamK / signal-cli

signal-cli provides an unofficial commandline, JSON-RPC and dbus interface for the Signal messenger.
GNU General Public License v3.0
3.22k stars 306 forks source link

java null pointer exception when attempting to send attachment with 0.13.05 #1624

Closed eggenbef closed 1 week ago

eggenbef commented 1 week ago

hi there after running smoothly for several months my 0.13.05 installation on ubuntu 24.04 / JRE 21.0.4 was crashing when attempting to send an attachment - regardless of the type of file to be sent and phone number of receipient. no issue occurred when a message was sent without attachment or a message with attachment was sent with the iphone the signal-cli instance is linked to. the ubuntu 24.04 box signal-cli 0.13.05 was running on was not upgraded before this issue started to occur and the issue could be reproduced on another box with ubuntu 22.04 / JRE 21.04 installed. after replacement of 0.13.05 with 0.13.09 the problem disappeared on both boxes and i am curious to get to know what the root cause of this issue could have been given that no change (i am aware of) was made before the issue started to occur. also, i could not find anything in the change log of signal-cli explaining the resolution of this issue with the upgrade from 0.13.05 to 0.13.09. any suggestions? thank you and kind regards

`2024-11-07 16:14:03.03 ERROR executing '/mypath/signal-cli-0.13.5/bin/signal-cli send -m "zmDN - 105262" [phonenumber of receiver] -a /tmp/105262-image.jpg'

java.lang.NullPointerException: Cannot read the array length because "connections" is null at org.whispersystems.signalservice.internal.push.PushServiceSocket.getRandom(PushServiceSocket.java:2640) at org.whispersystems.signalservice.internal.push.PushServiceSocket.getResumableUploadUrl(PushServiceSocket.java:1895) at org.whispersystems.signalservice.internal.push.PushServiceSocket.getResumableUploadSpec(PushServiceSocket.java:1641) at org.whispersystems.signalservice.api.SignalServiceMessageSender.getResumableUploadSpec(SignalServiceMessageSender.java:871) at org.asamk.signal.manager.helper.AttachmentHelper.createAttachmentStreams(AttachmentHelper.java:63) at org.asamk.signal.manager.helper.AttachmentHelper.uploadAttachments(AttachmentHelper.java:47) at org.asamk.signal.manager.internal.ManagerImpl.applyMessage(ManagerImpl.java:762) at org.asamk.signal.manager.internal.ManagerImpl.sendMessage(ManagerImpl.java:726) at org.asamk.signal.commands.SendCommand.handleCommand(SendCommand.java:245) at org.asamk.signal.commands.CommandHandler.handleLocalCommand(CommandHandler.java:35) at org.asamk.signal.App.handleLocalCommand(App.java:278) at org.asamk.signal.App.handleCommand(App.java:179) at org.asamk.signal.App.init(App.java:144) at org.asamk.signal.Main.main(Main.java:56)`

AsamK commented 1 week ago

The error occurred due to a change on the Signal servers. The old attachment endpoints were shut down. It was resolved by updating the libsignal-service library.

eggenbef commented 1 week ago

The error occurred due to a change on the Signal servers. The old attachment endpoints were shut down. It was resolved by updating the libsignal-service library.

excellent - thank you for the explanation. kind regards.