Summary
With a RestedXP leveling guide active and the bottom step list shown, the WoW client hard-hangs after roughly 3 to 5 minutes of normal play and must be force-quit. It is not a crash and not a memory leak. One CPU core is pinned at 100% while system memory stays flat, and a native sampler shows the client stuck tens of thousands of frames deep inside the UI layout/anchor resolution code, entered from the per-frame render loop. Hiding the step list eliminates the hang completely.
Environment
- WoW Retail 12.0.5 (build 12.0.5.67823)
- macOS 26.5, Apple M1 Max, 32 GB
- RXPGuides v4.10.12
- Active guide: "ce) Voidstorm Route 3 (H)" in group "RestedXP Midnight" (Horde character), around step 31
Steps to reproduce
- Load the RestedXP Midnight guide "ce) Voidstorm Route 3 (H)" (Horde) and level normally. (Not a starting-zone guide; observed mid-route around step 31.)
- Ensure Settings > Show step list is enabled (the bottom frame that lists all steps of the current guide).
- Play for about 3 to 5 minutes.
- The client hangs completely (full freeze, must force-quit).
Toggling Show step list OFF prevents the hang indefinitely (tested 4+ minutes with no freeze). Toggling it back ON reproduces the hang within about 3 minutes. This is consistent and repeatable.
What it is NOT (evidence)
- Not a memory leak: external process monitor showed resident memory flat at ~4.5 GB of 32 GB through the hang; the addon's own Lua memory plateaued around 90 MB.
- Not a crash: no kernel panic was written; the OS itself stayed responsive during the hang (background processes kept running). The game process alone was unresponsive.
- Not an event storm: QUEST_LOG_UPDATE / UNIT_QUEST_LOG_CHANGED fire rates were measured at zero during the lead-up; zero Lua errors captured.
- Not a guide-chain (#next) issue and not a SetPoint anchor cycle: a frame-level cycle check on the step frames did not find a circular SetPoint.
What it IS (evidence)
- At the moment of the hang, one CPU core jumps to and stays pinned at ~100% (single-threaded), while the other cores idle. Classic single-thread infinite recursion.
- A native sample of the hung process shows a stack roughly 52,000 frames deep, dominated by two alternating addresses in the WoW client binary, entered from the normal per-frame UI update/layout path (not from an event handler and not from the quest-log scan). This is the signature of the layout engine recursing while resolving a frame's size/position dependency that never terminates.
- Bisected to the step list: the recursion only occurs when the bottom step-list frame (BottomFrame) is shown. Disabling it removes the trigger entirely.
Likely area
The bottom step-list frame layout in GuideWindow.lua (the BottomFrame / ScrollChild step-frame pool and the current-step-frame sizing/anchoring). On certain guides/steps the step-list frames appear to create a size or anchor dependency the layout engine cannot resolve, causing an unbounded layout recursion. It is data/step dependent (specific to the guides being run), which is why it does not reproduce on every guide.
Suggested investigation
- Reproduce with the step list shown on the affected guide ("ce) Voidstorm Route 3 (H)", RestedXP Midnight), then inspect the BottomFrame step-frame sizing/anchoring for a frame whose height or anchor depends (directly or transitively) on a frame that depends back on it.
- Check any per-step frame height calculation that reads a parent or sibling height while that parent/sibling height is being derived from it.
Workaround for affected users
Settings > Show step list = OFF (then /reload). The current-step guide still functions normally; only the upcoming-steps list is hidden.
Summary
With a RestedXP leveling guide active and the bottom step list shown, the WoW client hard-hangs after roughly 3 to 5 minutes of normal play and must be force-quit. It is not a crash and not a memory leak. One CPU core is pinned at 100% while system memory stays flat, and a native sampler shows the client stuck tens of thousands of frames deep inside the UI layout/anchor resolution code, entered from the per-frame render loop. Hiding the step list eliminates the hang completely.
Environment
Steps to reproduce
Toggling Show step list OFF prevents the hang indefinitely (tested 4+ minutes with no freeze). Toggling it back ON reproduces the hang within about 3 minutes. This is consistent and repeatable.
What it is NOT (evidence)
What it IS (evidence)
Likely area
The bottom step-list frame layout in GuideWindow.lua (the BottomFrame / ScrollChild step-frame pool and the current-step-frame sizing/anchoring). On certain guides/steps the step-list frames appear to create a size or anchor dependency the layout engine cannot resolve, causing an unbounded layout recursion. It is data/step dependent (specific to the guides being run), which is why it does not reproduce on every guide.
Suggested investigation
Workaround for affected users
Settings > Show step list = OFF (then /reload). The current-step guide still functions normally; only the upcoming-steps list is hidden.