harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zakharov, Vasily M" <vasily.m.zakha...@intel.com>
Subject RE: Compatibility or non-bug question
Date Tue, 26 Dec 2006 01:05:43 GMT

Ok, so let's make the decisisions.
Below are my propositions, any objections?

http://issues.apache.org/jira/browse/HARMONY-1024:
Leave it as is, close as Won't Fix.

http://issues.apache.org/jira/browse/HARMONY-1171:
Sure, checking FLAT context limitations is necessary, it's clearly a
bug.
Also, checking for null name is important, though RI doesn't do it.

http://issues.apache.org/jira/browse/HARMONY-1232:
It's pretty clear that neither 'name', nor 'attrs' can be null -
otherwise getName() and getAttributes() methods would return null,
explicitly violating the spec - and that's what RI does. So this issue
is clearly a non-bug diff and must not be fixed to fit RI behavior. So
this issue could be closed as Won't Fix.

But in fact, Harmony throws IAE only if 'name' is null, 'attrs' is not
checked. If 'attrs' is null, object is created but NPE is thrown if, for
example, toString() is called for it.

So my proposition is:
1. Add checking if 'attrs' is null and throwing IAE if it is.
2. Add tests verifying that IAE is thrown if either 'name' or 'attrs' is
null.

http://issues.apache.org/jira/browse/HARMONY-2525:

Throwing InvalidNameException for null component is not a good idea, as
that exception is clearly intended for other situations. The good
solution would be to throw IllegalArgumentException.

Anyway, this issue has to be moved to "Non-bug differences from RI"
category, as RI doesn't check the component for null at all - and is
wrong in that.

 Vasily


-----Original Message-----
From: Andrew Zhang [mailto:zhanghuangzhu@gmail.com] 
Sent: Monday, December 25, 2006 4:34 AM
To: dev@harmony.apache.org
Subject: Re: Compatibility or non-bug question

On 12/24/06, Zakharov, Vasily M <vasily.m.zakharov@intel.com> wrote:
>
>
> Can't remember, I may be wrong.
>
> Well, what would be our policy on this point?
>
> If the documentation describes the parameter as "non-null", or null
> value is clearly unacceptable for the method functionality, what
should
> we throw if null is passed, NullPointerException or
> IllegalArgumentException?


It depends on RI and spec as described in our exception thrown
compatibility
guideline. :-)

Vasily
>
>
> -----Original Message-----
> From: nbeyer@gmail.com [mailto:nbeyer@gmail.com] On Behalf Of Nathan
> Beyer
> Sent: Sunday, December 24, 2006 5:42 AM
> To: dev@harmony.apache.org
> Subject: Re: Compatibility or non-bug question
>
> On 12/23/06, Zakharov, Vasily M <vasily.m.zakharov@intel.com> wrote:
> >
> > I've read in some clever article :) that NPE is a way to react on
> > un-predicted situation and it should never be thrown explicitly. And
> > IAE, in contrary, is there exactly for explicit handling of
incorrect
> > argument situations.
>
> Can you provide an actual reference to this article? I'm not familiar
> with any such guideline or design consideration.
>
> Regardless, there's nothing wrong explicitly throwing NPE.
>
> -Nathan
>
> >
> > So if we need to check the argument and throw exception manually -
it
> > should be IAE with "argument is null" comment string, my vote. :)
> >
> >  Vasily
> >
> >
> > -----Original Message-----
> > From: Alexei Zakharov [mailto:alexei.zakharov@gmail.com]
> > Sent: Thursday, December 21, 2006 12:30 PM
> > To: dev@harmony.apache.org
> > Subject: Re: Compatibility or non-bug question
> >
> > > Why NPE and not IllegalArgumentException?
> > > If doc says "non-null", the latter may also be appropriate...
> >
> > IMHO NullPointerException emphasizes the fact that argument was set
to
> > *null* value. However, I think IllegalArgumentException is also Ok.
> >
> > Thanks,
> >
> > 2006/12/20, Zakharov, Vasily M <vasily.m.zakharov@intel.com>:
> > >
> > > Thanks Alexei!
> > >
> > > > IMHO it is ok to throw NullPointerException here and file
> > Non-Bug-Diff
> > > JIRA.
> > >
> > > Why NPE and not IllegalArgumentException?
> > > If doc says "non-null", the latter may also be appropriate...
> > >
> > >  Vasily
> > >
> > >
> > > -----Original Message-----
> > > From: Alexei Zakharov [mailto:alexei.zakharov@gmail.com]
> > > Sent: Wednesday, December 20, 2006 4:57 PM
> > > To: dev@harmony.apache.org
> > > Subject: Re: Compatibility or non-bug question
> > >
> > > Hi,
> > >
> > > > http://issues.apache.org/jira/browse/HARMONY-1024
> > >
> > > So RI allows creation of the Binding with null name. I don't see
> much
> > > sence in such object.  How can it be used? For what? Moreover, we
> have
> > > a non-null spec requirement. So IMHO it is ok to throw
> > > NullPointerException here and file Non-Bug-Diff JIRA.
> > >
> > > > http://issues.apache.org/jira/browse/HARMONY-2525
> > >
> > > The same thing here. The only exception is that IMHO test3 from
this
> > > JIRA is valid. Why not to throw IndexOutOfBoundsException before
> > > NullPointerException?
> > >
> > > Regards,
> > >
> > >
> > >
> > >
> > > 2006/12/17, Zakharov, Vasily M <vasily.m.zakharov@intel.com>:
> > > >
> > > > Well, that's better than nothing. :)
> > > >
> > > > In fact, those two bugs I've mentioned are the ones I'm most
> > > interested
> > > > in right now:
> > > >
> > > > http://issues.apache.org/jira/browse/HARMONY-1024
> > > > http://issues.apache.org/jira/browse/HARMONY-2525
> > > >
> > > > What to you think we should do to them?
> > > >
> > > > Thank you.
> > > >
> > > >  Vasily
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Alexey Petrenko [mailto:alexey.a.petrenko@gmail.com]
> > > > Sent: Saturday, December 16, 2006 7:48 AM
> > > > To: dev@harmony.apache.org
> > > > Subject: Re: Compatibility or non-bug question
> > > >
> > > > We have a compatibility guideline [1].
> > > > And according this guideline we should discuss cases like yours
> one
> > by
> > > > one.
> > > >
> > > > SY, Alexey
> > > >
> > > > [1]
> http://harmony.apache.org/subcomponents/classlibrary/compat.html
> > > >
> > > > 2006/12/16, Zakharov, Vasily M <vasily.m.zakharov@intel.com>:
> > > > > Hi, all,
> > > > >
> > > > > I'm now trying to investigate and fix some trivial bugs, but
I'm
> > not
> > > > > sure which way to fix them to.
> > > > >
> > > > > There're multiple situations where RI, say, doesn't throw
> > exception
> > > > and
> > > > > Harmony does throw, and throwing an exception in that
situation
> > > looks
> > > > > good and logical.
> > > > >
> > > > > In other words, the question is, what is a compatibility bug
> (that
> > > > needs
> > > > > to be fixed to match RI) and what is a non-bug difference.
> > > > >
> > > > > Also, there's a question on non-bug differences. They're not
> bugs,
> > > but
> > > > > what should we do to them? Just close them, if Harmony
behaviour
> > > seems
> > > > > more correct than RI's? Or fix them to match RI though they're
> not
> > > > bugs,
> > > > > to make sure we don't break existing applications?
> > > > >
> > > > > Here are two characteristic examples of uncertainties that
occur
> > > > rather
> > > > > frequently:
> > > > > http://issues.apache.org/jira/browse/HARMONY-1024
> > > > > http://issues.apache.org/jira/browse/HARMONY-2525
> > > > >
> > > > > Do we have some, say, policy, or guideline on how issues like
> > these
> > > > > could (or should) be resolved?
> > > > >
> > > > > There're many issues like these, and having a general approach
> > would
> > > > > ease dealing with them...
> > > > >
> > > > > Any opinions?
> > > > >
> > > > > Thank you!
> >
> >
> > --
> > Alexei Zakharov,
> > Intel ESSD
> >
>



-- 
Best regards,
Andrew Zhang

Mime
View raw message