Skip to content

Possible Scoreboard Refresh Memory Leak #3148

@gozzarda

Description

@gozzarda

Description of the problem

Apparent memory leak observed when Jury scoreboard left running.
Mayb be a factor that this contest has 300+ teams and is multiple weeks long.
Seen as high as 10.8 GB memory usage and a whole CPU core.

Your environment

  • DOMjudge v8.3.1
  • Pop!_OS 24.04
  • Chromium 138.0.7204.157

Steps to reproduce

  1. Set up a new contest
  • In my case, there are several contests, all weeks long, all with the same hundreds of teams, in case this is relevant.
  1. Log in as a Jury user and open the scoreboard
  2. Leave the scoreboard open for a significant period of time (overnight, for me)
  • I do not know if users submitting during this time is necessary to trigger the issue, but I don't think so.
  1. Observe high CPU and memory usage.

Expected behaviour

Reasonable memory usage.

Actual behaviour

Unreasonable memory usage (10+ GB)

Any other information that you want to share?

I had a little time to do some very quick profiling, and there seems to be a periodic (when the scoreboard refreshes?) leak of a bunch of <tr>s from the scoreboard. As observed on a fresh page it was a few kB of detached elements directly but about 5 MB indirect (I think, I forget the exact numbers, sorry).
It would take about 2000 such leaks to account for 10+ GB, which is about 16-18 hours with a scoreboard refresh every 30 seconds.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions