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
Wed Apr 10 12:43:59 UTC 2019


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

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


More information about the compiler-dev mailing list