v0.14.49 won't start on Windows 7 64-bit

Syncthing auto-upgraded to v0.14.49 and now it won’t start. From the CLI, if I run:

syncthing -no-browser -no-restart -gui-apikey="<somekey>" -gui-address="localhost:8384"

…the app waits for about 2 seconds and then exits without any output or logs. I’ve downgraded to v0.14.48 and that starts without issue, but then immediately upgrades to the latest and shuts down. I know I can disable automatic upgrades, but I’d prefer not to do that. Any thoughts on how I can troubleshoot further?

Thank you!

The exit code from syncthing v0.14.49 is -1

It’s possible the syncthing binary was corrupted during the upgrade. Try deleting syncthing.exe, downloading it afresh, and trying again.

I tried that and got the same results.

I downloaded from the Github releases page here: https://github.com/syncthing/syncthing/releases/download/v0.14.49/syncthing-windows-amd64-v0.14.49.zip

Might be worth moving all of the config/index/key files into a temporary location to see if it starts with fresh data. What do you get when running syncthing --version ?

Same -1 error code and no output from syncthing -version.

I’ll try moving the config data to see if that changes anything.

Thanks.

It’s possible your anti-virus is interfering with the new version, so keep that in mind. FWIW, .49 works on several Win7 64-bit systems I’ve used recently.

I’ve moved the config with no change. I’ll see if I can find out if my AV is interfering.

Thank you for your assistance.

I’ve validated that my AV is not interfering, at least according to its log. I’ve also used the Windows SysInternals Procmon to see what the application is doing.

When starting v0.14.49, after the process loads it makes a CreateFile call to Windows Prefetch and then the thread exits, followed by the process.

When running the exact same command on v0.14.48 after the Prefetch step, it loads data from the registry and continues operating normally.

I don’t know if the issue is related to prefetch, or the registry, or something else entirely but at this point I’m pretty stumped.

Is the syncthing executable located in a special path e.g. %ProgramFiles(x86)% or a path with special characters in it?

The path is: C:\Program Files\SyncTrayzor\syncthing.exe

Good job on the Procmon’ing :slight_smile:

If the Prefetch is the last thing Syncthing seems to do, I’d suggest deleting all SYNCTHING.EXE-*.pf files in %windir%\Prefetch in case one of them is broken.

There was only a single SYNCTHING.EXE-<hexcode>.pf in \Windows\Prefetch. I deleted it and retried v0.14.49 but had no more success.

Perhaps a question to ask on golang nuts mailing list? Did you try to run any other go application compiled with the latest go version? And you run discovery server or any other tools?

Well, this gets weirder :slight_smile:

If you roll back to .48, does it work? If you rename the binary to something else? Does your binary’s SHA1 match 9bc496386996fdb36d9e55d485e25119e84cf598 ?

Do you run under the current user account - and if so, do you have multiple instances running or just for a single user?

The SHA1 hash is 9bc496386996fdb36d9e55d485e25119e84cf598, which matches yours.

I’m running under my user account, and there is only a single instance running.

I’ll see if I can find any Golang specific tools that will help identify the source of the problem. I’m not very familiar with Go though.

I’m embarrassed to admit this since it wasn’t my first troubleshooting step, but I turned my system off and on again and now now v0.14.49 is working properly.

:blush:

Thank you everyone for the helpful recommendations.

2 Likes

This executable is never run by SyncTrayzor: it’s copied into AppData first.