SMG-LDV: unexpected level=0 object during list materialization
The following command results in a crash on smg-master branch:
scripts/cpa.sh -smg-ldv test/programs/benchmarks/memsafety/test-0236.i
Analysis with -smg
results in timeout.
The problem seems to be level=0 object reached unexpectedly during list materialization, but I didn't really look into it.
See full trace
Exception in thread "main" java.lang.AssertionError
at org.sosy_lab.cpachecker.cpa.smg.SMGState.copyObjectAndNodesIntoDestSMG(SMGState.java:1068)
at org.sosy_lab.cpachecker.cpa.smg.SMGState.copyRestrictedSubSmgToObject(SMGState.java:1041)
at org.sosy_lab.cpachecker.cpa.smg.SMGState.materialiseSll(SMGState.java:706)
at org.sosy_lab.cpachecker.cpa.smg.SMGState.handleMaterilisation(SMGState.java:512)
at org.sosy_lab.cpachecker.cpa.smg.SMGState.getPointerFromValue(SMGState.java:485)
at org.sosy_lab.cpachecker.cpa.smg.evaluator.SMGExpressionEvaluator.getAddressFromSymbolicValue(SMGExpressionEvaluator.java:744)
at org.sosy_lab.cpachecker.cpa.smg.evaluator.SMGExpressionEvaluator.getAddressFromSymbolicValues(SMGExpressionEvaluator.java:695)
at org.sosy_lab.cpachecker.cpa.smg.evaluator.PointerVisitor.visit(PointerVisitor.java:312)
at org.sosy_lab.cpachecker.cpa.smg.evaluator.PointerVisitor.visit(PointerVisitor.java:56)
at org.sosy_lab.cpachecker.cfa.ast.c.CFieldReference.accept(CFieldReference.java:125)
at org.sosy_lab.cpachecker.cpa.smg.evaluator.SMGExpressionEvaluator.evaluateAddress(SMGExpressionEvaluator.java:481)
at org.sosy_lab.cpachecker.cpa.smg.evaluator.SMGExpressionEvaluator.evaluateExpressionValue(SMGExpressionEvaluator.java:432)
at org.sosy_lab.cpachecker.cpa.smg.SMGTransferRelation.readValueToBeAssiged(SMGTransferRelation.java:830)
at org.sosy_lab.cpachecker.cpa.smg.SMGTransferRelation.evaluateArgumentValue(SMGTransferRelation.java:444)
at org.sosy_lab.cpachecker.cpa.smg.SMGTransferRelation.evaluateArgumentValues(SMGTransferRelation.java:422)
at org.sosy_lab.cpachecker.cpa.smg.SMGTransferRelation.handleFunctionCallEdge(SMGTransferRelation.java:338)
at org.sosy_lab.cpachecker.cpa.smg.SMGTransferRelation.handleFunctionCallEdge(SMGTransferRelation.java:112)
at org.sosy_lab.cpachecker.core.defaults.ForwardingTransferRelation.handleFunctionCallEdge(ForwardingTransferRelation.java:319)
at org.sosy_lab.cpachecker.core.defaults.ForwardingTransferRelation.getAbstractSuccessorsForEdge(ForwardingTransferRelation.java:169)
at org.sosy_lab.cpachecker.cpa.composite.CompositeTransferRelation.callTransferRelation(CompositeTransferRelation.java:297)
at org.sosy_lab.cpachecker.cpa.composite.CompositeTransferRelation.getAbstractSuccessorForSimpleEdge(CompositeTransferRelation.java:264)
at org.sosy_lab.cpachecker.cpa.composite.CompositeTransferRelation.getAbstractSuccessorForEdge(CompositeTransferRelation.java:196)
at org.sosy_lab.cpachecker.cpa.composite.CompositeTransferRelation.getAbstractSuccessors(CompositeTransferRelation.java:88)
at org.sosy_lab.cpachecker.cpa.arg.ARGTransferRelation.getAbstractSuccessors(ARGTransferRelation.java:45)
at org.sosy_lab.cpachecker.core.algorithm.CPAAlgorithm.handleState(CPAAlgorithm.java:334)
at org.sosy_lab.cpachecker.core.algorithm.CPAAlgorithm.run0(CPAAlgorithm.java:289)
at org.sosy_lab.cpachecker.core.algorithm.CPAAlgorithm.run(CPAAlgorithm.java:260)
at org.sosy_lab.cpachecker.core.algorithm.CounterexampleStoreAlgorithm.run(CounterexampleStoreAlgorithm.java:58)
at org.sosy_lab.cpachecker.core.CPAchecker.runAlgorithm(CPAchecker.java:512)
at org.sosy_lab.cpachecker.core.CPAchecker.run(CPAchecker.java:377)
at org.sosy_lab.cpachecker.cmdline.CPAMain.main(CPAMain.java:170)
Edited by Петров Олег Максимович