Skip to content

Search page leaks browser memory: tab grows ~350 MB/min showing only 281 log rows (all-in-one 2.39.1) #3187

Description

@albgen

What happened?

Once the Search page is open, the browser tab's memory grows without limit until the machine runs out of RAM and freezes. The amount of data on the page makes no difference.

Clean reproduction on a freshly rebooted machine, measured in Firefox about:processes. HyperDX was the only tab with its own content process:

Time HyperDX tab (http://localhost) memory Tab CPU
19:10 290 MB 0.05%
19:12 523 MB 8%
19:13 1 GB 64%
19:14 1 GB 3.3%
19:16 1.2 GB (RSS from ps, tab open for 6 min) 13%

At the same time, the whole selected time range (last 12 h) contained 281 log rows, 176 KiB of log bodies in total, with only a few new rows arriving per minute.

Earlier the same day, the tab was left open for ~3 hours. It reached 5.6 GB resident (73% of the VM's 8 GB), filled swap, pushed load average to 100–140, and made the VM unresponsive; it needed a hard reset. This happened twice.

The HyperDX backend is not the problem. Resident memory inside the all-in-one container during the freeze: clickhouse-server 281 MB, api 105 MB, next-server 47 MB, mongod 39 MB, otel collector 35 MB.

Expected: tab memory stays roughly flat, proportional to the rows kept on screen, no matter how long the page stays open.

Possibly related: #764 ("fix: Optimize live tail memory"), which changed DBSearchPage.tsx / useOffsetPaginatedQuery.tsx. This may be a regression.

Steps to reproduce

  1. Run docker.hyperdx.io/hyperdx/hyperdx-all-in-one:2.39.1 and send it a low stream of logs over OTLP gRPC (a few short JSON log lines per minute).
  2. Open Search with source Logs, time range Last 12 hours, and Live Tail on (default settings).
  3. Open about:processes in another tab and watch the HyperDX tab: it climbs by hundreds of MB per minute and never comes back down.

How are you running HyperDX?

  • All-in-one image docker.hyperdx.io/hyperdx/hyperdx-all-in-one:2.39.1, the current latest, under Docker Compose
  • Host: Rocky Linux 10.2 VM on Proxmox, 8 vCPU, 8 GB RAM, Docker 29.8.1
  • Built-in ClickHouse, no external database

Where does it show up?

  • UI → Search page (Logs source, Live Tail on)
  • Browser: Firefox 140.15.0esr on Linux (XFCE, software rendering, no GPU)

Logs

  • No errors in the API or collector logs.
  • Screenshots of about:processes at 19:10, 19:12, 19:13 and 19:14 are attached.
  • Browser console: <paste anything relevant, or "nothing unusual">
Image Image Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingexternal

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions