Breaking Changeset: 4802647: Throw required NPEs from removeAll()/retainAll()

Kevin Rushforth kevin.rushforth at oracle.com
Tue Jun 4 15:10:41 UTC 2013


Currently our workaround for the FX gradle build is to run the antlr 
task using an earlier JDK (b90) and the rest with b91 or later. We 
haven't looked for another workaround yet.

-- Kevin


Alan Bateman wrote:
> On 04/06/2013 10:14, Ali Ebrahimi wrote:
>> :
>>
>>
>> the cause of this error is this new changeset:
>>
>> 4802647: Throw required NPEs from removeAll()/retainAll()
>>
>> current code assume that collection.removeAll(null) doesn't do anything.
>> but with this changeset produces NullPointerException that doesn't 
>> handled.
>>
>> following is part of source code org/antlr/tool/CompositeGrammar.java
>> (see********
>> )
>>
>>    217       /** Get delegates below direct delegates of g */
>>    218       public List<Grammar>  getIndirectDelegates(Grammar g) {
>>    219           List<Grammar>  direct = getDirectDelegates(g);
>>    220           List<Grammar>  delegates = getDelegates(g);  221
>>         delegates.removeAll(direct);********
>>    222           return delegates;
>>    223       }
>>    224
>>    225       /** Return list of delegate grammars from root down to g.
>>    226        *  Order is root, ..., g.parent.  (g not included).
>>    227        */
>>    228       public List<Grammar>  getDelegators(Grammar g) {
>>    229           if ( g==delegateGrammarTreeRoot.grammar ) {
>>    230               return null;**********  231           }
>>    232           List<Grammar>  grammars = new ArrayList();
>>    233           CompositeGrammarTree t = 
>> delegateGrammarTreeRoot.findNode(g);
>>    234           // walk backwards to root, collecting grammars
>>    235           CompositeGrammarTree p = t.parent;
>>    236           while ( p!=null ) {
>>    237               grammars.add(0, p.grammar); // add to head so in 
>> order later
>>    238               p = p.parent;
>>    239           }
>>    240           return grammars;  241       }
>>
>>
>> So this changeset at least breaks 'antlr' third-party library and any 
>> apps
>> depends on.
> Thanks for the bug report. It does seem to have exposed a bug in 
> antlr. Kevin Rushforth (FX) and Mike Duigou have been looking into the 
> same thing via 8015656.
>
> -Alan.
>



More information about the core-libs-dev mailing list