Bug 429249 - Sending SMS doesn't work at all
Summary: Sending SMS doesn't work at all
Status: RESOLVED FIXED
Alias: None
Product: kdeconnect
Classification: Applications
Component: android-application (other bugs)
Version First Reported In: unspecified
Platform: Android Unspecified
: NOR normal
Target Milestone: ---
Assignee: Simon Redman
URL:
Keywords:
: 429303 (view as bug list)
Depends on:
Blocks:
 
Reported: 2020-11-17 15:51 UTC by Piotr Mierzwinski
Modified: 2021-09-26 06:18 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Mierzwinski 2020-11-17 15:51:26 UTC
SUMMARY
In application KDE Connect SMS I'm able to get the list of SMSs and of course the list of recipients. I can see thread of conversation. Only when I try to send SMS in given thread happens nothing, or actually only message in field where I entered it just disappear.
Screen on device is unlocked in moment I try to send SMS.

I tried several time without result. Restart application doesn't help.

Note this I was able to send SMS in the past.

STEPS TO REPRODUCE
1. Start in device KDE Connect
2. Start in PC application KDE Connect SMS
3. Select device and any recipient
4. Enter body of message in proper field: "Compose message"

OBSERVED RESULT
Message disappears. SMS is not sent.

EXPECTED RESULT
Message disappears. SMS is sent.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: YES
(available in About System)
KDE Plasma Version: 5.20.3
KDE Frameworks Version:  5.76
Qt Version: 5.15.1

KDE Application: 20:08.3

ADDITIONAL INFORMATION
Android 8, Sony Xperia X Compact
KDE Connect installed in Android up-to-date
Comment 1 Piotr Mierzwinski 2020-11-17 21:05:08 UTC
After I reply on SMS (it works), field where is possible to type message (KDE Connect SMS) is blocked. I click on it and happens nothing.
Comment 2 Simon Redman 2020-11-19 03:58:47 UTC
*** Bug 429303 has been marked as a duplicate of this bug. ***
Comment 3 Simon Redman 2020-11-19 04:00:45 UTC
Marking as confirmed since two different users have reported a similar error

It looks like there may be some issue with sending SMS between the 20.08.3 version of the desktop and the new version of the Android app
Comment 4 Kuba Orlik 2021-02-18 09:11:24 UTC
I'm also experiencing this exact issue. 

I'm on 20.12.2-1 on desktop and 1.16.0 on Android
Comment 5 kde.org 2021-02-26 08:18:45 UTC
I'm also having this problem on Ubuntu 20.10 + Android 7.1.2
Comment 6 voncloft 2021-03-02 14:46:18 UTC
I have been having this problem since last year. The SMS interface that shows all the sms' will crash and never send the message.

I have a samsund galaxy note 8

and  KDE 5.77.0 / Plasma 5.19.4
Comment 7 Csaba Miklós 2021-04-15 12:10:22 UTC
I'm getting similar symptoms: 

kdeconnect-cli  -d 65a9a088eb3d4df6 --send-sms moricka --destination ****
QCommandLineParser: option not defined: "attachment"

maybe it's related
kdeconnect 20.12.3-1
plasma desktop: 5.21.3
kde: 5.80
manjaro linux
Comment 8 Ori B 2021-08-03 20:02:43 UTC
I was having the same problem with the CLI and the widget for sending SMS messages. I've installed the latest version and at first thought the issue remains, but then realized it's silently /not/ sending messages to the device's own phone number. It did work for sending messages other contacts. For those with this problem, are you trying to send a message to your own number? 

In kdeconnect-android an exception is logged on the phone but not yet passed to the computer. Running catlog via adb during a send-to-self failure looks like this (worth noting that I didn't include the +1 in the phone number, it was correctly inferred, and I edited my phone number here :)

08-03 15:47:56.180 24102 32191 W Sending message: Unable to get outgoing address for sub ID -1 using +13213213321
08-03 15:47:56.189  4443 28736 W ContentProvider: Normalized content://telephony/carriers//preferapn/subId/-1 to content://telephony/carriers/preferapn/subId/-1 to avoid possible security issues
08-03 15:47:56.195  4443 28736 D TelephonyProvider: query: match = 11
08-03 15:47:56.195  4443 28736 D TelephonyProvider: subIdString = -1 subId = -1
08-03 15:47:56.196  4443 28736 D TelephonyProvider: getPreferredApnIdFromApn: for subId -1
08-03 15:47:56.223  3631  3648 E memtrack: Couldn't load memtrack module
08-03 15:47:56.223  3631  3648 W android.os.Debug: failed to get memory consumption info: -1
08-03 15:47:56.232 24102 32191 V Sending message: Sending new SMS
08-03 15:47:56.342  3631  3648 E memtrack: Couldn't load memtrack module
08-03 15:47:56.342  3631  3648 W android.os.Debug: failed to get memory consumption info: -1
08-03 15:47:56.402  3631  3648 E memtrack: Couldn't load memtrack module
08-03 15:47:56.402  3631  3648 W android.os.Debug: failed to get memory consumption info: -1
08-03 15:47:56.461  3631  3648 E memtrack: Couldn't load memtrack module
08-03 15:47:56.461  3631  3648 W android.os.Debug: failed to get memory consumption info: -1

I ran into other unrelated issues when testing this bug but I'm not sure how to reproduce them... I'll still open bug reports in case what I've seen is helpful.
Comment 9 Piotr Mierzwinski 2021-08-03 22:17:35 UTC
(In reply to Ori B from comment #8)
> I was having the same problem with the CLI and the widget for sending SMS
> messages. I've installed the latest version and at first thought the issue
> remains, but then realized it's silently /not/ sending messages to the
> device's own phone number. It did work for sending messages other contacts.
> For those with this problem, are you trying to send a message to your own
> number? 
Sorry? I don't get you. How can I send any message to my own number if my number is assigned to device what actual sends message? Therefore no, I didn't try to send any message to my own number! .... or I didn't understand you 

As I said I tried to send SMS to any person from my contacts list what KDE Connect SMS loads from my phone, so I do following things:
1. I select one contact (history of conversation is loading in KDE Connect SMS)
2. Click into "Compose messages"
3, Enter any message and press Enter or click "Send"

In result happens nothing, or actually field where I put message freezes. Clicking in other contact unfreezes it. Notice that when I try to send SMS my phone is unlocked.

Let me know please what should I do to provide some logs from phone, assuming that an issue happens in Android application.
Comment 10 Ori B 2021-08-04 17:29:12 UTC
(In reply to Piotr Mierzwinski from comment #9)
> > For those with this problem, are you trying to send a message to your own
> > number? 
> Sorry? I don't get you. How can I send any message to my own number if my
> number is assigned to device what actual sends message? 

In my phone I can send an SMS to myself, it shows up as a received message a moment later and it's a good way to test. That's what I was trying to do but from kdeconnect. What's happening for me now, with the latest kdeconnect, is that an SMS to myself fails silently.

> Let me know please what should I do to provide some logs from phone,
> assuming that an issue happens in Android application.

Sure thing. You can set up adb (Android debugging), instructions for that are online and the simplest method involves plugging the phone to your computer with a USB cable. Then run the command "adb logcat" from a terminal window and you'll have a stream of all log messages coming from your phone. Ctrl+C in that terminal to stop that process soon after you've tried sending a message.
Comment 11 Charis Mitsakis 2021-08-12 03:31:14 UTC
I have the same issue. Sending SMS via kdeconnect-cli fails silently.
Below you can find the output of adb logcat.

I also tried programmatically via dbus and also tried qdbus and d-feet with the same result.

> Then run the command "adb logcat" from a terminal window
That was very helpful. If you have any suggestion how I can investigate this further let me know.

KDE Connect version 21.04.3
OS: Arch Linux
Phone: Xiaomi Redmi Note 4
KDE Connect Android app version 1.17

08-12 05:38:38.586 24410 29993 W Sending message: Unable to get outgoing address for sub ID -1 using null
08-12 05:38:38.609  2078  3442 W ContentProvider: Normalized content://telephony/carriers//preferapn/subId/-1 to content://telephony/carriers/preferapn/subId/-1 to avoid possible security issues
08-12 05:38:38.657  2078  3442 D TelephonyProvider: subIdString = -1 subId = -1
08-12 05:38:38.657  2078  3442 D TelephonyProvider: getPreferredApnIdFromApn: for subId -1
08-12 05:38:38.690 24410 29993 E Sending message: Exception
08-12 05:38:38.690 24410 29993 E Sending message: java.lang.NullPointerException: Attempt to read from field 'java.lang.String org.kde.kdeconnect.Helpers.TelephonyHelper$LocalPhoneNumber.number' on a null object reference
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Plugins.SMSPlugin.SmsMmsUtils.sendMessage(SmsMmsUtils.java:158)
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Plugins.SMSPlugin.SMSPlugin.onPacketReceived(SMSPlugin.java:413)
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Device.onPacketReceived(Device.java:570)
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Backends.BaseLink.packageReceived(BaseLink.java:70)
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Backends.LanBackend.LanLink.receivedNetworkPacket(LanLink.java:249)
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Backends.LanBackend.LanLink.lambda$reset$0(LanLink.java:97)
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Backends.LanBackend.LanLink.lambda$reset$0$LanLink(LanLink.java)
08-12 05:38:38.690 24410 29993 E Sending message: 	at org.kde.kdeconnect.Backends.LanBackend.-$$Lambda$LanLink$u8LWlVA_uGoxlkxdXMbWulE13kY.run(lambda)
08-12 05:38:38.690 24410 29993 E Sending message: 	at java.lang.Thread.run(Thread.java:760)
Comment 12 Piotr Mierzwinski 2021-08-16 18:45:30 UTC
(In reply to Ori B from comment #10)
> (In reply to Piotr Mierzwinski from comment #9)
> > > For those with this problem, are you trying to send a message to your own
> > > number? 
> > Sorry? I don't get you. How can I send any message to my own number if my
> > number is assigned to device what actual sends message? 
> 
> In my phone I can send an SMS to myself, it shows up as a received message a
> moment later and it's a good way to test. That's what I was trying to do but
> from kdeconnect. What's happening for me now, with the latest kdeconnect, is
> that an SMS to myself fails silently.

I'm not sure how you did it, so I tried to do it like below:
1st way:
I entered my phone number (9 digits) in field 'Filter' and clicked 'New'. In result number appeared in list below. I clicked into it and entered messaged and pressed Enter. In result happened nothing.
2st way:
I entered my phone number (+country_prefix concatenated with 9 digits) in field 'Filter'  and clicked 'New'. One was added number without "+"...
After pressing Enter in message field happened nothing.
Notice please. This is not so much important because I can send any test message to my friend.


> > Let me know please what should I do to provide some logs from phone,
> > assuming that an issue happens in Android application.
> 
> Sure thing. You can set up adb (Android debugging), instructions for that
> are online and the simplest method involves plugging the phone to your
> computer with a USB cable. Then run the command "adb logcat" from a terminal
> window and you'll have a stream of all log messages coming from your phone.
> Ctrl+C in that terminal to stop that process soon after you've tried sending
> a message.

OK. Thanks for helpful info. I did what you described and in result got info about crashed application - very similar to one provided by  Charis Mitsakis.

08-16 19:57:33.953  3851 13715 W Sending message: Unable to get outgoing address for sub ID 1 using null
08-16 19:57:33.959  3016 12719 D TelephonyProvider: subIdString = 1 subId = 1
08-16 19:57:33.977  3851 13715 E Sending message: Exception
08-16 19:57:33.977  3851 13715 E Sending message: java.lang.NullPointerException: Attempt to read from field 'java.lang.String org.kde.kdeconnect.Helpers.TelephonyHelper$LocalPhoneNumber.number' on a null object reference
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Plugins.SMSPlugin.SmsMmsUtils.sendMessage(SmsMmsUtils.java:158)
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Plugins.SMSPlugin.SMSPlugin.onPacketReceived(SMSPlugin.java:413)
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Device.onPacketReceived(Device.java:570)
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Backends.BaseLink.packageReceived(BaseLink.java:70)
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Backends.LanBackend.LanLink.receivedNetworkPacket(LanLink.java:249)
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Backends.LanBackend.LanLink.lambda$reset$0(LanLink.java:97)
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Backends.LanBackend.LanLink.lambda$reset$0$LanLink(Unknown Source:0)
08-16 19:57:33.977  3851 13715 E Sending message:       at org.kde.kdeconnect.Backends.LanBackend.-$$Lambda$LanLink$u8LWlVA_uGoxlkxdXMbWulE13kY.run(Unknown Source:4)
08-16 19:57:33.977  3851 13715 E Sending message:       at java.lang.Thread.run(Thread.java:764)

KDE Connect (Android) 1.17.0
KDE Connect (Plasma)  21.08.0
Comment 13 Simon Redman 2021-08-17 00:29:38 UTC
Hi Piotr and Charis,

Thank you for getting the logcat records.

The bug you're both hitting

> Attempt to read from field 'java.lang.String org.kde.kdeconnect.Helpers.TelephonyHelper$LocalPhoneNumber.number' on a null object reference

Has already been fixed but is not yet in the release version:
https://invent.kde.org/network/kdeconnect-android/-/merge_requests/258

As I say in the PR comment, I don't know for sure how the new code will behave, but it will not crash which is certainly better than crashing.

Please feel free to try the new version from https://binary-factory.kde.org/view/Android/job/kdeconnect_android/lastSuccessfulBuild/artifact/kdeconnect-android/build/outputs/apk/debug/ (you'll need to uninstall your old one, since the debug release is signed with a different key).

I'd be very happy for you both (and anybody else silently reading this) to run the new version and get the logcat records and report whether or not it works!
Comment 14 Piotr Mierzwinski 2021-08-17 20:24:23 UTC
(In reply to Simon Redman from comment #13)
...
> > Attempt to read from field 'java.lang.String org.kde.kdeconnect.Helpers.TelephonyHelper$LocalPhoneNumber.number' on a null object reference
> 
> Has already been fixed but is not yet in the release version:
> https://invent.kde.org/network/kdeconnect-android/-/merge_requests/258
> ....
> I'd be very happy for you both (and anybody else silently reading this) to
> run the new version and get the logcat records and report whether or not it
> works!

Today I installed debug version which you suggested, retested and seems sending SMS works.

Thanks a lot for fixing. 
I hope merge request will be soon accepted.
Comment 15 Simon Redman 2021-09-18 17:38:43 UTC
Making as resolved since the original reporter's issue has been fixed
Comment 16 robin 2021-09-23 10:19:36 UTC
Given this is a fix for a relatively serious bug, would it be possible to get a new release pushed to F-Droid in the near future?
Comment 17 robin 2021-09-26 06:18:18 UTC
I can confirm the debug version installed from here (https://binary-factory.kde.org/view/Android/job/kdeconnect_android/lastSuccessfulBuild/artifact/kdeconnect-android/build/outputs/apk/debug/) resolves the SMS sending bug I had.