To clarify, the issue for me is that the seafile client crashes regularly after an error such as the one mentioned by @Pang1982 . Looking closer at the log, it doesn’t ALWAYS crash when such an error is returned. For some URLs, that error is logged but there are further logs after that, and I don’t notice any break in functionality. But it seems that there is a crash specifically when the error is returned for URLs in this format (edited with random x’s as I’m not sure if this is sensitive or not):
[02/10/22 06:39:06] http-tx-mgr.c(954): libcurl failed to PUT https://mydomain/seafhttp/repo/xxxxxxx-2d89-xxxx-b496-xxxxxxxxx/commit/HEAD/?head=fdeafa1b80xxxxxxxxxxd8c086d0: Error in the HTTP2 framing layer.
[02/10/22 18:07:35] seaf-daemon.c(502): starting seafile client 6.2.11
As you can see, the next line in the log is when I detect the issue and manually restart seaf-cli, many hours later.
Here is an example when the error is returned but the client recovers:
[02/10/22 04:38:13] http-tx-mgr.c(1181): Transfer repo 'xxxxxx': ('normal', 'init') --> ('normal', 'check')
[02/10/22 04:38:13] http-tx-mgr.c(808): libcurl failed to GET https://mydomain/seafhttp/repo/xxxxx-2d89-xxxx-b496-xxxxxxxx/permission-check/?op
=upload&client_id=xxxxxxxxxxxxxxxxxxxx&client_name=unknown: Error in the HTTP2 framing layer.
[02/10/22 04:38:13] http-tx-mgr.c(3708): Upload permission denied for repo xxxxxxx on server https://mydomain.
[02/10/22 04:38:13] http-tx-mgr.c(1181): Transfer repo 'xxxxxxxx': ('normal', 'check') --> ('error', 'finished')
[02/10/22 04:38:13] sync-mgr.c(621): Repo 'pisync' sync state transition from uploading to 'error': 'Error occurred in upload.'.
In that case, after that error, a new attempt is made around 30 seconds later and there is no error, and the repo ends up synchronized again.