joern icon indicating copy to clipboard operation
joern copied to clipboard

[Bug] Unsolved symbol error java.lang.String with javasrc frontend

Open prabhu opened this issue 2 years ago • 1 comments

Describe the bug I have a VM where this can be replicated for all java projects with joern-parse and importCode on the shell.

Below is a stack trace.

2023-09-01 17:11:09.577 ERROR AstCreator: Unsolved symbol exception caught in src/main/java/com/example/vulnspring/WebController.java
2023-09-01 17:11:09.581 ERROR AstCreator: Caused by io.joern.javasrc2cpg.typesolvers.SimpleCombinedTypeSolver.solveType(SimpleCombinedTypeSolver.scala:82)
com.github.javaparser.symbolsolver.javaparsermodel.TypeExtractor.lambda$new$0(TypeExtractor.java:79)
com.github.javaparser.resolution.model.typesystem.LazyType.getType(LazyType.java:40)
com.github.javaparser.resolution.model.typesystem.LazyType.isReferenceType(LazyType.java:72)
io.joern.javasrc2cpg.typesolvers.TypeInfoCalculator.nameOrFullName(TypeInfoCalculator.scala:74)
io.joern.javasrc2cpg.typesolvers.TypeInfoCalculator.fullName(TypeInfoCalculator.scala:35)
io.joern.javasrc2cpg.passes.AstCreator.expressionReturnTypeFullName(AstCreator.scala:941)
io.joern.javasrc2cpg.passes.AstCreator.astForLiteralExpr(AstCreator.scala:2970)
io.joern.javasrc2cpg.passes.AstCreator.astsForExpression(AstCreator.scala:2543)
io.joern.javasrc2cpg.passes.AstCreator.$anonfun$229(AstCreator.scala:3048)
scala.collection.StrictOptimizedIterableOps.flatMap(StrictOptimizedIterableOps.scala:118)
scala.collection.StrictOptimizedIterableOps.flatMap$(StrictOptimizedIterableOps.scala:105)
scala.collection.mutable.ArrayBuffer.flatMap(ArrayBuffer.scala:43)
io.joern.javasrc2cpg.passes.AstCreator.argAstsForCall(AstCreator.scala:3049)
io.joern.javasrc2cpg.passes.AstCreator.astForMethodCall(AstCreator.scala:3082)
io.joern.javasrc2cpg.passes.AstCreator.astsForExpression(AstCreator.scala:2544)
io.joern.javasrc2cpg.passes.AstCreator.astsForStatement(AstCreator.scala:1184)
io.joern.javasrc2cpg.passes.AstCreator.$anonfun$100(AstCreator.scala:1788)
scala.collection.StrictOptimizedIterableOps.flatMap(StrictOptimizedIterableOps.scala:118)
scala.collection.StrictOptimizedIterableOps.flatMap$(StrictOptimizedIterableOps.scala:105)

To Reproduce Steps to reproduce the behavior: Only happens on certain VMs so far. I can reproduce this on a powerpc VM. This bug is not due to the CPU architecture but the symbol solver relying on specific jdk jars for primitive types.

Expected behavior jdk symbol solver should work primitive types without relying on jdk jars.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS - powerpc so far.
  • Joern Version latest
  • Java version 20.0.2

Additional context Add any other context about the problem here.

prabhu avatar Sep 01 '23 17:09 prabhu

I also encountered the same error.

UnsolvedSymbolException{context='null', name='java.lang.String', cause='null'}

Desktop (please complete the following information):

OS - centos7.9. Joern Version latest Java version 17.0.6

cyw3 avatar Nov 02 '23 02:11 cyw3