Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 10629 invoked from network); 10 Jan 2006 13:42:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 10 Jan 2006 13:42:23 -0000 Received: (qmail 73899 invoked by uid 500); 10 Jan 2006 13:42:07 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 73879 invoked by uid 500); 10 Jan 2006 13:42:07 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 73868 invoked by uid 99); 10 Jan 2006 13:42:06 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Jan 2006 05:42:06 -0800 X-ASF-Spam-Status: No, hits=0.3 required=10.0 tests=MAILTO_TO_SPAM_ADDR,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of Larry.Isaacs@sas.com designates 149.173.6.17 as permitted sender) Received: from [149.173.6.17] (HELO merc94.na.sas.com) (149.173.6.17) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 10 Jan 2006 05:42:05 -0800 Received: from MERC28.na.sas.com ([10.16.9.98]) by merc94.na.sas.com with InterScan Messaging Security Suite; Tue, 10 Jan 2006 08:41:44 -0500 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: Error loop for R - Tomcat 3.3.1a Date: Tue, 10 Jan 2006 08:41:43 -0500 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Error loop for R - Tomcat 3.3.1a thread-index: AcYVsii5zkCcb3luSVGr4IlocBX6RgANQkXQ From: "Larry Isaacs" To: "Tomcat Users List" X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Sid, The code where the exception is occurring is: private final String getAbsolutePathRelativeToContext(String = relativeUrlPath) { String path =3D relativeUrlPath; if (!path.startsWith("/")) { String uri =3D (String) = request.getAttribute("javax.servlet.include.servlet_path"); if (uri =3D=3D null) uri =3D ((HttpServletRequest) request).getServletPath(); 401 String baseURI =3D uri.substring(0, uri.lastIndexOf('/')); path =3D baseURI+'/'+path; } return path; } The code is trying to convert the "weblmpagetop.jsp" relative path to a path from the root of the webapp. What Jasper has to work with to establish where "weblmpagetop.jsp" is located is failing the "uri.lastIndexOf('/')". This suggests the problem is related to the "forwards" that are occurring prior to reaching the "include". Perhaps there is something that needs to start with a '/' that doesn't. I can't say that this isn't due to a quirk, bug, or spec ambiguity, as opposed the webapp doing something wrong with respect to the Servlet 2.2 spec. It sounds like you are stuck with 3.3.1 as is. Hopefully a reasonable workaround can be found. Cheers, Larry =20 > -----Original Message----- > From: Siddhartha Mehta [mailto:mehtasd78@yahoo.com]=20 > Sent: Tuesday, January 10, 2006 1:50 AM > To: users@tomcat.apache.org > Subject: Error loop for R - Tomcat 3.3.1a >=20 > I am currently working on a web application that uses=20 > Tomcat 4.1.27 and JDK 1.4.2_03. >=20 > The same piece of code now needs to be supported on Tomcat=20 > 3.3.1 and JDK 1.4.2_08. I managed to get the classes, jsps=20 > coompile and built by modifying the ant script. In fact even=20 > the application runs perfect and the functionalities are=20 > working as expected. Although, all is not good as it seems=20 > so. In the backend, the tomcat - startup windows isn't quite=20 > happy with the changes. I repeatedly get the following error=20 > and I can make out very little from it. >=20 > I can think of possible cause as this code in my jsp but not=20 > really sure: >=20 > .... > > > " /> > %>" /> .... >=20 > Exception thrown in tomcat-start up window is below: >=20 > 2006-01-10 11:48:04 - Ctx(/WebLM) : Exception in R( /WebLM +=20 > /weblmlogin.jsp + n > ull) - javax.servlet.ServletException: String index out of range: -1 > at=20 > org.apache.jasper.runtime.PageContextImpl.handlePageException(PageCon > textImpl.java:460) > at com.avaya.weblm.weblmlogin._jspService(Unknown Source) > at=20 > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispa > tcherImpl.java:272) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatc > herImpl.java:174) > at=20 > com.avaya.weblm.WebLMServlet.forwardToNextPage(Unknown Source) > at com.avaya.weblm.WebLMClientLogin.doPost(Unknown Source) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispa > tcherImpl.java:272) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatc > herImpl.java:174) > at=20 > org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav > a:423) > at com.avaya.weblm.weblmlogin._jspService(Unknown Source) > at=20 > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispa > tcherImpl.java:272) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatc > herImpl.java:174) > at=20 > org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav > a:423) > at com.avaya.weblm.index._jspService(Unknown Source) > at=20 > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.core.ContextManager.internalService(ContextManager. > java:917) > at=20 > org.apache.tomcat.core.ContextManager.service(ContextManager.java:833 > ) > at=20 > org.apache.tomcat.modules.server.Http10Interceptor.processConnection( > Http10Interceptor.java:176) > at=20 > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java > :494) > at=20 > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP > ool.java:516) > at java.lang.Thread.run(Thread.java:534) > Root cause: > java.lang.StringIndexOutOfBoundsException: String index out=20 > of range: -1 > at java.lang.String.substring(String.java:1444) > at=20 > org.apache.jasper.runtime.PageContextImpl.getAbsolutePathRelativeToCo > ntext(PageContextImpl.java:401) > at=20 > org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.jav > a:411) > at com.avaya.weblm.weblmlogin._jspService(Unknown Source) > at=20 > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispa > tcherImpl.java:272) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatc > herImpl.java:174) > at=20 > com.avaya.weblm.WebLMServlet.forwardToNextPage(Unknown Source) > at com.avaya.weblm.WebLMClientLogin.doPost(Unknown Source) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispa > tcherImpl.java:272) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatc > herImpl.java:174) > at=20 > org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav > a:423) > at com.avaya.weblm.weblmlogin._jspService(Unknown Source) > at=20 > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispa > tcherImpl.java:272) > at=20 > org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatc > herImpl.java:174) > at=20 > org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.jav > a:423) > at com.avaya.weblm.index._jspService(Unknown Source) > at=20 > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) > at javax.servlet.http.HttpServlet.service(HttpServlet.java) > at=20 > org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java > :574) > at org.apache.tomcat.core.Handler.invoke(Handler.java:322) > at org.apache.tomcat.core.Handler.service(Handler.java:235) > at=20 > org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:4 > 85) > at=20 > org.apache.tomcat.core.ContextManager.internalService(ContextManager. > java:917) > at=20 > org.apache.tomcat.core.ContextManager.service(ContextManager.java:833 > ) > at=20 > org.apache.tomcat.modules.server.Http10Interceptor.processConnection( > Http10Interceptor.java:176) > at=20 > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java > :494) > at=20 > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP > ool.java:516) > at java.lang.Thread.run(Thread.java:534) >=20 > 2006-01-10 11:48:04 - ErrorHandler: Error loop for R( /WebLM=20 > + /weblmlogin.jsp + > null) error javax.servlet.ServletException: String index out=20 > of range: -1 >=20 > Any help/pointer/suggestion is highly appreciated. >=20 > Thanks >=20 > Sid >=20 >=20 > =09 > --------------------------------- > Yahoo! DSL Something to write home about. Just $16.99/mo. or less >=20 --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org For additional commands, e-mail: users-help@tomcat.apache.org