E019: HTTP status 423. Failed PUT request.
See original GitHub issueDescribe the bug
floccus ‘in’ Firefox fails to sync my bookmarks when restricting floccus to sync a specific “server folder” (/work
in this case) in the floccus configuration. If I clear the “server folder” floccus syncs the bookmarks as expected. The client side error I get is the similar to the error reported in #699 except that I am getting an HTTP 423 instead of HTTP 403 (see below).
I first noticed this behaviour late last week, I think (not sure which version of floccus I was using at this time). Before this floccus successfully sync bookmarks with my nextcloud for about a year and a half.
In vivaldi, floccus 4.3.0 successfully syncs my bookmarks when the “server folder” is set. I’ve already deleted the floccus configuration in Firefox, deleted all bookmarks both server side and client side but it doesn’t make a difference. I’ve also created a new nextcloud user and created a new floccus configuration for this user without success.
To Reproduce
- Create a “nextcloud folder” account in floccus
- Setup a “server folder” to restrict which bookmarks are synced
- Click “sync now”
Expected behavior The sync finishes successfully
Observed behavior The sync fails with “E019: HTTP status 423. Failed PUT request. Check your server configuration and log.”
floccus debug log
2020-10-28T19:57:11.948Z Starting sync process for account <account>
2020-10-28T19:57:12.148Z onSyncStart: begin
2020-10-28T19:57:12.148Z https://<domain>/<nc-path>remote.php/webdav/.floccus-L3dvcms=.lock
2020-10-28T19:57:13.058Z https://<domain>/<nc-path>remote.php/webdav/.floccus-L3dvcms=.lock
2020-10-28T19:57:13.483Z Syncing failed with E019: HTTP status 423. Failed PUT request. Check your server configuration and log.
Server log This is only an excerpt from the full log removing the “Trace” information
..."app":"no app in context","method":"GET","url":"/<nc-path>/remote.php/webdav/.floccus-L3dvcms=.lock","message":{"Exception":"OC\\Authentication\\Exceptions\\InvalidTokenException","Message":"Token does not exist"...
..."app":"no app in context","method":"GET","url":"/<nc-path>/remote.php/webdav/.floccus-L3dvcms=.lock","message":"Deprecated event type for {\"[object] (OCP\\SabrePluginEvent)\"...
..."app":"webdav","method":"GET","url":"/<nc-path>/remote.php/webdav/.floccus-L3dvcms=.lock","message":{"Exception":"Sabre\\DAV\\Exception\\NotFound","Message":"File with name .floccus-L3dvcms=.lock could not be located"...
..."app":"no app in context","method":"GET","url":"/<nc-path>/remote.php/webdav/.floccus-L3dvcms=.lock","message":{"Exception":"Symfony\\Component\\Routing\\Exception\\RouteNotFoundException","Message":"Unable to generate a URL for the named route \"bookmarks.web_view.index\" as such route does not exist."...
Desktop (please complete the following information):
- OS: openSUSE Leap 15.2
- Browser Firefox
- Browser Version 78.4.0esr
- Floccus version: 4.4.3
- Floccus sync method: nextcloud folders Server (please complete the following information):
- OS: Hosted
- Nextcloud version: 20.0.1 (also tested with 18.0.4 before upgrading)
- Bookmarks app version: 4.0.3 (also tried with 3.0.4 before nextcloud upgrade)
Issue Analytics
- State:
- Created 3 years ago
- Comments:11 (6 by maintainers)
Top GitHub Comments
I’m not sure if this is a good place to contribute my two cents, but perhaps it helps. I was getting HTTP 423 codes as well and Floccus 4.8.2 was hanging indefinitely while trying to sync with Nextcloud 21 and later 22. While peeking at the SQL tables I noticed that the column
oc_bookmarks_root_folders.locked
was set to 0 for all users except the one encountering problems, for whom the value was 1. My fix wasupdate oc_bookmarks_root_folders set locked = 0
, after which syncing resumed normally.So I guess that’s how the Nextcloud Bookmarks app implements locking. And probably at some point something unusual happened, perhaps the user closed the browser during the sync, which left the lock on.
On a related note, I feel that syncing became slow because the user’s 2,300 bookmarks (already a considerable amount) got blown up to over 18,000 due to duplication. I believe that when Floccus is installed using the same Nextcloud account on two browsers with existing bookmarks, and when those bookmark sets contain some identical hierarchies like A/B/C/, then C begins to multiply server-side. In my case the user had 2,300 entries in the
oc_bookmarks
table, but over 18,000 entries in theoc_bookmarks_tree
table. I will try to fiddle with this and file a proper issue.That was three hours well spent. 😃
Floccus should override the lock after waiting half an hour for it. 😕
That would be great! Thanks