Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Assertion Failure for WPA in Andersen::heapAllocaorViaIndCall #1548

Closed
dylanjwolff opened this issue Sep 18, 2024 · 2 comments
Closed

Assertion Failure for WPA in Andersen::heapAllocaorViaIndCall #1548

dylanjwolff opened this issue Sep 18, 2024 · 2 comments

Comments

@dylanjwolff
Copy link

I'm getting an assertion failure when running:

wpa -ander -svfg -dump-vfg -stat=false labeled.bc

namely:

wpa: /SVF/svf/include/Graphs/GenericGraph.h:409: SVF::GenericGraph<NodeTy, EdgeTy>::NodeType* SVF::GenericGraph<NodeTy, EdgeTy>::getGNode(SVF::NodeID) const [with NodeTy = SVF::ConstraintNode; EdgeTy = SVF::ConstraintEdge; NodeType = SVF::ConstraintNode; SVF::NodeID = unsigned int]: Assertion `it != IDToNodeMap.end() && "Node not found!"' failed.
Aborted (core dumped)

The .bc file is attached --it's a stress test for sqlite3. It was compiled with wllvm -g (clang-16).

I am using the latest release of SVF (0eae653).

Looks like one of the nodes passed in to addCopyEdge isn't actually in the graph.

labeled.bc.tar.gz

yuleisui added a commit that referenced this issue Sep 18, 2024
@yuleisui
Copy link
Collaborator

Thanks for reporting this. The issue is caused by the optimisation method ConstraintGraph::clearSolitaries(), which removes the return node from an indirect callsite, even though the node is not connected to any other nodes when the constraint graph is initially built. I have just fixed it here fc185be.

@dylanjwolff
Copy link
Author

Thanks! All fixed on my end as well!

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

No branches or pull requests

2 participants