njit-jerse / specimin

SPECIfication MINimizer. A different kind of slicer for Java.
MIT License
0 stars 5 forks source link

specimin crashes for cf-6030 on other target method #221

Closed tahiat closed 3 months ago

tahiat commented 3 months ago

Since the minimized program of cf-6030 does not reproduce the crash stack, I tried changing the target method of DataResolver.java. I am providing the crash stacks for each targets.

Duplicates exists and for details please refer

--targetMethod "org.apache.cassandra.service.reads.DataResolver#resolve(Runnable)"

Task :run FAILED Exception in thread "main" java.lang.RuntimeException: encountered a lambda when the package name was unknown at org.checkerframework.specimin.UnsolvedSymbolVisitor.getArgumentTypesImpl(UnsolvedSymbolVisitor.java:1986) at org.checkerframework.specimin.UnsolvedSymbolVisitor.getArgumentTypesFromMethodCall(UnsolvedSymbolVisitor.java:1927) at org.checkerframework.specimin.UnsolvedSymbolVisitor.declaredInCurrentClass(UnsolvedSymbolVisitor.java:1147) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:901) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:116) at com.github.javaparser.ast.visitor.ModifierVisitor.lambda$visit$79(ModifierVisitor.java:852) at java.base/java.util.Optional.map(Optional.java:260) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:852) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.stmt.ReturnStmt.accept(ReturnStmt.java:78) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1129) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.NodeList.accept(NodeList.java:277) at com.github.javaparser.ast.visitor.ModifierVisitor.modifyList(ModifierVisitor.java:1168) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:169)

--targetMethod "org.apache.cassandra.service.reads.DataResolver#resolveWithReplicaFilteringProtection(E, RepairedDataTracker)"

Configure project : No explicit dependency on the Checker Framework found, using default version 3.42.0

Task :run FAILED Exception in thread "main" java.lang.RuntimeException: encountered a lambda when the package name was unknown at org.checkerframework.specimin.UnsolvedSymbolVisitor.getArgumentTypesImpl(UnsolvedSymbolVisitor.java:1986) at org.checkerframework.specimin.UnsolvedSymbolVisitor.getArgumentTypesFromMethodCall(UnsolvedSymbolVisitor.java:1927) at org.checkerframework.specimin.UnsolvedSymbolVisitor.declaredInCurrentClass(UnsolvedSymbolVisitor.java:1147) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:901) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:116) at com.github.javaparser.ast.visitor.ModifierVisitor.lambda$visit$99(ModifierVisitor.java:1036) at java.base/java.util.Optional.map(Optional.java:260) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1036) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:693) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.body.VariableDeclarator.accept(VariableDeclarator.java:143) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1129) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.NodeList.accept(NodeList.java:277) at com.github.javaparser.ast.visitor.ModifierVisitor.modifyList(ModifierVisitor.java:1168) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1023) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.expr.VariableDeclarationExpr.accept(VariableDeclarationExpr.java:112) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:477) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.stmt.ExpressionStmt.accept(ExpressionStmt.java:71) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1129) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.NodeList.accept(NodeList.java:277)

--targetMethod "org.apache.cassandra.service.reads.DataResolver#wrapMergeListener(UnfilteredPartitionIterators.MergeListener, P, RepairedDataTracker)"

Task :run Exception in thread "main" java.lang.UnsupportedOperationException: TypeVariable {ReflectionTypeParameter{typeVariable=T}} is not a Reference Type at com.github.javaparser.resolution.types.ResolvedType.asReferenceType(ResolvedType.java:142) at com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext.findTypeDeclarations(AbstractJavaParserContext.java:257) at com.github.javaparser.symbolsolver.javaparsermodel.contexts.MethodCallExprContext.solveMethod(MethodCallExprContext.java:166) at com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade.solve(JavaParserFacade.java:324) at com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade.solve(JavaParserFacade.java:186) at com.github.javaparser.symbolsolver.JavaSymbolSolver.resolveDeclaration(JavaSymbolSolver.java:161) at com.github.javaparser.ast.expr.MethodCallExpr.resolve(MethodCallExpr.java:315) at org.checkerframework.specimin.UnsolvedSymbolVisitor.isFromAJarFile(UnsolvedSymbolVisitor.java:1592) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:866) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:116) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:319) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.expr.ConditionalExpr.accept(ConditionalExpr.java:76) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:477) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.stmt.ExpressionStmt.accept(ExpressionStmt.java:71) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1086) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:627) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.LambdaExpr.accept(LambdaExpr.java:162) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1129) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.NodeList.accept(NodeList.java:277)

--targetFile "org/apache/cassandra/service/reads/DataResolver.java"

Task :run Exception in thread "main" java.lang.RuntimeException: Need to check this field access expression with isAnUnsolvedStaticFieldCalledByAQualifiedClassName before using this method at org.checkerframework.specimin.UnsolvedSymbolVisitor.updateClassSetWithQualifiedFieldSignature(UnsolvedSymbolVisitor.java:2640) at org.checkerframework.specimin.UnsolvedSymbolVisitor.updateSyntheticClassWithNonStaticFields(UnsolvedSymbolVisitor.java:1752) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:839) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.FieldAccessExpr.accept(FieldAccessExpr.java:90) at com.github.javaparser.ast.visitor.ModifierVisitor.lambda$visit$58(ModifierVisitor.java:653) at java.base/java.util.Optional.map(Optional.java:260) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:653) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:928) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:116) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:155) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.expr.BinaryExpr.accept(BinaryExpr.java:140) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:477) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.stmt.ExpressionStmt.accept(ExpressionStmt.java:71)

--targetMethod "org.apache.cassandra.service.reads.DataResolver#resolveInternal(ResolveContext, UnfilteredPartitionIterators.MergeListener, ResponseProvider, UnaryOperator<PartitionIterator>)"

Task :run Exception in thread "main" java.lang.UnsupportedOperationException: Unable to get the resolved type of class ResolvedReferenceType from V at com.github.javaparser.symbolsolver.JavaSymbolSolver.toResolvedType(JavaSymbolSolver.java:286) at com.github.javaparser.ast.type.ClassOrInterfaceType.resolve(ClassOrInterfaceType.java:315) at org.checkerframework.specimin.PrunerVisitor.getUsedTypesOnly(PrunerVisitor.java:448) at org.checkerframework.specimin.PrunerVisitor.minimizeTypeParameters(PrunerVisitor.java:430) at org.checkerframework.specimin.PrunerVisitor.visit(PrunerVisitor.java:189) at org.checkerframework.specimin.PrunerVisitor.visit(PrunerVisitor.java:45) at com.github.javaparser.ast.body.ClassOrInterfaceDeclaration.accept(ClassOrInterfaceDeclaration.java:92) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1129) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.NodeList.accept(NodeList.java:277)

--targetMethod "org.apache.cassandra.service.reads.DataResolver#resolveWithReadRepair(ResolveContext, ResponseProvider, UnaryOperator<PartitionIterator>, RepairedDataTracker)"

Configure project : No explicit dependency on the Checker Framework found, using default version 3.42.0

Task :run Exception in thread "main" java.lang.UnsupportedOperationException: TypeVariable {JPTypeParameter(P, bounds=[ReplicaPlan.ForRead<E, P>])} is not a Reference Type at com.github.javaparser.resolution.types.ResolvedType.asReferenceType(ResolvedType.java:142) at com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext.findTypeDeclarations(AbstractJavaParserContext.java:230) at com.github.javaparser.symbolsolver.javaparsermodel.contexts.MethodCallExprContext.solveMethod(MethodCallExprContext.java:166) at com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade.solve(JavaParserFacade.java:324) at com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade.solve(JavaParserFacade.java:186) at com.github.javaparser.symbolsolver.JavaSymbolSolver.resolveDeclaration(JavaSymbolSolver.java:161) at com.github.javaparser.ast.expr.MethodCallExpr.resolve(MethodCallExpr.java:315) at org.checkerframework.specimin.UnsolvedSymbolVisitor.isFromAJarFile(UnsolvedSymbolVisitor.java:1592) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:866) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:116) at com.github.javaparser.ast.visitor.ModifierVisitor.lambda$visit$99(ModifierVisitor.java:1036) at java.base/java.util.Optional.map(Optional.java:260) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1036) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:693) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.body.VariableDeclarator.accept(VariableDeclarator.java:143) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1129) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.NodeList.accept(NodeList.java:277)

Configure project : No explicit dependency on the Checker Framework found, using default version 3.42.0

Task :run Exception in thread "main" java.lang.UnsupportedOperationException: TypeVariable {JPTypeParameter(P, bounds=[ReplicaPlan.ForRead<E, P>])} is not a Reference Type at com.github.javaparser.resolution.types.ResolvedType.asReferenceType(ResolvedType.java:142) at com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext.findTypeDeclarations(AbstractJavaParserContext.java:230) at com.github.javaparser.symbolsolver.javaparsermodel.contexts.MethodCallExprContext.solveMethod(MethodCallExprContext.java:166) at com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade.solve(JavaParserFacade.java:324) at com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade.solve(JavaParserFacade.java:186) at com.github.javaparser.symbolsolver.JavaSymbolSolver.resolveDeclaration(JavaSymbolSolver.java:161) at com.github.javaparser.ast.expr.MethodCallExpr.resolve(MethodCallExpr.java:315) at org.checkerframework.specimin.UnsolvedSymbolVisitor.isFromAJarFile(UnsolvedSymbolVisitor.java:1592) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:866) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:116) at com.github.javaparser.ast.visitor.ModifierVisitor.lambda$visit$99(ModifierVisitor.java:1036) at java.base/java.util.Optional.map(Optional.java:260) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1036) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:693) at org.checkerframework.specimin.UnsolvedSymbolVisitor.visit(UnsolvedSymbolVisitor.java:83) at com.github.javaparser.ast.body.VariableDeclarator.accept(VariableDeclarator.java:143) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:1129) at com.github.javaparser.ast.visitor.ModifierVisitor.visit(ModifierVisitor.java:51) at com.github.javaparser.ast.NodeList.accept(NodeList.java:277)

kelloggm commented 3 months ago

See https://github.com/kelloggm/specimin/pull/244