Simple thing like
response.setIntHeader("Expires", -1);
cause Exception in Jrun but not in resin. I am not saying Resin is better
than Jrun. Jrun is a great product as well. But I have no way to debug these
kind of exception because "response.setIntHeader("Expires", -1);" makes
perfect sense.
-1
java.lang.ArrayIndexOutOfBoundsException: -1
at
allaire.jrun.util.SimpleNumberFormat.formatToBuf(SimpleNumberFormat.java:43)
at allaire.jrun.util.SimpleNumberFormat.format(SimpleNumberFormat.java:9)
at
allaire.jrun.ServletConnection.formatIntegerHeader(ServletConnection.java:35
3)
at allaire.jrun.ServletConnection.setIntHeader(ServletConnection.java:358)
at
jrun__enter_process2ejsp12._jspService(jrun__enter_process2ejsp12.java:82)
at allaire.jrun.jsp.HttpJSPServlet.service(HttpJSPServlet.java:40)
at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
at
allaire.jrun.servlet.JRunNamedDispatcher.forward(JRunNamedDispatcher.java:34
)
at allaire.jrun.jsp.JSPServlet.service(JSPServlet.java:174)
at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
at
allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequestDispatcher.jav
a:88)
at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1131)
at allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:330)
at allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:354)
at allaire.jrun.ThreadPool.run(ThreadPool.java(Compiled Code))
at allaire.jrun.WorkerThread.run(WorkerThread.java:74)
=>-----Original Message-----
=>From: Scott Stirling [mailto:[EMAIL PROTECTED]]
=>Sent: Tuesday, August 29, 2000 5:49 PM
=>To: [EMAIL PROTECTED]
=>Subject: RE: Strange! 500 Internal Server Error
=>
=>
=>I can't help you if you don't pare down your JSP to a
=>reasonable size and post
=>it or send it to me or something. If the JRun errors are any
=>indication, you
=>have like 5 forwards in a single JSP, which could indicate a
=>pretty complex JSP
=>that you aren't able to debug or reduce. If that's so,
=>you'll blindly go from
=>one JSP engine to the next until one works. But given that
=>JRun and Resin are
=>two of the best, I don't think you'll get that lucky. So
=>you'll eventually have
=>to analyze the JSP and figure out what's wrong with it
=>anyway. Those "funny
=>exceptions" could be the key to your problem.
=>
=>Scott S.
=>
=>> -----Original Message-----
=>> From: Amy Wan [mailto:[EMAIL PROTECTED]]
=>> Sent: Tuesday, August 29, 2000 7:59 PM
=>> To: '[EMAIL PROTECTED]'
=>> Subject: RE: Strange! 500 Internal Server Error
=>>
=>>
=>> Thank you for your reply.
=>>
=>> =>Are you using any of Resin's built-in XSL features in your
=>> =>code? The errors
=>> =>you're seeing are unusual. Restarting JRun shouldn't affect
=>> =>whether your page
=>> =>throws an error or not.
=>>
=>> No, I am not using any Resin build-in XSL. Honestly, I
=>don't even know what
=>> is XSL.
=>>
=>> THe reason why I am testing my page with Jrun is I can
=>easily crash Resin
=>> after my JSP refresh about 5 times every 20 seconds.
=>> Even though I don't have the same problem so far using
=>Jrun, because of
=>> those funny exceptions, I believe we may not use JRun as our finaly
=>> production servlet engine.
=>>
=>>
=>>
=>>
=>> =>-----Original Message-----
=>> =>From: Scott Stirling [mailto:[EMAIL PROTECTED]]
=>> =>Sent: Tuesday, August 29, 2000 4:46 PM
=>> =>To: [EMAIL PROTECTED]
=>> =>Subject: RE: Strange! 500 Internal Server Error
=>> =>
=>> =>
=>> =>Are you using any of Resin's built-in XSL features in your
=>> =>code? The errors
=>> =>you're seeing are unusual. Restarting JRun shouldn't affect
=>> =>whether your page
=>> =>throws an error or not.
=>> =>
=>> =>An important difference between JRun and Resin is that Resin
=>> =>will dynamically
=>> =>reload JavaBeans. Since you've mentioned Resin a couple
=>> =>times, I'm led to
=>> =>believe there's something vendor-specific that's hanging you
=>> =>up. Again, nothing
=>> =>beats some simple test cases to prove the problem and let
=>> =>other people look at
=>> =>it.
=>> =>
=>> =>Scott
=>> =>
=>> =>> -----Original Message-----
=>> =>> From: Amy Wan [mailto:[EMAIL PROTECTED]]
=>> =>> Sent: Tuesday, August 29, 2000 7:31 PM
=>> =>> To: '[EMAIL PROTECTED]'
=>> =>> Subject: RE: Strange! 500 Internal Server Error
=>> =>>
=>> =>>
=>> =>> Hi
=>> =>>
=>> =>> I am not sure if it is a requirement to restart JRUN
=>> =>Default server after I
=>> =>> make changes to any JSP page.
=>> =>>
=>> =>> I found that after I restart JRun A FEW TIMES, the 500
=>> =>Internal Error gone
=>> =>> and my JSP pages work fine.
=>> =>>
=>> =>> The other funny thing is if I access a JSP page which I
=>> =>have never accessed
=>> =>> before, I will get
=>> =>> EXCEPTION 1 (See below) once and EXCEPTION 2 when I reload
=>> =>the page.
=>> =>> Then when I restarted JRun Default Server, the page works again.
=>> =>>
=>> =>> Therefore, I concluded that it is not my JSP page error.
=>> =>>
=>> =>> The third thing is I have this line in my JSP page
=>> =>> response.setIntHeader("Expires", -1);
=>> =>> I got Exception 3 (see below)
=>> =>> The same line works in Resin1.1.3
=>> =>>
=>> =>>
=>> =>> EXCEPTION 1
=>> =>> [java.lang.NullPointerException]
=>> =>> java.lang.NullPointerException
=>> =>> at
=>> =>>
=>>
=>=>com.jclark.xsl.om.NameTableImpl.createName(NameTableImpl.jav
=>a(Compiled
=>> =>> Code))
=>> =>> at
=>> =>>
=>>
=>=>com.jclark.xsl.om.NameTableImpl.createName(NameTableImpl.jav
=>a(Compiled
=>> =>> Code))
=>> =>> at
=>> =>>
=>> =>com.jclark.xsl.om.NameTableImpl$NamespacePrefixMapImpl.expandA
=>> =>ttributeName(N
=>> =>> ameTableImpl.java(Compiled Code))
=>> =>> at
=>com.jclark.xsl.expr.ExprParser.expandName(ExprParser.java)
=>> =>> at
=>com.jclark.xsl.expr.ExprParser.parseNodeTest(ExprParser.java)
=>> =>> at
=>com.jclark.xsl.expr.ExprParser.parseStep(ExprParser.java)
=>> =>> at
=>> =>>
=>> =>com.jclark.xsl.expr.ExprParser.parseRelativeLocationPath(ExprP
=>> =>arser.java)
=>> =>> at
=>> =>>
=>> =>com.jclark.xsl.expr.ExprParser.parseRelativeLocationPath(ExprP
=>> =>arser.java)
=>> =>> at
=>com.jclark.xsl.expr.ExprParser.parsePathExpr(ExprParser.java)
=>> =>> at
=>> =>com.jclark.xsl.expr.ExprParser.parseUnionExpr(ExprParser.java)
=>> =>> at
=>> =>com.jclark.xsl.expr.ExprParser.parseUnaryExpr(ExprParser.java)
=>> =>> at
=>> =>>
=>> =>com.jclark.xsl.expr.ExprParser.parseMultiplicativeExpr(ExprPar
=>> =>ser.java)
=>> =>> at
=>> =>com.jclark.xsl.expr.ExprParser.parseAdditiveExpr(ExprParser.java)
=>> =>> at
=>> =>>
=>com.jclark.xsl.expr.ExprParser.parseRelationalExpr(ExprParser.java)
=>> =>> at
=>> =>com.jclark.xsl.expr.ExprParser.parseEqualityExpr(ExprParser.java)
=>> =>> at
=>com.jclark.xsl.expr.ExprParser.parseAndExpr(ExprParser.java)
=>> =>> at
=>com.jclark.xsl.expr.ExprParser.parseOrExpr(ExprParser.java)
=>> =>> at
=>com.jclark.xsl.expr.ExprParser.parseExpr(ExprParser.java)
=>> =>> at
=>> =>>
=>com.jclark.xsl.expr.ExprParser.parseConvertibleExpr(ExprParser.java)
=>> =>> at
=>> =>com.jclark.xsl.expr.ExprParser.parseNodeSetExpr(ExprParser.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$ForEachParser.parse(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.SheetImpl.parseActions(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.SheetImpl.parseActions(SheetImpl.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$TemplateParser.parse(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.SheetImpl.parseTopLevel(SheetImpl.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$IncludeParser.parse(SheetImpl.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$ImportParser.parse(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.SheetImpl.parseTopLevel(SheetImpl.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$IncludeParser.parse(SheetImpl.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$ImportParser.parse(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.SheetImpl.parseTopLevel(SheetImpl.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$IncludeParser.parse(SheetImpl.java)
=>> =>> at
=>> =>com.jclark.xsl.tr.SheetImpl$ImportParser.parse(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.SheetImpl.parseTopLevel(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.SheetImpl.parseSheet(SheetImpl.java)
=>> =>> at com.jclark.xsl.tr.SheetImpl.<init>(SheetImpl.java)
=>> =>> at
=>com.jclark.xsl.tr.EngineImpl.createSheet(EngineImpl.java)
=>> =>> at
=>> =>>
=>> =>com.jclark.xsl.sax.XSLProcessorImpl.loadStylesheet(XSLProcesso
=>> =>rImpl.java)
=>> =>> at allaire.jrun.jsp.XT.<init>(XT.java:49)
=>> =>> at
=>> =>>
=>>
=>=>allaire.jrun.jsp.JSPServlet.getLanguageProcessor(JSPServlet.
=>java:476)
=>> =>> at
=>allaire.jrun.jsp.JSPServlet.processPage(JSPServlet.java:416)
=>> =>> at
=>> =>allaire.jrun.jsp.JSPServlet.createServlet(JSPServlet.java:392)
=>> =>> at
=>allaire.jrun.jsp.JSPServlet.loadPage(JSPServlet.java:201)
=>> =>> at
=>allaire.jrun.jsp.JSPServlet.service(JSPServlet.java:168)
=>> =>> at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
=>> =>> at
=>allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
=>> =>> at
=>> =>>
=>> =>allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequest
=>> =>Dispatcher.jav
=>> =>> a:88)
=>> =>> at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1131)
=>> =>> at
=>allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:330)
=>> =>> at
=>allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:354)
=>> =>> at
=>allaire.jrun.ThreadPool.run(ThreadPool.java(Compiled Code))
=>> =>> at allaire.jrun.WorkerThread.run(WorkerThread.java:74)
=>> =>>
=>> =>> EXCEPTION 2
=>> =>>
=>> =>> null
=>> =>> java.lang.NullPointerException
=>> =>> at
=>> =>>
=>>
=>=>com.jclark.xsl.om.NameTableImpl.createName(NameTableImpl.jav
=>a(Compiled
=>> =>> Code))
=>> =>> at
=>> =>>
=>>
=>=>com.jclark.xsl.om.NameTableImpl.createName(NameTableImpl.jav
=>a(Compiled
=>> =>> Code))
=>> =>> at com.jclark.xsl.tr.EngineImpl.<init>(EngineImpl.java)
=>> =>> at
=>> =>>
=>> =>com.jclark.xsl.sax.XSLProcessorImpl.loadStylesheet(XSLProcesso
=>> =>rImpl.java)
=>> =>> at allaire.jrun.jsp.XT.<init>(XT.java:49)
=>> =>> at
=>> =>>
=>>
=>=>allaire.jrun.jsp.JSPServlet.getLanguageProcessor(JSPServlet.
=>java:476)
=>> =>> at
=>allaire.jrun.jsp.JSPServlet.processPage(JSPServlet.java:416)
=>> =>> at
=>> =>allaire.jrun.jsp.JSPServlet.createServlet(JSPServlet.java:392)
=>> =>> at
=>allaire.jrun.jsp.JSPServlet.loadPage(JSPServlet.java:201)
=>> =>> at
=>allaire.jrun.jsp.JSPServlet.service(JSPServlet.java:168)
=>> =>> at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
=>> =>> at
=>allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
=>> =>> at
=>> =>>
=>> =>allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequest
=>> =>Dispatcher.jav
=>> =>> a:88)
=>> =>> at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1131)
=>> =>> at
=>allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:330)
=>> =>> at
=>allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:354)
=>> =>> at
=>allaire.jrun.ThreadPool.run(ThreadPool.java(Compiled Code))
=>> =>> at allaire.jrun.WorkerThread.run(WorkerThread.java:74)
=>> =>>
=>> =>> EXCEPTION 3
=>> =>> -1
=>> =>> java.lang.ArrayIndexOutOfBoundsException: -1
=>> =>> at
=>> =>>
=>> =>allaire.jrun.util.SimpleNumberFormat.formatToBuf(SimpleNumberF
=>> =>ormat.java:43)
=>> =>> at
=>> =>>
=>>
=>=>allaire.jrun.util.SimpleNumberFormat.format(SimpleNumberForm
=>at.java:9)
=>> =>> at
=>> =>>
=>> =>allaire.jrun.ServletConnection.formatIntegerHeader(ServletConn
=>> =>ection.java:35
=>> =>> 3)
=>> =>> at
=>> =>>
=>> =>allaire.jrun.ServletConnection.setIntHeader(ServletConnection.
=>> =>java:358)
=>> =>> at
=>> =>>
=>> =>jrun__enter_process2ejsp12._jspService(jrun__enter_process2ejs
=>> =>p12.java:82)
=>> =>> at
=>> =>allaire.jrun.jsp.HttpJSPServlet.service(HttpJSPServlet.java:40)
=>> =>> at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
=>> =>> at
=>allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
=>> =>> at
=>> =>>
=>> =>allaire.jrun.servlet.JRunNamedDispatcher.forward(JRunNamedDisp
=>> =>atcher.java:34
=>> =>> )
=>> =>> at
=>allaire.jrun.jsp.JSPServlet.service(JSPServlet.java:174)
=>> =>> at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
=>> =>> at
=>allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
=>> =>> at
=>> =>>
=>> =>allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequest
=>> =>Dispatcher.jav
=>> =>> a:88)
=>> =>> at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1131)
=>> =>> at
=>allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:330)
=>> =>> at
=>allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:354)
=>> =>> at
=>allaire.jrun.ThreadPool.run(ThreadPool.java(Compiled Code))
=>> =>> at allaire.jrun.WorkerThread.run(WorkerThread.java:74)
=>> =>
=>> =>--------------------------------------------------------------
=>> =>----------------
=>> =>Archives: http://www.egroups.com/group/jrun-interest/
=>> =>Unsubscribe:
=>> =>http://www.houseoffusion.com/index.cfm?sidebar=lists&body=list
=>> =>s/jrun_talk
=>> =>or send a message to [EMAIL PROTECTED] with
=>> =>'unsubscribe' in the body.
=>> =>
=>>
=>--------------------------------------------------------------
=>----------------
=>> Archives: http://www.egroups.com/group/jrun-interest/
=>> Unsubscribe:
=>>
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/jrun_talk
> or send a message to [EMAIL PROTECTED] with
> 'unsubscribe' in the body.
----------------------------------------------------------------------------
--
Archives: http://www.egroups.com/group/jrun-interest/
Unsubscribe:
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/jrun_talk
or send a message to [EMAIL PROTECTED] with 'unsubscribe'
in the body.
------------------------------------------------------------------------------
Archives: http://www.egroups.com/group/jrun-interest/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/jrun_talk
or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the
body.