WebDav after upgrade to 11.0.5

This has been working for a long time and I thought I found all the bogons but obviously did not.

Specifically, I migrated (successfully) from SQLite to MySQL for storage, and had some fun there with authentication setup and such, but that is now ok. The Seafile client for both my android phone and windows machines can see the repository, and that appears to be working normally.

I use WebDAV because there are some applications (specifically, SMS Backup and Restore) that interact very badly with the SeaFile client if I try to set it as a “local” folder (although it does show up, and thus this has been the workaround. Except… now its broken and I can’t figure out why.

I don’t see an obvious error; this is what is in the seafdav.log:

[code]13:33:18.669 - INFO : Init seahub database…
13:33:18.856 - WARNING : App wsgidav.mw.cors.Cors(None).is_disabled() returned True: skipping.
13:33:18.865 - INFO : WsgiDAV/4.1.0 Python/3.9.18 FreeBSD-13.3-STABLE-amd64-64bit-ELF
13:33:18.865 - INFO : Lock manager: LockManager(LockStorageDict)
13:33:18.865 - INFO : Property manager: None
13:33:18.865 - INFO : Domain controller: SeafileDomainController()
13:33:18.865 - INFO : Registered DAV providers by route:
13:33:18.865 - INFO : - ‘/:dir_browser’: FilesystemProvider for path ‘/usr/local/www/haiwen/seafile-server/seahub/thirdpart/wsgidav/dir_browser/htdocs’ (Read-Only)
13:33:18.865 - INFO : - ‘/’: SeafileProvider for Seafile (Read-Write)
13:33:18.865 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL.
13:33:18.865 - INFO : Running WsgiDAV/4.1.0 gunicorn/22.0.0 Python 3.9.18 …

13:33:28.802 - INFO : Init seahub database…
13:33:28.984 - WARNING : App wsgidav.mw.cors.Cors(None).is_disabled() returned True: skipping.
13:33:28.993 - INFO : WsgiDAV/4.1.0 Python/3.9.18 FreeBSD-13.3-STABLE-amd64-64bit-ELF
13:33:28.993 - INFO : Lock manager: LockManager(LockStorageDict)
13:33:28.993 - INFO : Property manager: None
13:33:28.993 - INFO : Domain controller: SeafileDomainController()
13:33:28.993 - INFO : Registered DAV providers by route:
13:33:28.993 - INFO : - ‘/:dir_browser’: FilesystemProvider for path ‘/usr/local/www/haiwen/seafile-server/seahub/thirdpart/wsgidav/dir_browser/htdocs’ (Read-Only)
13:33:28.993 - INFO : - ‘/’: SeafileProvider for Seafile (Read-Write)
13:33:28.993 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL.
13:33:28.993 - INFO : Running WsgiDAV/4.1.0 gunicorn/22.0.0 Python 3.9.18 …[/code]

With nothing else obviously having trouble. SSL is in use (the warning is appreciated but covered) however, if I try to use a WebDAV client to access it I get nothing. It IS listening on port 8101 as expected; I can see it in Netstat.

This is on FreeBSD 13.x and as I said before I migrated over everything was fine; I had a bunch of fun with the cross-site and Mysql password stuff, but at this point it appears that is all ok, but I am not able to get into the WebDAV side of things at all.

In the controller log I see this:

[code]2024-05-06 13:40:01 seafile-controller.c(563): seafdav need restart…
2024-05-06 13:40:01 seafile-controller.c(95): spawn_process: /usr/local/bin/python3 -m wsgidav.server.server_cli --server gunicorn --root / --log-file /usr/local/www/haiwen/logs/seafdav.log --pid /usr/local/www/haiwen/pids/seafdav.pid --port 8081 --host 0.0.0.0
2024-05-06 13:40:01 seafile-controller.c(129): spawned /usr/local/bin/python3, pid 58028

2024-05-06 13:40:02 seafile-controller.c(137): [2024-05-06 13:40:01 -0400] [58028] [INFO] Starting gunicorn 22.0.0
[2024-05-06 13:40:01 -0400] [58028] [ERROR] Connection in use: (‘0.0.0.0’, 8081)
[2024-05-06 13:40:01 -0400] [58028] [ERROR] Retrying in 1 second.
2024-05-06 13:40:11 seafile-controller.c(563): seafdav need restart…
2024-05-06 13:40:11 seafile-controller.c(95): spawn_process: /usr/local/bin/python3 -m wsgidav.server.server_cli --server gunicorn --root / --log-file /usr/local/www/haiwen/logs/seafdav.log --pid /usr/local/www/haiwen/pids/seafdav.pid --port 8081 --host 0.0.0.0
2024-05-06 13:40:11 seafile-controller.c(129): spawned /usr/local/bin/python3, pid 58057
2024-05-06 13:40:12 seafile-controller.c(137): [2024-05-06 13:40:11 -0400] [58057] [INFO] Starting gunicorn 22.0.0
[2024-05-06 13:40:11 -0400] [58057] [ERROR] Connection in use: (‘0.0.0.0’, 8081)
[2024-05-06 13:40:11 -0400] [58057] [ERROR] Retrying in 1 second.
[/code]

But the log file referenced above, in the snippet, shows no particular reason why it exited.

I HAVE found a couple of other entries:
logs/seahub.log:2024-05-06 18:24:54,688 [ERROR] seahub.api2.endpoints.repos:107 get (1146, “Table ‘seahub_db.base_usermonitoredrepos’ doesn’t exist”)
logs/seahub.log:2024-05-06 18:39:52,849 [ERROR] seahub.api2.endpoints.repos:107 get (1146, “Table ‘seahub_db.base_usermonitoredrepos’ doesn’t exist”)

I can’t find that table anywhere in the base directory; where should it be and how can I create/populate it, if that’s involved however that is not synchronous with either the restarts or if I attempt to access the WebDav endpoints from a client, so it may not be involved.

Where do I start looking?

UPDATE: Found and fixed – the system had old processes that did not exit when stopped for the upgrade and which were holding ports open. In addition the upgrade (for unknown reasons) did not pull the Wsgi-DAV python extension (and killed the old one!) which of course is a problem too… It is now working properly for WebDAV clients.