Studio freezes when selecting a specific TextLabel under a UITableLayout when certain conditions are present

TableLayoutDeadlockTestCase.rbxl (61.5 KB)

Alright, I know this report kinda sucks, but I can’t find a simpler repro.

Steps:

  • Select game.StarterGui.ScreenGui.RoundEndStats.RankTable.TableHeader.Headshot
  • Observe that nothing out of the ordinary happens
  • Select game.StarterGui.ScreenGui.RoundEndStats.RankTable.TableHeader.Player
  • Force close Studio because it’s never recovering. No crash, just spinning indefinitely on something.

If I had to guess, there’s some infinite recursion in the layout code here, but I don’t know why it’s only triggered by selecting the object. I won’t bother speculating further, seeing as UITableLayout was written after my time and I’ve never seen its source code.

If you delete the Headshot image in that same TableHeader frame, the problem doesn’t happen anymore. Likewise, if you remove the UISizeConstraint from that Player label, it’s fine. Can’t quite get the sizing on the rows correct, but that’s out of the scope of this bug report.