SymbolicPathFinder / jpf-symbc

Symbolic PathFinder
https://github.com/SymbolicPathFinder/jpf-symbc
124 stars 89 forks source link

java.lang.AssertionError: can't find caller stackframe for: invokevirtual java.io.InputStream.read([BII)I #66

Open Marvinmw opened 2 years ago

Marvinmw commented 2 years ago

Hi, I set up the environments by the script, https://github.com/SymbolicPathFinder/jpf-symbc/issues/61 . I run the examples, https://github.com/SymbolicPathFinder/jpf-symbc/tree/master/src/examples . It seems that the environment is set up well. However, when I run the code and I get the error, java.lang.AssertionError: can't find caller stackframe for: invokevirtual [java.io.InputStream.read(BII)I

==== Code ===


import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] argv) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        int lines = Integer.parseInt(in.readLine());
        for (int i = 0; i < lines; i++) {
            String s = in.readLine();
            if (s == null) {
                break;
            }
            f(s);
        }
    }

    public static void f(String s) {
        String[] sp = s.split(" ");
        int[] a = {Integer.parseInt(sp[0]),
                   Integer.parseInt(sp[1]),
                   Integer.parseInt(sp[2])};
        Arrays.sort(a);
        System.out.println(Math.pow(a[2], 2) == Math.pow(a[0], 2) + Math.pow(a[1], 2) ? "YES" : "NO");
    }
}  

==== configure file====

target=Main

classpath=${jpf-symbc}/build/examples

sourcepath=${jpf-symbc}/src/examples

#symbolic.method=

symbolic.dp=choco

listener = .symbc.SymbolicListener

vm.storage.class=nil                                                                                                                                   

Best Regards Wei