No, unfortunately I have no small test case. Our JSPs are the opposite of standalone test cases and I've not had time to try to find a trigger within them -- and quite likely won't have such time.

Out of our 1000's of JSP pages I saw a dozen or so JSP precompilation failures that weren't present prior to stopping the precompilation early -- hence I don't know how many failures I would have had.

I tested this with Java 6 and Java 7 against 2 different versions of our application (compiled with Java 6 and Java 7, respectively) where Tomcat 7.0.33 worked fine. Tomcat 7.0.34 failed in both cases -- until I reverted to the old ecj.jar.

There *may* be a relationship to how my pre-compilation runs. Even if that's the case I'll be sticking with the old ecj.jar as it clearly works.

The pre-compilation script that I was running does the following:

1. Try to compile everything en masse excluding known failures (mostly
   legacy JSP fragments that were improperly named .jspf rather than .jsp)
2. Catch (via ant-contrib) any failure and re-try to compile everything
   en masse excluding known failure
     * The first attempt has been consistently failing for quite a
       number of Tomcat releases for no apparent reason on a tag file
       or some such as I recall (too many nested dependencies?) where
       the second would succeed.
3. Catch any failure one again
     * If there was a failure try to recompile each JSP individually so
       as to generate an accurate list of failures.
4. If there was no failure on the second attempt, then try to compile
   every JSP in the known failure list so as to verify that the entire
   known failure list is still failing.

The need to re-try the en-masse JspC has been bothersome for quite some time -- and doesn't seem to be addressed by simple things like giving the script more memory. That said, this issue has been there for quite some time.

The new issue shows up when trying to compile one of the failing JSPs all by itself and results in a stack trace into the bowels of ECJ, so this really looks like an issue in ECJ.

--
Jess Holle

On 12/13/2012 1:07 AM, Mark Thomas wrote:
Jess Holle <je...@ptc.com> wrote:
I moved to Tomcat 7.0.34 -- apparently with inadequate testing / too
much trust.

Some JSPs that precompiled just fine with 7.0.33 and many previous
Tomcat versions now produce the error shown below

Moving back to the ecj jar from Tomcat 7.0.33 resolves the issue. I'm
assuming buggy JDT compiler until proven otherwise.
It certainly sounds like a bug in ecj.jar

Do you have a sample JSP you can share that demonstrates the issue?

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Reply via email to