Including utilities (e.g. db check) in syncthing command

We have quite a few support questions related to out of sync or file counts. We usually need to ask the user to query the api, and sometimes even that information isn’t entirely conclusive. In one case the stindex idxck command showed a db defect (later connected to panic (most likely)).

Maybe we could add something like lib/diagnostics that contains the index check and potential other useful debugging tools. Then make those accessible e.g. with syncthing -diag idxck.

Does that sound reasonable? Other ideas?

2 Likes

We could, if the tools produced reasonably understandable output and were generally useful.

When I’ve used stindex and stfileinfo they’ve proven useful to me.

1 Like

Now I know them and have used stindex to find that sth was wrong I second the idea :-). At least a normal user doesn’t have to build code to be able to dig further and we could have a wiki article for example “if you’re familiar with the shell, use these steps to check your database for errors. Provide the ouput to our support forum if you need assistance”

Yup - a tool doesn’t have to provide a full solution. If all it does is tell me “database looks OK” or “database is not OK” and nothing else, then it’s invaluable.

As someone who needed to use idxck to help identify the cause of stuck out of sync file count I think it would be good to have the tools available on an installed system. We could then maybe improve the documentation to give a troubleshooting section with “if you see this, then you can do that to fix”