Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Godot crashes when editing style boxes of TabContainer #100775

Closed
em-s-h opened this issue Dec 23, 2024 · 5 comments · Fixed by #101541
Closed

Godot crashes when editing style boxes of TabContainer #100775

em-s-h opened this issue Dec 23, 2024 · 5 comments · Fixed by #101541

Comments

@em-s-h
Copy link

em-s-h commented Dec 23, 2024

Tested versions

  • Not reproducible in: Godot v4.2.2.stable, Godot v4.3-dev1, 3, 4, 5
  • Reproducible in: Godot v4.3.stable, v4.3-rc1, v4.3-beta2 & 1, v4.3-dev6

System information

Godot v4.3.stable unknown - Arch Linux #1 SMP PREEMPT_DYNAMIC Thu, 19 Dec 2024 21:29:01 +0000 - Wayland - Vulkan (Forward+) - integrated Intel(R) HD Graphics 5500 (BDW GT2) - Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz (4 Threads)

Issue description

gd.mp4

Verbose output (normal output doesn't have a backtrace): godot_save3.log

Steps to reproduce

The video above shows how to make godot crash, but I'll write it anyways.

  • Open the MRP (the warning that appears can be ignored);
  • Open settings_window.tscn;
  • Open the theme editor;
  • Resize the Godot window horizontally to the minimum, and vertically until both tabs are visible;
  • Click on either tab and Godot will crash

Minimal reproduction project (MRP)

mrp.tgz

@matheusmdx
Copy link
Contributor

I was unable to reproduce this issue on windows 10, the only thing different that happened was two errors poping about a parser error in some script when i opened the theme editor:

res://scripts/notes_panel.gd:22 - Parse Error: Preload file "res://scenes/note_button.tscn" does not exist.
modules/gdscript/gdscript.cpp:2936 - Failed to load script "res://scripts/notes_panel.gd" with error "Parse error". (User)

Godot v4.3.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated AMD Radeon RX 580 2048SP (Advanced Micro Devices, Inc.; 31.0.21921.1000) - AMD Ryzen 5 3600 6-Core Processor (12 Threads)

@em-s-h
Copy link
Author

em-s-h commented Dec 27, 2024

@matheusmdx I removed those scripts from the MRP since they weren't necessary for the crash to happen.

@em-s-h
Copy link
Author

em-s-h commented Jan 12, 2025

After doing some testing I've found that this crash is a regression that started with v4.3-dev6.

I've also updated the steps to reproduce with what actually causes the crash to happen, that being one of the tabs pushing the other one out of view, this is properly handled in versions earlier than v4.3-dev6.

@matheusmdx could you try to reproduce this crash again with the correct instructions?

@matheusmdx
Copy link
Contributor

matheusmdx commented Jan 13, 2025

With the new steps i was able to replicate the issue, you don't need to click the tab, just hover the mouse in the second tab is enough to crash. This trigger an infinite recursion between TabBar::_update_cache and TabBar::_update_hover:

Image


In my case i was able to reproduce this issue from 4.1.2, bisecting points for commit 3bb05da from pr #81202 as the culprit:

Image


@em-s-h Can you test if you're able to reproduce this issue in 4.1.2 and if works without crash in 4.1.1. If you crash in the 4.1.2 too i'll ping the pr author, otherwise i'll open a separated issue.

@em-s-h
Copy link
Author

em-s-h commented Jan 13, 2025

@matheusmdx I wasn't able to reproduce this crash in 4.1.2 or 4.1.1

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

Successfully merging a pull request may close this issue.

4 participants