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? 🔎
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:
-
The Tabs must be placed under a Column.
-
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.
-
The issue only occurs when there are 3 or more Tabs under the Column.
-
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
Describe the bug
When a Gradio app is structured with a
Columncontaining 3 or moreTabs, and a component such asTextbox,Radio, orDropdownexists under that sameColumn, returning a new component instance fromBlocks.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:
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? 🔎
Reproduction
This issue reproduces only when all of the following conditions are met simultaneously:
The
Tabs must be placed under aColumn.A component such as
gr.Radio(),gr.Dropdown(), orgr.Textbox()must also exist under thatColumn.These are only examples; the same issue also occurs with other components.
The issue only occurs when there are 3 or more
Tabs under theColumn.The
.load()callback must return a component instance, for example:If any of these conditions is removed, the issue does not reproduce in my testing.
Screenshot
No response
Logs
System Info
Severity
Blocking usage of gradio