Crippling slow network load -- blocking something

Description

Description of the issue: Slow, minutes long, non-interactive wait to load even simple sites like https://m.xkcd.com/. Blocked service workers, e.g. Vimium.

When loading a page is blocked, so too is interacting with Vimium on pages.

Symptoms, or Diagnostic Observations

  1. False start: Ublock Origin – blocked on block list downloads. uBO showed a yellow exclamation mark and yellow badge for a while on startup. The exclamation means it’s not, it can’t, block requests at browser startup. Separately, the yellow badge means it’s downloading block lists. As the Ublock Lists downloaded (I assume), or during (2).

  2. Sync: I bookmarked (then closed) 3k tabs on my phone. Perhaps syncing of those tabs required blocking operation, checking brave://sync-internals/ for more context. Seems like small data, but maybe its usual smaller magnitude means brave does more background work per tab – estimating only on data size, for transfer speed, it should be insignificant, 250–500 B for url itself, a similar 100–300 B for title, say 1KB per tab, now bookmarks, 3k entries, 3k marks * 1KB/mark = 3MB, even at 2x or 4x size, that’s (order of) 1 second of network time. Processing by the browser could take longer, but not much, and not repeatedly – though maybe something slower that’s intermittent, or perhaps slowing down some already repeating process within sync. I’m unsure how to toggle / “poke” / “power cycle” sync.
    Unrelated, I assume

    • hmm about:settings/sync redirects → about:settings/syncSetup.
    • While about:settings / sidebar: Syncabout:settings/braveSync (worked after a refresh or two)
    • brave://sync-internals/ has 3 failed sync facets, appearing in red, and showing errors: History (reporting 78 entries, desktop – incommensurate with my 3,078 mobile tabs as a behavioral indicator), App settings 0, Extension settings 0.

    In both cases, nothing populates when the
    Toggling Sync data entries, or “Sync everything” to “Customize sync” and back, seems to have toggled the brave://sync-internals/. But History, App settings, & Extension settings have failed again.

Data Type Total Entries Live Entries Message State
App settings Error: ConfigurationCompleted@components/sync/service/data_type_manager_impl.cc:661, configuration error was encountered: Backend failed to download and configure type. Stopping
Extension settings Error: ConfigurationCompleted@components/sync/service/data_type_manager_impl.cc:661, configuration error was encountered: Backend failed to download and configure type. Stopping
History 79 79 Error: Restart@components/sync/service/data_type_manager_impl.cc:501, model error was encountered: Preexisting controller error on configuration Failed
  • These sync errors seem to be persisting.
  • Only 1619 of the 3078, approx, bookmarks I expected are in the list. Perhaps some were de-duplicated, or perhaps I closed tabs on mobile before bulk bookmarking was complete.
  1. For Vimium extension, I observed sometimes complete blocking (perhaps a failure to initialize) and sometimes limited on-page interaction blocked on functions handled by the service worker. I enabled “Collect Errors”, hoping that the blocking interaction I was observing, with an inactive service worker. Using vimium embeded in tabs, I frequently see the HUD element pop up without any content, “i” is common to trigger “insert” mode, passing through keys to the page. But “i” and “f” (“follow links”) both pop up the HUD but in both cases it’s empty of the expected text describing the “mode” for the current operation. Loading the extension “Options” page during the slow periods shows none of my preferences. Given that Sync reports issues with Extension settings, Vimium issues might be partially or wholly downstream of sync. It could make sense architecturally for sync to block while updating other extensions and extensions settings.

Reproducing

How can this issue be reproduced? I have no idea.
Expected result: Using the browser without minutes long page-load and extension interaction holidays. Not needed to toggle extension: on/off, service worker stop/start, uninstall/reinstall.
Brave Version( check About Brave/about:version): 1.77.97 Chromium: 135.0.7049.84 (Official Build) (64-bit)
Additional Information: Haven’t I said enough already? Or have I—I hope I have

I just ran system updates and rebooted. Before the reboot I had an unexpectedly large number of separate Brave system tray widgets visible. It appears 1 is permanent, another appears for the task manager process, and I had 6 or so open. When I closed the browser and relaunched, I had 12 different windows offering to restore session, and only one restored a session with any windows or tabs. When I rebooted I

I wonder if malware persistence symptoms could look like this. Chrome/-ium. Even 135.0.7049.95 has Critical and High patches although, as I recall, the split renderer architecture means many bugs require chaining vulnerabilities in order to exploit.

This report tends toward stream of consciousness reporting. Hopefully, after some sleep, it will all be obvious in the morning.

I loaded https://m.xkcd.com/ without issue or slowdowns, does it work in private window mode or new/different profile?

Here I observe crawling interactions with an extension

brave://serviceworker-internals/

before (#1)

after (#4)

Client:
  ID: 34fe5ceb-ae42-4b4d-98e9-58e632823f86
  URL: chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/pages/help_dialog.html
Client:
  ID: 705664a1-acc4-47b6-9997-2d609cc9af6a
  URL: chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/pages/options.html
Client:
  ID: bc54faf2-ff51-4126-9784-c1b4bd69636e
  URL: chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/pages/hud.html

Vimium menu — (enabled in private, seems to load page from service worker) – this loaded

Vimium does not respond immediately on page load. It then responds to some keybinds but doesn’t load its embeded elements. It took another 2-5 seconds for these keybinds to hydrate into the embeded element. And this 5 second, delayed hydration occurred twice in close succession – as I was testing a page in a private window and in a normal window. I see in the service worker the help and hud elements are what I expect to see on page, and I have the extension’s options page open as well.

before –

(#2)


(#3) – 5 seconds later, took a few seconds multiple times.

From extension’s “Log” box on brave://serviceworker-internals/ page.
Console: {"lineNumber":0,"message":"Uncaught (in promise) Error: Could not establish connection. Receiving end does not exist.","message_level":3,"sourceIdentifier":1,"sourceURL":"chrome-extension://dbepggeogbaibhgnhhndojpepiihcmeb/background_scripts/background.js"}


Thankfully discourse auto-saved and synchronized everything before this line — Brave is locked up for me.
I’m making this report from another browser because I am unable with brave.

I am deeply deeply frustrated with brave.

It’s gone non-interactive for over 3 10 minutes, I’m counting aloud to myself. And now composing this text in another application.

I moved 1.6k (links)/ 8k bookmarks (links including “subdirectory” content count reported) into a new folder.

I observed previously (last night) and observe again now – 2 brave processes pinned at 95% CPU usage each.
Screenshot_20250416_132732

Also brave eats up memory, to the point of starving WhatsApp Web (so I get its OOM message). (Although my OS still reports 1.7G available or 16G, and only 4.5G of swap used)

And while I can select different browser windows, the OS allows me to toggle focus, Brave is internally locked up, including: 1) the bookmarks settings page, 2) this brave forum web page, and 3) even the Brave Task Manager separate process – no updates to CPU or Memory footprint, for 5 minutes.

It seems like I need to drop the profile, extensions, extension settings, search engines, and all — try to export what I can from (?) overburdened profile (sync, bookmarks, extensions, service workers or data sources – seem unusable).

Without the extensions does it perform better? (why I asked to test in private window mode with no extensions enabled or a new profile).