secure-software-engineering / FlowDroid

FlowDroid Static Data Flow Tracker
GNU Lesser General Public License v2.1
1.02k stars 292 forks source link

NoSuchMethod Error when build flowdroid with mvn install -DskipTests=false #665

Closed bay0max closed 8 months ago

bay0max commented 8 months ago

`

[ERROR] Tests run: 18, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.745 s <<< FAILURE! -- in soot.jimple.infoflow.android.test.droidBench.backward.InterComponentCommunicationTest [ERROR] soot.jimple.infoflow.android.test.droidBench.backward.InterComponentCommunicationTest.runTestActivityCommunication5 -- Time elapsed: 0.089 s <<< ERROR! java.lang.NoSuchMethodError: java.nio.CharBuffer.flip()Ljava/nio/CharBuffer; at com.google.protobuf.TextFormat$Parser.toStringBuilder(TextFormat.java:1720) at com.google.protobuf.TextFormat$Parser.merge(TextFormat.java:1704) at com.google.protobuf.TextFormat$Parser.merge(TextFormat.java:1676) at com.google.protobuf.TextFormat.merge(TextFormat.java:1470) at soot.jimple.infoflow.android.iccta.Ic3ResultLoader.load(Ic3ResultLoader.java:33) at soot.jimple.infoflow.android.iccta.Ic3Provider.getIccLinks(Ic3Provider.java:31) at soot.jimple.infoflow.android.iccta.IccInstrumenter.onBeforeCallgraphConstruction(IccInstrumenter.java:64) at soot.jimple.infoflow.android.SetupApplication.constructCallgraphInternal(SetupApplication.java:617) at soot.jimple.infoflow.android.SetupApplication.calculateCallbackMethods(SetupApplication.java:752) at soot.jimple.infoflow.android.SetupApplication.calculateCallbacks(SetupApplication.java:536) at soot.jimple.infoflow.android.SetupApplication.calculateCallbacks(SetupApplication.java:483) at soot.jimple.infoflow.android.SetupApplication.processEntryPoint(SetupApplication.java:1574) at soot.jimple.infoflow.android.SetupApplication.runInfoflow(SetupApplication.java:1540) at soot.jimple.infoflow.android.SetupApplication.runInfoflow(SetupApplication.java:1487) at soot.jimple.infoflow.android.SetupApplication.runInfoflow(SetupApplication.java:1452) at soot.jimple.infoflow.android.test.droidBench.JUnitTests.analyzeAPKFile(JUnitTests.java:165) at soot.jimple.infoflow.android.test.droidBench.JUnitTests.analyzeAPKFile(JUnitTests.java:62) at soot.jimple.infoflow.android.test.droidBench.InterComponentCommunicationTest.runTestActivityCommunication5(InterComponentCommunicationTest.java:66) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:299) at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:293) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.lang.Thread.run(Thread.java:750)

[INFO] [INFO] Results: [INFO] [ERROR] Errors: [ERROR] InterComponentCommunicationTest>InterComponentCommunicationTest.runTestActivityCommunication5:66->JUnitTests.analyzeAPKFile:62->JUnitTests.analyzeAPKFile:165 » NoSuchMethod java.nio.CharBuffer.flip()Ljava/nio/CharBuffer; [ERROR] InterComponentCommunicationTest>InterComponentCommunicationTest.runTestActivityCommunication5:66->JUnitTests.analyzeAPKFile:62->JUnitTests.analyzeAPKFile:165 » NoSuchMethod java.nio.CharBuffer.flip()Ljava/nio/CharBuffer; [INFO] [ERROR] Tests run: 355, Failures: 0, Errors: 2, Skipped: 8

`

StevenArzt commented 8 months ago

With which Java version are you trying to build FlowDroid? Our reference build currently runs on Java 14. We should probably update our build system at some point.

bay0max commented 8 months ago

With which Java version are you trying to build FlowDroid? Our reference build currently runs on Java 14. We should probably update our build system at some point.

I think this error is probably caused by the incompatibility of my current java version and flowdroid

$java --version
openjdk 17.0.8.1 2023-08-24
OpenJDK Runtime Environment (build 17.0.8.1+1-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 17.0.8.1+1-Ubuntu-0ubuntu120.04, mixed mode, sharing)