We are running JRun 3.02a Advanced version on Solaris 2.7 and Suns JVM
1.3.0_02. We have also tried Suns JVM 1.2.2_08 with the same result. We are
currently running Netscape Enterprise 3.63, but have also tried Apache
1.3.19.

Let me give some more background information on the problem. This is from a
post to the JRun forum:

-------------
We are running a site on JRun 3.02a (still on eval!) and NES 3.6.3 on
Solaris 2.7 on SPARC. JVM 1.3.0_02.
Normally, it performs smoothly, but under stress (startup, heavy load etc.),
the JRun server stops responding, the CPU load drops to practically zero,
and the server has to be restarted.
Using "kill -QUIT <pid>" I can create stack traces when the stops uccur.
Practically all the jcp threads are apparently waiting for a synchronized
block in some thread to finish, doing <jsp:include...> on the same jsp, but
on a different jsp for each "hang" situation. However, the synchronize
monitor is never released. The innermost method in each stack dump is
allaire.jrun.jsp.JSPServlet.loadPage as can be seen from a typical thread
snapshot below:

"jcp-362" prio=5 tid=0x43dc88 nid=0x1f5 waiting for monitor entry
[0xe7380000..0xe7381a30]
at allaire.jrun.jsp.JSPServlet.loadPage(JSPServlet.java:184)
at allaire.jrun.jsp.JSPServlet.service(JSPServlet.java:169)
at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
at
allaire.jrun.servlet.JRunRequestDispatcher.include(JRunRequestDispatcher.jav
a:126)
at allaire.jrun.jsp.JRunPageContext.include(JRunPageContext.java:341)
at
jrun__jsp__htmlfoot2ejsp11._jspService(jrun__jsp__htmlfoot2ejsp11.java:122)
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:175)
at allaire.jrun.servlet.JRunSE.service(JRunSE.java:1013)
at allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:925)
at
allaire.jrun.servlet.JRunRequestDispatcher.include(JRunRequestDispatcher.jav
a:126)
at no.finn.framework.presentation.PageTag.include(PageTag.java:61)
at no.finn.framework.presentation.PageTag.doEndTag(PageTag.java:121)
at
jrun__jsp__pal__simple__car__carsearch2ejsp21._jspService(jrun__jsp__pal__si
mple__car__carsearch2ejsp21.java:516)
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:175)
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 no.finn.framework.navigation.FinnServlet.forward(FinnServlet.java:43)
at
no.finn.framework.navigation.FinnNavigator.doFINNService(FinnNavigator.java:
398)
at no.finn.framework.navigation.FinnServlet.service(FinnServlet.java:66)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
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:382)
at allaire.jrun.ThreadPool.run(ThreadPool.java:272)
at allaire.jrun.WorkerThread.run(WorkerThread.java:75)

This is really troublesome, so
1. is this a known issue?
2. Any suggestion here is welcome!!
-------------

Some comments to the message above: We run Solaris 2.7 (not 2.6) and NES
3.63. The evaluation licence has not expired (yet).

I think we already have found a bug in the JRun server related to exeption
handling. Under certain conditions exeptions that are thrown in a Servlet or
a JSP are not handled gracefully by the JRun server. The JRun server will
not close the connection to the Webserver. Every request that generates a
Servlet og JSP exception like this, will eat a connection and the server
stops responding when max connections is reached. When we discovered this
problem, we implemented a "failproof" exception handling in our application
code, and avoided the problem that way. The system became a lot more stable,
however we still do experience stability problems, like reported to the JRun
forum above (the problem is reported after we implemented the "fix").


Regards,
Eyvind A. Larre






~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to