RFR: [8218152] javac fails and exits with no error if a bad annotation processor is on the classpath
Jan Lahoda
jan.lahoda at oracle.com
Fri Apr 12 13:31:43 UTC 2019
On 12. 04. 19 12:37, Steve Groeger wrote:
> 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/_
I think this looks fine, thanks.
Jon, do you want to take a look and/or sponsor the change, or should I?
Thanks,
Jan
> [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://wiki.openjdk.java.net/display/Build/Submit+Repo
>
> (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://wiki.openjdk.java.net/display/jdk8u/Main
>
> 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] _http://cr.openjdk.java.net/~sgroeger/8218152/jdk/webrev.03/_
>> [2] _http://cr.openjdk.java.net/~sgroeger/8218152/jdk8u/webrev.03/_
>>
>> 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.
>>> _
>>> ___http://cr.openjdk.java.net/~sgroeger/8218152/jdk/webrev.02/___
>>> ___http://cr.openjdk.java.net/~sgroeger/8218152/jdk8u/webrev.02/__
>>>
>>> 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
More information about the compiler-dev
mailing list