0

I'm scanning our software every night and saving to an external Neo4J database. In one Maven module, I get a lot of errors like this:

 [WARNING] Cannot scan class '/foo/bar/util/dao/crud/Readers.class'.
 java.lang.ClassCastException: com.sun.proxy.$Proxy134 cannot be cast to com.buschmais.jqassistant.plugin.java.api.model.generics.TypeVariableDescriptor
     at com.sun.proxy.$Proxy151.resolveTypeParameter (Unknown Source)
     at com.buschmais.jqassistant.plugin.java.impl.scanner.visitor.generics.AbstractGenericDeclarationVisitor.visitFormalTypeParameter (AbstractGenericDeclarationVisitor.java:39)
     at org.objectweb.asm.signature.SignatureReader.accept (SignatureReader.java:79)
     at com.buschmais.jqassistant.plugin.java.impl.scanner.visitor.ClassVisitor.visitMethod (ClassVisitor.java:128)
     at com.buschmais.jqassistant.plugin.java.impl.scanner.visitor.ClassVisitor.visitMethod (ClassVisitor.java:20)
     at org.objectweb.asm.ClassReader.readMethod (ClassReader.java:1330)
     at org.objectweb.asm.ClassReader.accept (ClassReader.java:721)
     at org.objectweb.asm.ClassReader.accept (ClassReader.java:401)
     at com.buschmais.jqassistant.plugin.java.impl.scanner.ClassFileScannerPlugin.lambda$scan$0 (ClassFileScannerPlugin.java:66)
     at com.buschmais.jqassistant.plugin.common.api.scanner.MD5DigestDelegate.digest (MD5DigestDelegate.java:79)
     at com.buschmais.jqassistant.plugin.java.impl.scanner.ClassFileScannerPlugin.scan (ClassFileScannerPlugin.java:65)
     at com.buschmais.jqassistant.plugin.java.impl.scanner.ClassFileScannerPlugin.scan (ClassFileScannerPlugin.java:27)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:120)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:84)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:59)
     at com.buschmais.jqassistant.plugin.common.api.scanner.AbstractContainerScannerPlugin.scan (AbstractContainerScannerPlugin.java:53)
     at com.buschmais.jqassistant.plugin.common.api.scanner.AbstractContainerScannerPlugin.scan (AbstractContainerScannerPlugin.java:29)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:120)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:84)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:59)
     at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanFile (MavenProjectScannerPlugin.java:413)
     at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanArtifact (MavenProjectScannerPlugin.java:363)
     at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scanClassesDirectory (MavenProjectScannerPlugin.java:338)
     at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scan (MavenProjectScannerPlugin.java:129)
     at com.buschmais.jqassistant.plugin.maven3.impl.scanner.MavenProjectScannerPlugin.scan (MavenProjectScannerPlugin.java:57)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:120)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:80)
     at com.buschmais.jqassistant.core.scanner.impl.ScannerImpl.scan (ScannerImpl.java:59)
     at com.buschmais.jqassistant.scm.maven.ScanMojo.execute (ScanMojo.java:110)
     at com.buschmais.jqassistant.scm.maven.AbstractModuleMojo$1.run (AbstractModuleMojo.java:21)
     at com.buschmais.jqassistant.scm.maven.AbstractMojo.execute (AbstractMojo.java:398)
     at com.buschmais.jqassistant.scm.maven.AbstractModuleMojo.execute (AbstractModuleMojo.java:24)
    ...

Does anyone have a clue what's going wrong? Thanks!

eerriicc
  • 1,124
  • 4
  • 17
  • 29
  • Assuming that the scan happens on an empty database/store this is very likely a bug. It happens while building up the generic method signature, more specific the declarations of type parameters for a method. Questions: 1. Is this reproducible using an embedded database? 2. Could you provide the Readers class for reproducing the issue (only method signatures with type parameters are relevant)? – Dirk Mahler Sep 15 '21 at 19:48
  • Yes, the database is cleaned every night before scanning. The error sometimes happens and sometimes doesn't... I'll have to see what the difference is. As for 1 and 2, I'll gladly do this, but I'm away till the 20th, I'll continue then - thanks! – eerriicc Sep 16 '21 at 06:38
  • I checked the scans of the last few days, but the error didn't occur anymore. I could nonetheless send you the Readers class if you want to. – eerriicc Sep 22 '21 at 12:05
  • The error occured again this night. Apparently, if the error occurs, it occurs on several classes, not just one. I scanned the same Maven project locally using the embedded Neo4J database, but the error doesn't occur. – eerriicc Sep 23 '21 at 11:23

0 Answers0