njit-jerse / specimin

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

specimin crashes in java parser for cf-3020 #222

Closed tahiat closed 6 months ago

tahiat commented 6 months ago

Issue link cf-3020 actual code

The linked source code in the issue does not reproduce the bug. This should generate the bug (with small modification). However, specimin crashes in javaparser when minimizing. command: ./gradlew run --args='--outputDirectory "/Users/tahiatul/Documents/test/NULLNESS/output" --root "/Users/tahiatul/Documents/test/NULLNESS/guava/guava/src/" --targetFile "com/google/common/util/concurrent/FuturesGetChecked.java" --targetMethod "com.google.common.util.concurrent.FuturesGetChecked.GetCheckedTypeValidatorHolder#getBestValidator()"'

stack traces:

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

> Task :run
Exception in thread "main" com.github.javaparser.ParseProblemException: (line 4,col 73) Parse error. Found "?", expected one of  ")" "@" "abstract" "boolean" "byte" "char" "default" "double" "enum" "exports" "final" "float" "int" "long" "module" "native" "open" "opens" "private" "protected" "provides" "public" "record" "requires" "short" "static" "strictfp" "synchronized" "to" "transient" "transitive" "uses" "volatile" "with" "yield" <IDENTIFIER>
Problem stacktrace : 
  com.github.javaparser.GeneratedJavaParser.generateParseException(GeneratedJavaParser.java:13708)
  com.github.javaparser.GeneratedJavaParser.jj_consume_token(GeneratedJavaParser.java:13554)
  com.github.javaparser.GeneratedJavaParser.Parameters(GeneratedJavaParser.java:2236)
  com.github.javaparser.GeneratedJavaParser.MethodDeclaration(GeneratedJavaParser.java:2026)
  com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceBodyDeclaration(GeneratedJavaParser.java:1669)
  com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceBody(GeneratedJavaParser.java:1183)
  com.github.javaparser.GeneratedJavaParser.ClassOrInterfaceDeclaration(GeneratedJavaParser.java:500)
  com.github.javaparser.GeneratedJavaParser.CompilationUnit(GeneratedJavaParser.java:152)
  com.github.javaparser.JavaParser.parse(JavaParser.java:123)
  com.github.javaparser.JavaParser.parse(JavaParser.java:232)
  com.github.javaparser.StaticJavaParser.parse(StaticJavaParser.java:167)
  org.checkerframework.specimin.SpeciminRunner.parseJavaFile(SpeciminRunner.java:473)
  org.checkerframework.specimin.SpeciminRunner.performMinimization(SpeciminRunner.java:293)
  org.checkerframework.specimin.SpeciminRunner.main(SpeciminRunner.java:77)

        at com.github.javaparser.StaticJavaParser.handleResult(StaticJavaParser.java:270)
        at com.github.javaparser.StaticJavaParser.parse(StaticJavaParser.java:167)
        at org.checkerframework.specimin.SpeciminRunner.parseJavaFile(SpeciminRunner.java:473)
        at org.checkerframework.specimin.SpeciminRunner.performMinimization(SpeciminRunner.java:293)
        at org.checkerframework.specimin.SpeciminRunner.main(SpeciminRunner.java:77)

> Task :run FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':run'.
> Process 'command '/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
LoiNguyenCS commented 6 months ago

Hello @tahiat,

So is this the input source code that we need to look into?

tahiat commented 6 months ago

@LoiNguyenCS YES. branch

LoiNguyenCS commented 6 months ago

sorry, this is confusing. So which branch are we interested in?

LoiNguyenCS commented 6 months ago

It should be resolved by #223

LoiNguyenCS commented 6 months ago

Resolved by #223