ITADN

gr.Dataframe freezes in a Tab after updating from 6.10.0 to 6.11.0+

#13448Closedtancoro 创建于 2026-06-01
T
tancorocommented
### Describe the bug A `gr.Dataframe` inside a `gr.Tab` freezes the browser UI after the tab is selected and the Dataframe value is updated from the tab's `.select()` event. This works in `gradio==6.10.0`, but starts freezing in `gradio==6.11.0`. I also reproduced similar freezing behavior with `6.12.0`, `6.13.0`, and in a real app with `6.15.2`. In the real app on `6.15.2`, the browser console showed: ```text RangeError: Maximum call stack size exceeded at Object.get [as groupedColumnMode] (.../assets/Index-....js...) ``` ### Have you searched existing issues? Yes. I did not find an exact match for this combination: - `gr.Dataframe` - inside `gr.Tab` - value loaded from `tab.select` - `interactive=False` - `type="array"` - `column_widths` - mixed datatypes including `markdown` / `bool` ### Reproduction ```python import gradio as gr rows = [ [26, "General", "public", "Monthly vegetable sales", "user@example.com", "**Delete**"], [27, "General", "public", "Vegetable sales", "user@example.com", "**Delete**"], [35, "HR", "group", "Sample title", "user@example.com", "**Delete**"], ] headers = ["File ID", "Brain Name", "Brain Type", "Title", "Inputed By", "Delete Btn"] def load(): return rows, "loaded" def select(df, evt: gr.SelectData): return f"selected {evt.index} {evt.value}" with gr.Blocks(title="df-regression-test") as app: with gr.Tab("Other"): gr.Markdown("other") with gr.Tab("Knowledge Details") as tab: df = gr.Dataframe( column_count=6, datatype=["number", "str", "str", "str", "str", "markdown"], headers=headers, type="array", column_widths=["10%", "20%", "10%", "30%", "20%", "10%"], max_height=600, interactive=False, ) out = gr.Markdown("waiting") tab.select(fn=load, inputs=[], outputs=[df, out]) df.select(fn=select, inputs=[df], outputs=[out]) app.queue().launch() ``` ### Steps to reproduce 1. Install `gradio==6.11.0`. 2. Run the reproduction script. 3. Open the app in Chrome. 4. Click the `Knowledge Details` tab. 5. The page becomes unresponsive or browser automation times out while trying to read the page. ### Expected behavior The Dataframe should render rows normally after the tab is selected, as it does in `gradio==6.10.0`. ### Actual behavior The page freezes or becomes unresponsive after selecting the tab. In a larger app using `gradio==6.15.2`, the browser console showed a maximum call stack error involving `groupedColumnMode`. ### Version matrix tested - `gradio==6.10.0`: works - `gradio==6.11.0`: freezes - `gradio==6.12.0`: freezes - `gradio==6.13.0`: freezes - `gradio==6.15.2`: freezes in the real app ### Environment - OS: macOS - Browser: Google Chrome - Python: 3.11 - Gradio versions tested: 6.10.0, 6.11.0, 6.12.0, 6.13.0, 6.15.2 ### Additional context The regression appears to start with `6.11.0`. The changelog mentions that the Dataframe component was migrated to Svelte 5 in that release. The public API usage above still appears to be supported by the current Dataframe documentation, so this may be a frontend regression rather than an intentional API change.
关闭于 2026-06-03 1 条评论