Bug 407028

Summary: KDE Connect app fails to send files - Write error, SSL exception in logcat
Product: [Applications] kdeconnect Reporter: NiO <arcooke>
Component: android-applicationAssignee: Albert Vaca Cintora <albertvaka>
Status: REPORTED ---    
Severity: normal CC: albma, droidsumit, equal.bowl2131
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description NiO 2019-04-28 20:05:46 UTC
SUMMARY
Every time I attempt to send a file to my desktop from my phone, I get an error notification on my phone saying "Failed to send file to me@my-machine".  Everything else in both the desktop and mobile app works fine.  I checked logcat and there is an SSL exception being thrown after attempting to send the selected files, see below.  This is a new problem, read additional info at the bottom.

Desktop:
* Solus 4
* KDE Connect 1.3.4

Phone:
* OnePlus 6T  / stock, unrooted, Android Pie
* KDE Connect 1.12.6

STEPS TO REPRODUCE
1. Pair phone and desktop
2. Send a file

OBSERVED RESULT

Screenshot: https://i.imgur.com/Lo0kh52.jpg

Via logcat:

04-28 14:41:18.357 29693  9584 I KDE/LanLink: Using port 1747
04-28 14:41:18.357   936  3736 D ActivityTrigger: activityResumeTrigger: The activity in ApplicationInfo{62573a4 org.kde.kdeconnect_tp} is now in focus and seems to be in full-screen mode
04-28 14:41:18.357   936  3736 E ActivityTrigger: activityResumeTrigger: not whiteListedorg.kde.kdeconnect_tp/org.kde.kdeconnect.UserInterface.MainActivity/11260
04-28 14:41:18.368 29693 29693 D OnePlusJankManager:  Chor uploadMDM JANK_TYPE_ONCE mViewTitle = org.kde.kdeconnect_tp/org.kde.kdeconnect.Plugins.SharePlugin.SendFileActivity--- jank level = 1
04-28 14:41:18.369   936  1179 D RestartProcessManager: Update Total Launch Times :org.kde.kdeconnect_tp
04-28 14:41:18.369   936  1179 D RestartProcessManager: updateSelf :  org.kde.kdeconnect_tp, size : 3
04-28 14:41:18.369   936  1179 D RestartProcessManager: Increase Total Launch Time : org.kde.kdeconnect_tp, times : 28, index : 2
04-28 14:41:18.369   936  1179 D RestartProcessManager: Last Running Package : org.kde.kdeconnect_tp , start time 1556480478369
04-28 14:41:18.391 29693 10801 D DecorView: onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@62bcb36[MainActivity]
04-28 14:41:18.400 29693  7122 E libc    : Access denied finding property "vendor.debug.egl.changepixelformat"
04-28 14:41:18.403  3578  3578 D PhoneStatusBarView: getCompatMode: mode:0 ops:3
04-28 14:41:18.403  3578  3578 I PhoneStatusBarView: isFullAndNotchEnabled() isFullMode=false pkg=org.kde.kdeconnect_tp isCameraNotchIgnoreSetting=false, uid=10141
04-28 14:41:18.415 29693  7129 I KDE/LanLinkProvider: Identity package received from a TCP connection from adam@adam-solus
04-28 14:41:18.415 29693  7129 I KDE/LanLinkProvider: Starting SSL handshake with adam@adam-solus trusted:true
04-28 14:41:18.418 29693  9584 I KDE/LanLink: Beginning to send payload
04-28 14:41:18.420 29693  7122 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
04-28 14:41:18.426 29693  9584 W System.err: javax.net.ssl.SSLException: Write error: ssl=0x740402a108: I/O error during system call, Broken pipe
04-28 14:41:18.426 29693  9584 W System.err: 	at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method)
04-28 14:41:18.426 29693  9584 W System.err: 	at com.android.org.conscrypt.NativeSsl.write(NativeSsl.java:414)
04-28 14:41:18.426 29693  9584 W System.err: 	at com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream.write(ConscryptFileDescriptorSocket.java:623)
04-28 14:41:18.426 29693  9584 W System.err: 	at org.kde.kdeconnect.Backends.LanBackend.LanLink.sendPacketInternal(LanLink.java:207)
04-28 14:41:18.426 29693  9584 W System.err: 	at org.kde.kdeconnect.Backends.LanBackend.LanLink.sendPacket(LanLink.java:245)
04-28 14:41:18.426 29693  9584 W System.err: 	at org.kde.kdeconnect.Device.sendPacketBlocking(Device.java:676)
04-28 14:41:18.426 29693  9584 W System.err: 	at org.kde.kdeconnect.Plugins.SharePlugin.SharePlugin.lambda$queuedSendUriList$1(SharePlugin.java:233)
04-28 14:41:18.426 29693  9584 W System.err: 	at org.kde.kdeconnect.Plugins.SharePlugin.-$$Lambda$SharePlugin$nI6DGtB96KsGUO-LKyR05GO3hF4.run(Unknown Source:6)
04-28 14:41:18.426 29693  9584 W System.err: 	at java.lang.Thread.run(Thread.java:764)
04-28 14:41:18.426 29693  9584 E KDE/sendPacket: No device link (of 1 available) could send the package. Packet kdeconnect.share.request to adam@adam-solus lost!
04-28 14:41:18.426 29693  9584 E SharePlugin: Error sending files
04-28 14:41:18.436  3578  3578 D LightBarController: onNavigationVisibilityChanged mNavigationLight = false
04-28 14:41:18.446 29693  7122 E libc    : Access denied finding property "vendor.debug.egl.swapinterval"
04-28 14:41:18.455 29693  9303 I LanLink : Socket closed: 155802812. Reason: End of stream
04-28 14:41:18.456 29693  9590 I KDE/LanLinkProvider: Handshake as client successful with adam@adam-solus secured with TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
04-28 14:41:18.456 29693  9590 I KDE/LanLinkProvider: Reusing same link for device _19dd8d58_d355_456e_b2f5_b91d8754ce7b_



EXPECTED RESULT
* Files on my pc ;)


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Solus 4 Budgie
KDE Plasma Version: n/a
KDE Frameworks Version: n/a
Qt Version: 5.12.2

ADDITIONAL INFORMATION

This has worked fine for months, the problem just recently started happening.  The Android app updated on March 23rd on my phone, possible regression with the 1.12.6 update.
Comment 1 NiO 2019-05-01 15:15:23 UTC
One extra bit of info: I am able to transmit files from PC to phone without issue, the problem only exists transferring from phone to PC.
Comment 2 droidSumit 2020-07-28 17:57:39 UTC
Hi,
Facing same issue with android10 and Kde neon.
Comment 3 moshpirit 2020-09-04 14:24:09 UTC
(In reply to NiO from comment #1)
> One extra bit of info: I am able to transmit files from PC to phone without
> issue, the problem only exists transferring from phone to PC.

Same here. Also, while I get the notification that the file sending failed but I got the file (it's in ~/Downloads). 

I also noticed that for Android - Android file transmission it fails for files bigger than 200Kb it may (or may not) send the entire file. My guess(*) is that it also depends on the Wifi connection. Maybe for larger files it may start failing with Laptop - Android too (IRL, not just the notification). 

I tried with a 180 MiB (and again with a 1.8 GiB) and got no problem (of course beyond the failure notification).

------------ 

Here are my devices:

Laptop:
- OS: Manjaro 20.1 Mikah
- Kernel: x86_64 Linux 5.7.17-2-MANJARO
- Host: 20351 Lenovo G50-70 
- DE: KDE 5.73.0 / Plasma 5.19.4

Android phone:
- Host: Xiaomi Redmi Note 7
- OS: Android 10
- Kernel: 4.4.192-perf+
- MIUI: 11

Android Tablet:
- Host: Samsung Galaxy Tab S4
- OS: Android 10
- Kernel: 4.4.205-18876299

My laptop and Android devices are up to date.


------------

(*) I have no technical knowledge about this, I'm not a developer.