Skip to content

Unable to Create VFG after Updating Callgraph with Indirect Callee Targets #1763

@hadi81

Description

@hadi81

I have updated the CallGraph for indirect callee targets as described in #1762.
After updating the callgraph for indirect callees, I made sure to update pag and icfg using builder.updateCallGraph(callgraph) and icfg->updateCallGraph(callgraph).

After this, if I try creating a VFG, it crashes as shown below:

/repos/SVF/svf/include/Graphs/CallGraph.h:381: SVF::CallSiteID SVF::CallGraph::getCallSiteID(const SVF::CallICFGNode*, const SVF::FunObjVar*) const: Assertion it != csToIdMap.end() && "callsite id not found! This maybe a partially resolved callgraph, please check the indCallEdge limit"' failed.
Aborted (core dumped)`

This is failing on following assertion.

inline CallSiteID getCallSiteID(const CallICFGNode* cs, const FunObjVar* callee) const { CallSitePair newCS(std::make_pair(cs, callee)); CallSiteToIdMap::const_iterator it = csToIdMap.find(newCS); assert(it != csToIdMap.end() && "callsite id not found! This maybe a partially resolved callgraph, please check the indCallEdge limit"); return it->second; }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions