Skip to content

Debug assert on parent rebind, mitigate circularity in symbol access checking#22282

Merged
weswigham merged 2 commits into
microsoft:masterfrom
weswigham:debug-assert-on-parent-rebind
Mar 2, 2018
Merged

Debug assert on parent rebind, mitigate circularity in symbol access checking#22282
weswigham merged 2 commits into
microsoft:masterfrom
weswigham:debug-assert-on-parent-rebind

Conversation

@weswigham

@weswigham weswigham commented Mar 2, 2018

Copy link
Copy Markdown
Member

Ref #20808

I can't think of or find an actual test case to repro the telemetry issue, but by adding an assertion that parent pointers are never rebound to a different parent, the source of a crash if caused by bad binder behavior should be moved to somewhere where it should be possible to see what structure could produce such behavior. Additionally, by making a stackmap that is shared between recursive calls to getAccessibleSymbolChain, it should avoid ever running out of stack on a circular parent structure, as well (if for some reason something other than the binder is intentionally introducing one), since the visibility logic works fine in the presence of such a structure.

@weswigham weswigham requested a review from mhegazy March 2, 2018 00:22
@weswigham weswigham merged commit 10e3b73 into microsoft:master Mar 2, 2018
@weswigham weswigham deleted the debug-assert-on-parent-rebind branch March 2, 2018 00:49
@microsoft microsoft locked and limited conversation to collaborators Jul 3, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants