Skip to content

Critical browser memory/CPU leak when returning a new component from Blocks.load() with 3+ Tabs under a Column (regression in 6.11.0+) #13301

@tripleS-Dev

Description

@tripleS-Dev

Describe the bug

When a Gradio app is structured with a Column containing 3 or more Tabs, and a component such as Textbox, Radio, or Dropdown exists under that same Column, returning a new component instance from Blocks.load() causes a critical browser-side failure.

In my environment, this triggers an infinite loop of frontend errors in the browser console, RAM usage rises to 100%, and eventually CPU usage also reaches 100%. This makes the page effectively unusable for end users.

This appears to be a regression:

  • Gradio 6.3.0: no issue
  • Gradio 6.10.0: no issue
  • Gradio 6.11.0: issue occurs
  • Gradio 6.12.0: issue occurs

So the bug appears to have been introduced in 6.11.0 or later. Based on my testing, versions <= 6.10.0 do not seem to have this problem.

The reproduction may look unusual, but every line and condition in the example is required to reproduce the issue consistently.

*I wrote all of the content in this document myself, and only used chatgpt to improve readability (Markdown).

Have you searched existing issues? 🔎

  • I have searched and found no existing issues

Reproduction

import gradio as gr

with gr.Blocks() as dem:
    with gr.Column():

        with gr.Tab("tab1"):
            with gr.Column():
                test_comp = gr.Textbox()

        with gr.Tab("tab2"):
            pass

        with gr.Tab("tab3"):
            pass

    dem.load(fn=lambda: gr.Textbox(), outputs=test_comp)

dem.launch()

This issue reproduces only when all of the following conditions are met simultaneously:

  1. The Tabs must be placed under a Column.

  2. A component such as gr.Radio(), gr.Dropdown(), or gr.Textbox() must also exist under that Column.
    These are only examples; the same issue also occurs with other components.

  3. The issue only occurs when there are 3 or more Tabs under the Column.

  4. The .load() callback must return a component instance, for example:

    dem.load(fn=lambda: gr.Checkbox(), outputs=test_comp)

If any of these conditions is removed, the issue does not reproduce in my testing.

Screenshot

No response

Logs

The following error is repeated infinitely in the browser console:


Cmnr_FP2.js:14 Uncaught
Di @ index-Cmnr_FP2.js:14
uo @ index-Cmnr_FP2.js:45
Pr @ index-Cmnr_FP2.js:45
flush @ index-Cmnr_FP2.js:45
(anonymous) @ index-Cmnr_FP2.js:45
Ri @ index-Cmnr_FP2.js:4
$r @ index-Cmnr_FP2.js:39
(anonymous) @ index-Cmnr_FP2.js:39

index-Cmnr_FP2.js:14 Uncaught
Di @ index-Cmnr_FP2.js:14
uo @ index-Cmnr_FP2.js:45
Pr @ index-Cmnr_FP2.js:45
flush @ index-Cmnr_FP2.js:45
(anonymous) @ index-Cmnr_FP2.js:45
Ri @ index-Cmnr_FP2.js:4
$r @ index-Cmnr_FP2.js:39
(anonymous) @ index-Cmnr_FP2.js:39


This repeats endlessly and causes severe browser resource exhaustion.

System Info

* OS: Windows
* Browser: Chrome and other Chromium-based browsers
* Gradio version: 

Gradio Environment Information:
------------------------------
Operating System: Windows
gradio version: 6.12.0
gradio_client version: 2.4.1

------------------------------------------------
gradio dependencies in your environment:

anyio: 4.9.0
audioop-lts is not installed.
brotli: 1.1.0
fastapi: 0.115.12
gradio-client: 2.4.1
groovy: 0.1.2
hf-gradio: 0.4.1
httpx: 0.28.1
huggingface-hub: 1.2.3
jinja2: 3.1.6
markupsafe: 3.0.2
numpy: 2.2.6
orjson: 3.10.18
packaging: 25.0
pandas: 2.3.0
pillow: 11.2.1
pydantic: 2.11.10
pydub: 0.25.1
python-multipart: 0.0.20
pytz: 2026.1.post1
pyyaml: 6.0.2
safehttpx: 0.1.7
semantic-version: 2.10.0
starlette: 0.46.2
tomlkit: 0.13.3
typer: 0.16.0
typing-extensions: 4.15.0
uvicorn: 0.34.3
mcp is not installed.
pydantic: 2.11.10
authlib is not installed.
itsdangerous is not installed.


gradio_client dependencies in your environment:

fsspec: 2025.5.1
httpx: 0.28.1
huggingface-hub: 1.2.3
packaging: 25.0
typing-extensions: 4.15.0

Severity

Blocking usage of gradio

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions