eclipse-vertx / vertx-codegen

Vert.x code generator for asynchronous polyglot APIs
Apache License 2.0
105 stars 92 forks source link

Processor yield NPE under some circonstancies #320

Open ngmip opened 3 years ago

ngmip commented 3 years ago

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

Steps to reproduce

  1. clone repo
  2. build -> rebuild project

Extra

filiphr commented 3 years ago

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.

vietj commented 3 years ago

Can you paste the NPE you observed in this issue ?

ngmip commented 3 years ago

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 :-/

cvgaviao commented 3 years ago

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