Synology Syncthing 2.0 doesn't start

Hello, support. I’m a long term user of Syncthing on my local Synology 216j NAS. In Feb I updated it to v2 without any issues.

A couple of days ago I saw usual update button on the top (I don’t remember the version though, I think it was 2.0.15) and clicked on it. It’s strange, because the latest build in SynoCommunity is 2.0.13-33.

Next morning syncthing stopped working on my nas completely. It just doesn’t start at all. When I click “Run” in Package Center it creates Syncthing icon on the synology OS desktop and in a couple of seconds it kills it and stops the app (it looks like a crash or sth like that).

Clean reinstall didn’t help. I even tried to find some leftover files via SSH and cleaned those as well.

I’m not sure if this will help but here is the content of syncthing.log file

1 Like

There’s an incompatibility between the Synology kernel and the Go version Syncthing is currently built with. The Go project are working on a workaround for a point release.

3 Likes

Been losing my mind over this issue for the past few days, thanks for the explanation. Where can I follow progress on this workaround?

https://go-review.googlesource.com/c/go/+/751340/6#message-2ea0d421236bb61be16d521667f83837d7563c5e

Glad I checked here. I thought it was just me. The only clue I had from the log file was “futexwakeup addr=0x1850d30 returned -22 SIGSEGV: segmentation violation”.

I ran into this same issue. Watching to see when this gets fixed.

I found a solution in another topic but I can’t call it simple. When you install syncthing it has “autoupdate” option turned on already, and it immediately updates to the latest (broken) version and that’s it, you can’t run it anymore.

So right after installation (dont run syncthing yet) you have to change config.xml file and disable that autoupdate option. I had to connect to nas via SSH, download that file and upload a changed one.

If somebody knows an easier way to disable autoupdate (maybe via some synology scheduler command?) then please post this info here.

I have confirmed this approach works. Unchecked the box for run after install. I have SSH enabled on my NAS so I used a terminal and vi to edit /var/packages/Syncthing/target/var/config.xml. Changed AutoUpgradeInterval from 12 to 0.

Hi. Could you please clarify one thing? How users will understand when the issue is fixed and it’s safe to update? Next syncthing update? Post in this topic?

2 Likes

Update seems to be available here: SynoCommunity

I haven’t dug into the logs yet but mine still seems to not run with this update.

The go runtime has been patched with a fix for the Synology kernel issue 5 days ago (runtime: use uname version check for 64-bit time on 32-bit arch codep… · golang/go@04dc12c · GitHub).

However, the fix hasn’t been included in a release of the go runtime yet. A backport to go1.26 is being discussed for the next or the release after that (runtime: regression Synology's Linux fork of linux causes syscall conflict on older kernel versions [1.26 backport] · Issue #77931 · golang/go · GitHub). Once the go runtime has a fix shipped syncthing needs to be rebuilt with that runtime & a syncthing release needs to be made. So overall, this is probably going to require a few more weeks.

In the meantime, it is technically possible to built syncthing with an older go version, or downgrade to an older version. The current SynoCommunity package ships with a version that works (v2.0.14-34), but it seems that this release has auto-upgrades enabled and therefore automatically upgrades to v2.0.15 on startup, which uses the latest version of the go runtime and hence fails. You probably need to disable auto-upgrades before starting syncthing, as mentioned in this post.

2 Likes