syncthing-android: Fails to start in Android 10 / Q: TLS segment underaligned
Hi, Syncthing does not launch in Android Q. The in-app logs report:
--------- beginning of main
--------- beginning of crash
03-13 23:12:51.467 W/SyncthingNativeCode(21438): error: "/data/app/com.nutomic.syncthingandroid-kgE8B7kQjgjrpd1_hr0zbw==/lib/arm64/libsyncthing.so": executable's TLS segment is underaligned: alignment is 8, needs to be at least 64 for ARM64 Bionic
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 11
- Comments: 33 (9 by maintainers)
I will rerelease 1.2.2 as 1.2.2.1 with go1.13 soon (building now).
Since upgrading to go1.13 there’s a problem with the build servers that I wasn’t able to solve yet, that’s why the announced release hasn’t happened yet (and I can’t currently give an ETA).
I’ve just got an update to 1.2.2.2, with changelog mentioning go1.13 build and this issue. Sadly, syncthing crashes on startup now:
I’ve sent the feedback via Android crash reporter, so you should have more details. I haven’t denied any permissions to Syncthing, and I don’t see a matching one to enable explicitly in app info.
I just got the 1.2.2.3 update and it appears to be working (sync’d a new file over from my server). I’ve now made a backup of the settings in case of future hiccups…
@imsodin we should re-release latest released version built with new go perhaps.
I see the 1.2.2.1 release on the releases list here - has it been submitted to the Play Store? I was just offered the 1.2.2 upgrade today, so I’m sure it’ll be delayed for me a bit even if it’s already been submitted.
For simple users like myself stumbling upon this: syncthing-fork does work already. Switching is a hassle but doable and gets your device back into working order in my experience.
Yes, if possible please err on the side of conservative approach and don’t keep Android version broken for long. Desktop version is relatively easy to recompile. Rolling your own apk is more difficult, plus sometimes impossible to install it due to device policies. 😦
I plan to use go1.13 (RC or final release) for the next scheduled candidate release of syncthing-android next week.
Indeed I’m still eagerly checking for an update a few times a day.
Sure, I could use syncthing-fork or any other special build with the fix, but it won’t pick up the same settings, and with the official app in the state it’s in I can’t export my current settings. That is another bug that needs addressing IMO. Ensure the UI always has working menu to change/import/export settings no matter the state of network connections (this whole thing is a TLS issue brought on by a library issue, yes?).
Yes, I’ll be exporting my settings the moment I get the official app update.
Go 1.13 will have a proper fix. That’s going to be released soon (beginning of August). And I personally wouldn’t want to modify the Syncthing binary (or any binary) in general.
Hmmm I’ll wait a little bit until q is really in it’s final stage before looking deeper… Thanks for the report.
1.2.2.3 works on Pixel 3
Thanks for giving us a heads up on the delay.
any news on this?
The bug is still present in the last version of syncthing and Q beta 4 (this is the final api)
I’m very happy with Catfriend’s patch 😃
I confirm this patch https://github.com/Catfriend1/syncthing-android/commit/3a188d457c0a7add6b50c33bb78b640de195817f fixes the issue on my Pixel 3 XL on Android Q
https://github.com/Catfriend1/syncthing-android/issues/370