[GH-ISSUE #1422] When Chrome and Firefox alternately sync, the extension freezes #940

Closed
opened 2026-02-25 22:38:31 +03:00 by kerem · 10 comments
Owner

Originally created by @yjulm on GitHub (Oct 26, 2023).
Original GitHub issue: https://github.com/floccusaddon/floccus/issues/1422

Which version of floccus are you using?

4.19.1

Sync method

WebDAV

Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please.

Windows 8.1
Chrome 109.0.5414.120
LibreWolf 115.0.2-2

Which version of Nextcloud Bookmarks are you using? (if relevant)

No response

Which version of Nextcloud? (if relevant)

No response

What kind of WebDAV server are you using? (if relevant)

No response

Describe the Bug

I'm not a native English speaker, so I used Google Translate.

After I deleted the bookmarks.xbel file in WebDAV, I opened Firefox and Chrome browsers on the desktop.

First click the sync button in Chrome, then Chrome can synchronize data to WebDAV normally. Delete the bookmarks.xbel file in WebDAV again, and then click the sync button in Firefox. At this time, Firefox can also synchronize bookmarks to WebDAV. So when there is no bookmarks.xbel file in WebDAV, Chrome and Firefox can upload data normally.

Note that currently WebDAV stores Firefox data.

The problem will occur in the following operation. Return to Chrome and manually click the sync button. The extension will freeze after a few seconds. In the task manager, you can see that the CPU usage of the extension process is very high and stable at a constant value. It looks like it's entering a while(true) loop.

Below is my additional test operation

Delete the file now. Sync data in Chrome first, then click the button in Firefox. At this time, extensions in Firefox will also freeze.

It looks like both browsers are uploading some data that the other can't process.

Expected Behavior

Both sync data normally

To Reproduce

Already explained

Debug log provided

  • I have provided a debug log file
Originally created by @yjulm on GitHub (Oct 26, 2023). Original GitHub issue: https://github.com/floccusaddon/floccus/issues/1422 ### Which version of floccus are you using? 4.19.1 ### Sync method WebDAV ### Which browser are you using? In case you are using the phone App, specify the Android or iOS version and device please. Windows 8.1 Chrome 109.0.5414.120 LibreWolf 115.0.2-2 ### Which version of Nextcloud Bookmarks are you using? (if relevant) _No response_ ### Which version of Nextcloud? (if relevant) _No response_ ### What kind of WebDAV server are you using? (if relevant) _No response_ ### Describe the Bug I'm not a native English speaker, so I used Google Translate. After I deleted the bookmarks.xbel file in WebDAV, I opened Firefox and Chrome browsers on the desktop. First click the sync button in Chrome, then Chrome can synchronize data to WebDAV normally. Delete the bookmarks.xbel file in WebDAV again, and then click the sync button in Firefox. At this time, Firefox can also synchronize bookmarks to WebDAV. So when there is no bookmarks.xbel file in WebDAV, Chrome and Firefox can upload data normally. Note that currently WebDAV stores Firefox data. The problem will occur in the following operation. Return to Chrome and manually click the sync button. The extension will freeze after a few seconds. In the task manager, you can see that the CPU usage of the extension process is very high and stable at a constant value. It looks like it's entering a while(true) loop. Below is my additional test operation Delete the file now. Sync data in Chrome first, then click the button in Firefox. At this time, extensions in Firefox will also freeze. It looks like both browsers are uploading some data that the other can't process. ### Expected Behavior Both sync data normally ### To Reproduce Already explained ### Debug log provided - [ ] I have provided a debug log file
kerem 2026-02-25 22:38:31 +03:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@marcelklehr commented on GitHub (Nov 5, 2023):

How many bookmarks do you have?

<!-- gh-comment-id:1793750923 --> @marcelklehr commented on GitHub (Nov 5, 2023): How many bookmarks do you have?
Author
Owner

@yjulm commented on GitHub (Nov 6, 2023):

How many bookmarks do you have?

1667

<!-- gh-comment-id:1794539806 --> @yjulm commented on GitHub (Nov 6, 2023): > How many bookmarks do you have? 1667
Author
Owner

@marcelklehr commented on GitHub (Dec 5, 2023):

When the xbel file exists already on the server, floccus tries to consolidate the local bookmarks with the server-side bookmarks. This can be a resource-heavy process, but it should end at some point. Could you try to open the debug console to check the logs and see what's going on?

Firefox

  • Go to about:debugging
  • Go to This firefox
  • click on debug button next to floccus entry to open the console
  • in the floccus UI, trigger a sync by clicking on sync now for the account of your choice.
  • go back to the console window and copy the logs

Chrome

  • Go to chrome://extensions
  • enable Developer mode
  • click on dist/html/background.html button in floccus' entry next to "Inspect views: " to open the console
  • In the floccus UI, trigger a sync by clicking on sync now for the account of your choice
  • go back to the inspector window and copy the logs after waiting for the sync to finish
<!-- gh-comment-id:1841377989 --> @marcelklehr commented on GitHub (Dec 5, 2023): When the xbel file exists already on the server, floccus tries to consolidate the local bookmarks with the server-side bookmarks. This can be a resource-heavy process, but it should end at some point. Could you try to open the debug console to check the logs and see what's going on? #### Firefox * Go to `about:debugging` * Go to `This firefox` * click on `debug` button next to floccus entry to open the console * in the floccus UI, trigger a sync by clicking on `sync now` for the account of your choice. * go back to the console window and copy the logs #### Chrome * Go to `chrome://extensions` * enable `Developer mode` * click on `dist/html/background.html` button in floccus' entry next to "Inspect views: " to open the console * In the floccus UI, trigger a sync by clicking on `sync now` for the account of your choice * go back to the inspector window and copy the logs after waiting for the sync to finish
Author
Owner

@yjulm commented on GitHub (Dec 6, 2023):

When the xbel file exists already on the server, floccus tries to consolidate the local bookmarks with the server-side bookmarks. This can be a resource-heavy process, but it should end at some point. Could you try to open the debug console to check the logs and see what's going on?

Firefox

  • Go to about:debugging
  • Go to This firefox
  • click on debug button next to floccus entry to open the console
  • in the floccus UI, trigger a sync by clicking on sync now for the account of your choice.
  • go back to the console window and copy the logs

Chrome

  • Go to chrome://extensions
  • enable Developer mode
  • click on dist/html/background.html button in floccus' entry next to "Inspect views: " to open the console
  • In the floccus UI, trigger a sync by clicking on sync now for the account of your choice
  • go back to the inspector window and copy the logs after waiting for the sync to finish

After my testing, I determined the steps to reproduce the bug.

  1. In Firefox and Chrome browsers, set the "Local folder" in the extension's "Folder mapping" to "/"

  2. Delete the data file "bookmarks.xbel" in WebDAV

  3. Manually click the Sync button in Chrome, successfully upload the data and generate the file "bookmarks.xbel" in WebDAV

  4. When manually clicking the Sync button in Firefox, the extension freezes. CPU usage remains at a fixed value. After a long period of time, the program stops freezing and shows sync failed.

  5. Although synchronization fails, the bookmarks have been disrupted. For example, many bookmarks are placed in the first folder named "Android" in the bookmark bar. These bookmarks were not originally in this folder. This phenomenon can also be observed through debug logs.

If you set the "Local folder" in step 1 to the corresponding "Bookmarks Bar" of Firefox and Chrome browsers, both browsers can quickly synchronize data without freezing.

<!-- gh-comment-id:1843304753 --> @yjulm commented on GitHub (Dec 6, 2023): > When the xbel file exists already on the server, floccus tries to consolidate the local bookmarks with the server-side bookmarks. This can be a resource-heavy process, but it should end at some point. Could you try to open the debug console to check the logs and see what's going on? > > #### Firefox > * Go to `about:debugging` > * Go to `This firefox` > * click on `debug` button next to floccus entry to open the console > * in the floccus UI, trigger a sync by clicking on `sync now` for the account of your choice. > * go back to the console window and copy the logs > > #### Chrome > * Go to `chrome://extensions` > * enable `Developer mode` > * click on `dist/html/background.html` button in floccus' entry next to "Inspect views: " to open the console > * In the floccus UI, trigger a sync by clicking on `sync now` for the account of your choice > * go back to the inspector window and copy the logs after waiting for the sync to finish After my testing, I determined the steps to reproduce the bug. 1. In Firefox and Chrome browsers, set the "Local folder" in the extension's "Folder mapping" to "/" 2. Delete the data file "bookmarks.xbel" in WebDAV 3. Manually click the Sync button in Chrome, successfully upload the data and generate the file "bookmarks.xbel" in WebDAV 4. When manually clicking the Sync button in Firefox, the extension freezes. CPU usage remains at a fixed value. After a long period of time, the program stops freezing and shows sync failed. 5. Although synchronization fails, the bookmarks have been disrupted. For example, many bookmarks are placed in the first folder named "Android" in the bookmark bar. These bookmarks were not originally in this folder. This phenomenon can also be observed through debug logs. If you set the "Local folder" in step 1 to the corresponding "Bookmarks Bar" of Firefox and Chrome browsers, both browsers can quickly synchronize data without freezing.
Author
Owner

@marcelklehr commented on GitHub (Dec 6, 2023):

I'm sorry this doesn't work for me. Can you please upload the full, unbutchered log files here, if you want you can generate anonymized logs, but please do not delete any parts.

<!-- gh-comment-id:1843413328 --> @marcelklehr commented on GitHub (Dec 6, 2023): I'm sorry this doesn't work for me. Can you please upload the full, unbutchered log files [here](https://cloud.marcelklehr.de/s/9cTqfzaM993Kx89), if you want you can generate anonymized logs, but please do not delete any parts.
Author
Owner

@yjulm commented on GitHub (Dec 7, 2023):

I'm sorry this doesn't work for me. Can you please upload the full, unbutchered log files here, if you want you can generate anonymized logs, but please do not delete any parts.

This time I re-executed steps 1 to 5, and the bookmarks in step 5 were not disrupted. I used the "Bookmark Dupes" extension to help me check if bookmarks are being added repeatedly to different folders

Retest log file

chrome-floccus-4.19.1-2023-12-06.log
firefox-floccus-4.19.1-2023-12-07.log

<!-- gh-comment-id:1843939158 --> @yjulm commented on GitHub (Dec 7, 2023): > I'm sorry this doesn't work for me. Can you please upload the full, unbutchered log files [here](https://cloud.marcelklehr.de/s/9cTqfzaM993Kx89), if you want you can generate anonymized logs, but please do not delete any parts. This time I re-executed steps 1 to 5, and the bookmarks in step 5 were not disrupted. I used the "Bookmark Dupes" extension to help me check if bookmarks are being added repeatedly to different folders ### Retest log file [chrome-floccus-4.19.1-2023-12-06.log](https://github.com/floccusaddon/floccus/files/13593135/chrome-floccus-4.19.1-2023-12-06.log) [firefox-floccus-4.19.1-2023-12-07.log](https://github.com/floccusaddon/floccus/files/13593136/firefox-floccus-4.19.1-2023-12-07.log)
Author
Owner

@marcelklehr commented on GitHub (May 15, 2024):

Huh. Your Cache is corrupt for some reason

<!-- gh-comment-id:2112777077 --> @marcelklehr commented on GitHub (May 15, 2024): Huh. Your Cache is corrupt for some reason
Author
Owner

@marcelklehr commented on GitHub (May 15, 2024):

Your cache contains only the Android folder, direclty below the root. Whereas it should contain the bookmarks bar etc. I cannot reproduce this, even with your steps above.

<!-- gh-comment-id:2112781091 --> @marcelklehr commented on GitHub (May 15, 2024): Your cache contains only the Android folder, direclty below the root. Whereas it should contain the bookmarks bar etc. I cannot reproduce this, even with your steps above.
Author
Owner

@marcelklehr commented on GitHub (May 15, 2024):

You can clear your cache in the settings and it should work again.

<!-- gh-comment-id:2112814370 --> @marcelklehr commented on GitHub (May 15, 2024): You can clear your cache in the settings and it should work again.
Author
Owner

@github-actions[bot] commented on GitHub (May 16, 2025):

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

<!-- gh-comment-id:2885340719 --> @github-actions[bot] commented on GitHub (May 16, 2025): This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/floccus#940
No description provided.