"Maximum event re-entrancy depth exceeded" by accessing UI properties

Repro Steps

  1. Create a label with text and an emoji
  2. Listen to GetPropertyChangedSignal("AbsoluteSize")
  3. Inside the listener, do local _ = label.AbsoluteSize
  4. Change a UIScale

Result

The following is printed to the output:

Maximum event re-entrancy depth (80) exceeded for Instance.AbsoluteSizeChanged

In the profiler, it’s clear that accessing the property and listening to the changed signal is causing an infinite loop.

This is a performance and a behavioral issue:

  • It causes a small hang, impacting performance
  • The text jitters, instead of monotonically getting bigger and smaller with the UI scale

Repro.rbxl (57.1 KB)

2 Likes

Thanks for the report! We’ll follow up when we have an update for you.

(I cannot create a bug report)
Somewhat related, different behaviors for different .rbxls same code

Reset to see behavior

characterremovedfail.rbxl (417.3 KB) < Abnormal behavior
characterremovedsuccess.rbxl (59.1 KB) < Normal behavior