vertx-codegen icon indicating copy to clipboard operation
vertx-codegen copied to clipboard

Processor yield NPE under some circonstancies

Open ngmip opened this issue 4 years ago • 4 comments

Questions

When using IntelliJ > 2020.2.4 the build fails with NPE in the CodeGenProcessor. This sound very much like an intelliJ issue however their investigation seem to aim for a lack of robustness in some processor implementations. Here is the ticket I filled in at IntelliJ' support : https://youtrack.jetbrains.com/issue/IDEA-258659 This other ticket may be of interest too: https://youtrack.jetbrains.com/issue/IDEA-257871

Version 3.5.3

Context

Problem ocurred while uprading from IntelliJ 2020.2.4 to 2020.3

Do you have a reproducer?

The following sample project builds againts intelliJ 2020.2.4 and not against 2020.3

  • https://github.com/ngmip/IDEA-258659

Steps to reproduce

  1. clone repo
  2. build -> rebuild project

Extra

  • windows 10 pro
  • oracle jdk8u201
  • For those who are looking for a workround, in the link I provided above, they explained how to configure the -Djps.track.ap.dependencies=false flag, this worked for me.

ngmip avatar Dec 31 '20 08:12 ngmip

I don't know the internals of the Vert.x code generator. However, I can give my insight as a maintainer of another Annotation Processor that had same problems with IDEA 2020.3. I think that the most relevant issue is IDEA-250718. It talks about MapStruct, but the concepts are the same.

filiphr avatar Dec 31 '20 09:12 filiphr

Can you paste the NPE you observed in this issue ?

vietj avatar Feb 23 '21 09:02 vietj

I could not find a way to get the stacktrace. IntelliJ just yield the message :

C:_JAVA\IDEA-258659\src\main\java\com\tmgateway\message\api\proxy\IncomingMessageService.java:16:8 java: Could not generate element for com.tmgateway.message.api.proxy.IncomingMessageService: null

I tried to increase the log level of intelliJ and checked the build.log file but the exception is not visible there :-/

ngmip avatar Feb 24 '21 08:02 ngmip

I think I found many (or all) NPE points in the GenCode. I added two commits in #325

cvgaviao avatar Mar 19 '21 19:03 cvgaviao