RFR: [8218152] javac fails and exits with no error if a bad annotation processor is on the classpath

Steve Groeger GROEGES at uk.ibm.com
Fri Apr 12 10:37:48 UTC 2019


Hi Jan, 

I didn't know that the 
/home/jlahoda/src/jdk/jdk/test/langtools/tools/javac/diags/CheckExamples.java 
test is effected by updates to the diagnostic messages. So thatnks for 
letting me know. I ran this test and it did fail as you expected. Have 
added the message to the 
test/langtools/tools/javac/diags/examples.not-yet.txt files, as that was 
where the others were.

I can't run the tests via: 
https://wiki.openjdk.java.net/display/Build/Submit+Repo as I dont have 
authority (i'm not a committer)
I have run the test/langtools tests with and without my chnages and the 
test results are the same, so I can assume that my changes havent broken 
anything.

I made the similar changes on jdk8u to the examples.not-yet.txt file but 
the CheckExamples.java fails anyway, even without my changes, but making 
that chnage give it one less error.

I have updated the webrevs for jdk [1] and for jdk8u [2]

Will follow the jdk8u update process that you mentioned to get those 
changes updated, but anything you can do for jdk would be great. Thanks 

[1] http://cr.openjdk.java.net/~sgroeger/8218152/jdk/webrev.04/
[2] http://cr.openjdk.java.net/~sgroeger/8218152/jdk8u/webrev.04/

Thanks
Steve Groeger
IBM Runtime Technologies
Hursley, Winchester
Tel: (44) 1962 816911  Mobex: 279990  Mobile: 07718 517 129
Fax (44) 1962 816800
Lotus Notes: Steve Groeger/UK/IBM
Internet: groeges at uk.ibm.com

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



From:   Jan Lahoda <jan.lahoda at oracle.com>
To:     Steve Groeger <GROEGES at uk.ibm.com>
Cc:     compiler-dev at openjdk.java.net
Date:   10/04/2019 16:13
Subject:        Re: RFR: [8218152] javac fails and exits with no error if 
a bad annotation processor is on the classpath



Hi Steve,

One more question - do tests pass with this patch, at least the 
test/langtools tests, or jdk/submit?
https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.openjdk.java.net_display_Build_Submit-2BRepo&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=78GW2OHz7nNTH2dBkTx7-TKh2QCt3JD3zukzeUO8RpA&m=kS7bRBMBIrkh29UWtS9hJyM79QP8OAILH2GKfFdP4lU&s=wurqI5Tc-EX4GeOF4yLhxMOq6W_iM0cxglGVYpB8Ytw&e=


(adding new diagnostic messages often need adjustments to
/home/jlahoda/src/jdk/jdk/test/langtools/tools/javac/diags/CheckExamples.java
)

Regarding JDK 8 updates, please note there's a separate for that:
https://urldefense.proofpoint.com/v2/url?u=https-3A__wiki.openjdk.java.net_display_jdk8u_Main&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=78GW2OHz7nNTH2dBkTx7-TKh2QCt3JD3zukzeUO8RpA&m=kS7bRBMBIrkh29UWtS9hJyM79QP8OAILH2GKfFdP4lU&s=a9N0U_jzcIhnwt02JUvN9FP68zto4FFTSPnOESsvhKQ&e=


Jan

On 10. 04. 19 14:43, Steve Groeger wrote:
> Hi Jan,
> 
> I have made the change to throw the same error as when we get the 
> ServiceConfigurationError and removed the call the FatalError.
> I have created 2 new webrevs for jdk [1] and for jdk8u [2].
> Hopefully these are now OK and in a suitable state to be able to be 
> re-reviewed and then merged.
> If there is anything else that is needed please do not hesitate to 
> contact me.
> 
> [1] _
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Esgroeger_8218152_jdk_webrev.03_-5F&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=78GW2OHz7nNTH2dBkTx7-TKh2QCt3JD3zukzeUO8RpA&m=kS7bRBMBIrkh29UWtS9hJyM79QP8OAILH2GKfFdP4lU&s=D83AAoEQGJUJOeXsRXAbmxrWWmxw6FtNZZoLAI3z-sk&e=

> [2] _
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Esgroeger_8218152_jdk8u_webrev.03_-5F&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=78GW2OHz7nNTH2dBkTx7-TKh2QCt3JD3zukzeUO8RpA&m=kS7bRBMBIrkh29UWtS9hJyM79QP8OAILH2GKfFdP4lU&s=nku78uykKmH2ul44jJ7nWGywUXnZJkzhLGWShf2K6fY&e=

> 
> Thanks
> Steve Groeger
> IBM Runtime Technologies
> Hursley, Winchester
> Tel: (44) 1962 816911  Mobex: 279990  Mobile: 07718 517 129
> Fax (44) 1962 816800
> Lotus Notes: Steve Groeger/UK/IBM
> Internet: groeges at uk.ibm.com
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 

> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU
> 
> 
> 
> From: Steve Groeger <GROEGES at uk.ibm.com>
> To: Jan Lahoda <jan.lahoda at oracle.com>
> Cc: compiler-dev at openjdk.java.net
> Date: 10/04/2019 10:59
> Subject: Re: RFR: [8218152] javac fails and exits with no error if a bad 

> annotation processor is on the classpath
> Sent by: "compiler-dev" <compiler-dev-bounces at openjdk.java.net>
> ------------------------------------------------------------------------
> 
> 
> 
> Hi Jan,
> 
> Thanks for responding.
> 
> I don't think you are missing anything with regards to the use of this:
>>     public FatalError(JCDiagnostic d, Throwable t) {}
> 
> I think that was me missing the fact this would cause NPE and mask the 
> actual issue.
> 
> I will probably go with your original suggestion:
>> Would there be an issue with simply changing the "catch 
>> (Throwable)" to also report the same error as
>> "catch (ServiceConfigurationError)"?
> 
> Will make these changes and generate some new webrevs for this and post 
> again when they are available.
> 
> Thanks
> Steve Groeger
> IBM Runtime Technologies
> Hursley, Winchester
> Tel: (44) 1962 816911  Mobex: 279990  Mobile: 07718 517 129
> Fax (44) 1962 816800
> Lotus Notes: Steve Groeger/UK/IBM
> Internet: groeges at uk.ibm.com
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 

> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU
> 
> 
> 
> From: Jan Lahoda <jan.lahoda at oracle.com>
> To: Steve Groeger <GROEGES at uk.ibm.com>
> Cc: compiler-dev at openjdk.java.net, Jonathan Gibbons 
> <jonathan.gibbons at oracle.com>
> Date: 10/04/2019 09:51
> Subject: Re: RFR: [8218152] javac fails and exits with no error if a bad 

> annotation processor is on the classpath
> ------------------------------------------------------------------------
> 
> 
> 
> Hi Steve,
> 
> I apologize for a late reply. For the FatalError, seems that this
> constructor is being called there:
>     public FatalError(JCDiagnostic d, Throwable t) {
>         super(d.toString(), t);
>     }
> 
> with "d == null". That, I think, will lead to an immediate NPE, which I
> don't think is desirable, as it will hide the actual exception that was
> thrown. Or do I miss something?
> 
> Thanks,
>     Jan
> 
> On 09. 04. 19 11:02, Steve Groeger wrote:
>> Hi Jan,
>> 
>> I sent the post below about a month ago but didn't get a response  from
>> you as to the review of the new webrevs.
>> Not sure whether you got it or not but I would be grateful if you could
>> take a look at these webrevs and let me know whether they are OK now.
>> If they are OK, please let me know the next steps needed to get these
>> merged into the code base.
>> 
>> Thanks
>> Steve Groeger
>> IBM Runtime Technologies
>> Hursley, Winchester
>> Tel: (44) 1962 816911  Mobex: 279990  Mobile: 07718 517  129
>> Fax (44) 1962 816800
>> Lotus Notes: Steve Groeger/UK/IBM
>> Internet: groeges at uk.ibm.com
>> 
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with 
number
>> 741598.
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire  PO6 
3AU
>> 
>> 
>> 
>> From: Steve Groeger <GROEGES at uk.ibm.com>
>> To: Jan Lahoda <jan.lahoda at oracle.com>
>> Cc: compiler-dev at openjdk.java.net
>> Date: 07/03/2019 09:57
>> Subject: Re: RFR: [8218152] javac fails and exits with no error if  a 
bad
>> annotation processor is on the classpath
>> Sent by: "compiler-dev" <compiler-dev-bounces at openjdk.java.net>
>> 
------------------------------------------------------------------------
>> 
>> 
>> 
>> Hi Jan,
>> 
>> Thanks for providing a possible test for the malformed Annotation 
Processor.
>> I have taken the code you provided and tweaked it a bit (for jdk)  and
>> had to
>> write a similar thing for jdk8u as some of the functionality in the 
test
>> is not
>> available in the same form in jdk8u (well, not that I could find!!!)
>> 
>> I would be grateful if you could review to code in the new webrevs.
>> _
>> ___
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Esgroeger_8218152_jdk_webrev.02_-5F-5F-5F&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=78GW2OHz7nNTH2dBkTx7-TKh2QCt3JD3zukzeUO8RpA&m=kS7bRBMBIrkh29UWtS9hJyM79QP8OAILH2GKfFdP4lU&s=w22WxhlERvQVGCduF_Db7LLuKto_J4qkxJ76EMCimog&e=

>> ___
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Esgroeger_8218152_jdk8u_webrev.02_-5F-5F&d=DwID-g&c=jf_iaSHvJObTbx-siA1ZOg&r=78GW2OHz7nNTH2dBkTx7-TKh2QCt3JD3zukzeUO8RpA&m=kS7bRBMBIrkh29UWtS9hJyM79QP8OAILH2GKfFdP4lU&s=-GpxprvGoLZkEGK-MYRAApSJ_QWBVdzQR4805ldJbo8&e=

>> 
>> Any issues please let me know.
>> 
>> PS. I left the FatalErorr in JavacProcessingEnvironment.javaas we
>> wanted Jon to comment on whether this is what is required or whether
>> we go with your previous suggestion.
>> 
>> Thanks
>> Steve Groeger
>> IBM Runtime Technologies
>> Hursley, Winchester
>> Tel: (44) 1962 816911  Mobex: 279990  Mobile: 07718 517  129
>> Fax (44) 1962 816800
>> Lotus Notes: Steve Groeger/UK/IBM
>> Internet: groeges at uk.ibm.com
>> 
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with 
number
>> 741598.
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire  PO6 
3AU
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with 
number
>> 741598.
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire  PO6 
3AU
>> 
>> 
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with 
number
>> 741598.
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire  PO6 
3AU
> 
> 
> 
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 

> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU
> 
> 
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with number 

> 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU




Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20190412/7b3c684a/attachment-0001.html>


More information about the compiler-dev mailing list