WARNING: Failed to initialize config: config file version (37) is newer than supported version (35). If this is expected, use -allow-newer-config to override.

So I installed Kali linux on another partition yesterday, using the same /home folder mounted as a partition as my older / current main system which is Kubuntu. To test Kali but maybe replace with fresh install of Kubuntu later.

So then I installed syncthing which upgraded my config file to version 37 from 35.

Then I reboot into Kubuntu and syncthing has been bricked somewhat showing this error at the terminal:

[start] 16:47:13 INFO: syncthing v1.18.0-ds1 "Fermium Flea" (go1.18.1 linux-amd64) debian@debian 2023-05-03 08:38:45 UTC
[start] 16:47:13 WARNING: Failed to initialize config: config file version (37) is newer than supported version (35). If this is expected, use -allow-newer-config to override.
[monitor] 16:47:13 INFO: Syncthing exited: exit status 1

I guess the newer install of syncthing into Kali updated the shared config. Kali’s version I would assume is 37, whereas Kubuntu’s is at 35. I was not entirely surprised that the following also failed:

sudo apt upgrade syncthing 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
syncthing is already the newest version (1.18.0~ds1-3ubuntu0.2).

I guess perhaps this means Ubuntu has gone evil and time to switch to another daily driver version of linux? Mint was good for a certain time (especially since it not use snap), but recently I’ve been using Kubuntu cos still I love KDE Plasma and figured it would be the best way to run it. I digress.

CONFIG FILE VERSIONS I feel I can fix this with a manual download / side-load outside of the APTITUDE repo system, but since KALI LINUX also uses apt I thought it worth posting here, because why on earth would Kali’s freshly installed version done using apt install syncthing be newer than on my kubuntu 22.04?. Must be that Kali has different repos set.

I wonder which version of syncthing uses config 35 and which version uses config file version 37? I guess I could reboot into Kali and try finding out.

Another idea would be to launch Kali’s install of syncthing by running:

/media/tom/kali/usr/bin/syncthing

which works fine! This one says that it is v1.27.2-ds4, Linux (64-bit Intel/AMD) and is running normally again. Until I reboot.

Maybe I will copy this over to /usr/bin to fix? Just the one file? Either that or manually edit the file or launch with

syncthing -allow-newer-config

I think I will brute force overwrite the binary with:

sudo cp -f /media/tom/kali/usr/bin/syncthing /usr/bin/syncthing

Which I can confirm WORKS. No idea what will happen if I do apt upgrade when Canonical update their repo. As I said I reckon Ubuntu has turned bad. I can tell because snap sucks arse and the only “benefit” of snap is everything is confusing and closed-source for their corporate backers. Fair enough.

Best way to ask Ubuntu to update their version? Weirdly, this request to update the unstable repo goes unanswered:

I will send Debian a note shortly…

Don’t. Report to the distro you are using, i.e. Ubuntu. Pretty annoying (and pointless) as a maintainer to get bug reports about things you can’t change. Resp. probably don’t do that either, as this is not a Ubuntu problem, but one of your own making by playing around with multiple distros using the same config.

As for how to get the latest syncthing on an apt based distro: apt.syncthing.net

3 Likes

You’re playing with fire here from the start. Using two different distributions with the same syncthing database is dangerous in any case IMHO. I would suggest two different installations, one for each distro. You can customize syncthing’s home directory to achieve this.

These version mismatches will always happen because of how these distros work.

  • Kali Linux is a rolling-release distribution based on Debian Testing. It has no concept of frozen or stable packages and will always update things ASAP. For syncthing this means that once a Debian maintainer uploads stuff to unstable, Kali Linux will have it after a short delay in most cases.
  • KUbuntu/Ubuntu on the other hand are stable-releases. They make point in time snapshots of (most) packages and then only update them when required due to important bugfixes or security issues. This naturally leads to the versions in these distros aging, as new versions won’t land downstream automatically. For Ubuntu specifically, they have agreements with Debian and essentially make snapshots of Debian Testing every 6 months or so, so the likelihood of the version accidentally matching Kali Linux is rather high, but still never guaranteed. However, you can’t be running an Ubuntu LTS release for this, because these have a far lower update frequency compared to Ubuntu non-LTS.

In summary, trying to get a rolling release and a stable distribution to agree on their package versions is never going to happen. You should either use syncthing’s own apt repo (which is always up to date), or use separate home directories for syncthing (different config+database).

1 Like