quality@glassfish.java.net

Re: My first tests with FishCAT ...ouch

From: Jan Luehe <Jan.Luehe_at_Sun.COM>
Date: Tue, 01 Dec 2009 11:57:20 -0800

Hi Jose,

On 11/25/09 09:40, Jan Luehe wrote:
> On 11/24/09 23:30, Judy Tang wrote:
>> "The second time (just pressing F5) the page works fine. IIRC this is
>> the exact same behavior I got with Tomcat with versions prior 6.0.20
>> (with 6.0.18 for example). The bug is fixed in Tomcat now so it may
>> just be a matter of identifying the patch."
>>
>> Wow, not only report the issue, but also points out what could be the
>> cause, thanks Jose for continue testing, I am sure Jan will get back
>> to you soon :-)
>
> Jose, thanks for picking up the nightly and testing it with your app!
>
> I just downloaded the nightly myself and deployed your app.
> When I access the FILTERED GRID link for the first time, the page
> compiles just fine, and I don't see the stacktrace you mentioned.
>
> The line where you are getting an NPE (ReflectUtil.java:101) looks
> like this:
>
> public static void checkPackageAccess(Class clazz) {
> checkPackageAccess(clazz.getName());
> }
>
> which means "clazz" is null. I've cc'ed Kin-man in case he has any
> ideas what
> might be causing this. Thanks for narrowing down the range of TC releases
> for a possible fix.
>
> It looks like we're almost there, though. :)

Kin-man has done some great detective work. I've updated

  https://glassfish.dev.java.net/issues/show_bug.cgi?id=11182

with his findings.

Looks like the problem is a user error, that is, a problem in the way the
application's Document.tag is written, which contains this tag invocation:

  <c:when test="${}">

where the EL expression evaluates to "null", which cannot be assigned
to a boolean, which is the argument type of
org.apache.taglibs.standard.tag.rt.core.WhenTag#setTest(boolean).

Note that the above tag invocation was not present in the version of
Document.tag that was bundled with the earlier version of the app
which did not show any errors.

We're still puzzled how the app works with Tomcat, though.
It looks like Tomcat converts the EL expression evaluation result
"null" to false, which would not be EL spec compliant.

Thanks,

Jan + Kin-man