Skip to content

Conversation

@agle
Copy link
Contributor

@agle agle commented Sep 23, 2025

Attempts to fix crashes seen in SVA when exprs evaluate to top in the abstract domain and calling toOffsets, e.g. in cntlm-O3 https://github.com/agle/basilbench/tree/main/cntlm-noduk

./mill run -i ../tvbins/cntlm-noduk/cntlm-noduk.gts --lifter --dump-il cntlm --simplify --dsa=

Just joins a Constant -> top to the symvalset domain if adding a top constant, theoretically with split-globals it should probably also map all the global bases to top since they could alias? Regardless the assertion should be enough to justify keeping them separate.

Copy link
Member

@katrinafyi katrinafyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks reasonable. does using withDefaultValue cause any problems? an alternative would be using LatticeMap.TopMap.

@agle
Copy link
Contributor Author

agle commented Oct 1, 2025

I dont think it actually uses the top value anymore, I think i should be able to replace line 266 with ???, as it was previously. It doesn't really make sense to have a top value of the the map of symbolic bases. But yeah map.withDefaultValue would cause problems, its horrendous, but topMap would probably require a really annnoying refactor.

@katrinafyi katrinafyi merged commit 178a9c4 into main Nov 4, 2025
12 checks passed
@katrinafyi katrinafyi deleted the sva-top branch November 4, 2025 04:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants