tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eric Blenkush <>
Subject Re: JSP Compile Hangs
Date Wed, 20 Oct 2004 07:43:45 GMT

On Oct 19, 2004, at 10:41 PM, Remy Maucherat wrote:

> Eric Blenkush wrote:
>> Hi,
>> On Tomcat 5.5.2 I am experiencing very long compile times(and hangs)  
>> for certain JSP pages. The page has an EL expression like this:
>> ${fn:toUpperCase((fn:toUpperCase((fn:toUpperCase((fn:toUpperCase((fn: 
>> toUpperCase((fn:toUpperCase((fn:toUpperCase((fn:toUpperCase((fn: 
>> toUpperCase((fn:toUpperCase((fn:toUpperCase((fn:toUpperCase((fn: 
>> toUpperCase((fn:toUpperCase((fn:toUpperCase((fn: 
>> toUpperCase(('b'))))))))))))))))))))))))))))))))))))}
>> If you remove the extraneous parenthesis it will compile and execute  
>> very quickly. However, if you add more nested calls to fn:toUpperCase 
>>  compiling will again take a very long time. So, this may be related 
>> to  the number of nested expressions. This is just a test case 
>> obviously  but I am generating JSPs automatically and it is difficult 
>> if not  impossible to avoid EL statements with these nested function 
>> calls.  Resin can compile and execute these pages very quickly but I 
>> want to  stick with Tomcat.
>> This is crucial to the project I am working on and if someone has an  
>> idea of what is causing this and where to look in the tomcat source I 
>>  would appreciate it.
> Please don't whine. I hope you have tested this with 5.0.x as well.
> If you have a compilation problem specific to the Java compiler, you 
> obviously should:
> - report it to the Eclipse project
> - use Ant + javac to compile instead (remove the 
> jasper-compiler-jdt.jar and put ant.jar at the same spot)
> You may want to try to generate efficient code.
> Any bug filed about the Eclipse compiler (other than an integration 
> issue) will be marked as INVALID.
> Rémy

The hang is happening when the .java file is being generated from the 
.jsp file. I confirmed this by taking the commons-el-1.0 source and 
modifying it to parse the same EL statement as given above and it never 

Any helpful comments on where to start looking to fix this are welcome.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message