DO NOT REPLY [Bug 9565] - Reloading a stopped app messes up the lifecycle?!
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9565. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9565 Reloading a stopped app messes up the lifecycle?! [EMAIL PROTECTED] changed: What|Removed |Added Version|4.0.1 Final |4.0.4 Beta 3 -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
DO NOT REPLY [Bug 9565] - Reloading a stopped app messes up the lifecycle?!
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9565. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE. http://nagoya.apache.org/bugzilla/show_bug.cgi?id=9565 Reloading a stopped app messes up the lifecycle?! --- Additional Comments From [EMAIL PROTECTED] 2002-06-02 09:27 --- Reload can still be used on stopped apps in 4.0.4-b3. No error msg is being returned in 4.0.x. -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Bug report for Tomcat 3 [2002/06/02]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=CriticalMAJ=Major | | | | MIN=Minor NOR=Normal ENH=Enhancement | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | | 258|Unc|Nor|2000-11-27|response.SendRedirect() resets/destroys Cookies th| | 2478|Opn|Cri|2001-07-06|Passing Session variables between JSP's and Servle| | 4380|New|Enh|2001-10-23|Multiple ISAPI redirectors on single IIS website | | 4551|Opn|Nor|2001-10-31|Ctx( /tt01 ): IOException in: R( /tt01 + /com/abc/| | 4893|Unc|Blk|2001-11-15|Tomcat dies with following error..| | 4915|New|Blk|2001-11-16|Relocation error while loading mod_jk when startin| | 4980|New|Min|2001-11-20|Startup message indicates incorrect log file | | 4994|New|Nor|2001-11-21|Tomcat needs a mechanism for clean and certain shu| | 5064|New|Cri|2001-11-25|Socket write error when include files is more than| | 5108|New|Maj|2001-11-26|Docs for Tomcat 3.2.x appear to be for Tomcat 3.3 | | 5137|New|Nor|2001-11-27|Null pointer in class loader after attempting to r| | 5160|Unc|Maj|2001-11-28|'IllegalStateException' | | 5231|New|Nor|2001-12-02|Tomcat 3.2.4 does not start due to error in classp| | 5261|New|Cri|2001-12-04|Directory Listing in Tomcat 3.2.4 | | 5331|New|Nor|2001-12-09|getPathInfo vs URL normalization | | 5411|Opn|Nor|2001-12-13|JSP session does not work with IE/IIS5/Tomcat 3.3 | | 5510|New|Blk|2001-12-19|How to call ejb deployed in JBoss from Tomcat serv| | 5511|New|Nor|2001-12-19|Error upload files| | 5581|New|Cri|2001-12-24|java.lang.ArrayIndexOutOfBoundsException | | 5756|New|Nor|2002-01-08|jspc.bat exits with wrong ERRORLEVEL | | 5797|New|Nor|2002-01-10|UnCatched ? StringIndexOutOfBoundsException: Strin| | 5925|New|Cri|2002-01-19|Apache server hangs up and consumes 100% CPU resou| | 6027|New|Maj|2002-01-25|Tomcat Automatically shuts down as service | | 6168|New|Blk|2002-02-01|double execution of java code in JSP | | 6324|New|Nor|2002-02-08|Invalid POST requests through ajp13 cause 'garbage| | 6451|New|Cri|2002-02-14|Stackoverflow | | 6478|New|Enh|2002-02-14|Default Tomcat Encoding | | 6488|Ver|Maj|2002-02-15|Error: 304. Apparent bug in default ErrorHandler c| | 6648|New|Nor|2002-02-25|jakarta-servletapi build with java 1.4 javadoc err| | 6702|New|Cri|2002-02-27|jk_nt_service.exe -i cannot work | | 6796|New|Cri|2002-03-01|Tomcat dies periodically | | 6989|New|Maj|2002-03-08|Unable to read tld file during parallel JSP compil| | 7008|Opn|Maj|2002-03-10|facade.HttpServletRequestFacade.getParameter(HttpS| | 7013|New|Cri|2002-03-10|Entering a servlet path with non-ISO8859-1 charact| | 7227|New|Nor|2002-03-19|error-code directive don't work | | 7236|New|Blk|2002-03-19|Permission denied to do thread.stop | | 7626|New|Nor|2002-03-29|classloader not working properly | | 7637|New|Cri|2002-03-30|Tomcat terminates after connecting to a database | | 7652|New|Cri|2002-04-01|Tomcat stalls periodically| | 7654|New|Min|2002-04-01|Exception in preInit - java.lang.ClassCastExceptio| | 7762|New|Enh|2002-04-05|stdout logfile handling | | 7785|New|Blk|2002-04-06|tomcat bug in context reloading | | 7789|New|Maj|2002-04-06|JSP Cookie Read/Write Fails With DNS Names| | 7863|New|Maj|2002-04-09|I have a problem when running Tomcat with IIS | | 8154|New|Nor|2002-04-16|logrotate script in RPM rotates non-existing file | | 8155|New|Nor|2002-04-16|Tomcat from RPM doesn't do logrotate | | 8187|New|Cri|2002-04-17|Errors when Tomcat used with MS Access database | | 8239|New|Cri|2002-04-18|Resource temporary unavailable| | 8263|New|Cri|2002-04-18|url-pattern easy to circumvent| | 8297|New|Blk|2002-04-19|inetinfo.exe error ; Also no resource found (erro| | 8332|New|Min|2002-04-20|missing mod_jk source for apache2.0 or all mod_jk | |
Bug report for Tomcat 4 [2002/06/02]
+---+ | Bugzilla Bug ID | | +-+ | | Status: UNC=Unconfirmed NEW=New ASS=Assigned| | | OPN=ReopenedVER=Verified(Skipped Closed/Resolved) | | | +-+ | | | Severity: BLK=Blocker CRI=CriticalMAJ=Major | | | | MIN=Minor NOR=Normal ENH=Enhancement | | | | +-+ | | | | Date Posted | | | | | +--+ | | | | | Description | | | | | | | | 2820|Opn|Enh|2001-07-26|Implement GZIPOutput on HTTP 1.1 Connector| | 3509|Ass|Blk|2001-09-07|Apache 1.3.20 mod_webapp Tomcat 4b7 HANGS unde| | 4023|Opn|Min|2001-10-08|exceptions that terminate engine should be saved i| | 4042|Ass|Enh|2001-10-09|webapp component requires Port directive versus Li| | 4212|Ass|Enh|2001-10-16|How to configure Apache to serve static contents? | | 4217|Opn|Nor|2001-10-16|Mis-named SetCharacterEncodingFilter.clas in distr| | 4350|Ass|Nor|2001-10-22|SSLAuthenticator did not associate SSO session| | 4352|Ass|Nor|2001-10-22|JDBCRealm does not work with CLIENT-CERT auth-meth| | 4371|Unc|Nor|2001-10-23|No responses on browsing root when using WarpConne| | 4500|New|Nor|2001-10-29|isapi_redirect.dll does not pass Client certificat| | 4750|New|Min|2001-11-08|jspc flattens directory structure when translating| | 4829|Opn|Enh|2001-11-13|Automatic deployment of war files does not work pr| | 4930|Ass|Maj|2001-11-16|java.io.StreamCorruptedException: Type code out of| | 5143|New|Enh|2001-11-27|Please allow to specify the cipher set for HTTPS c| | 5199|Opn|Nor|2001-11-30|jsp:param in jsp:include section not correct | | 5229|New|Blk|2001-12-02|Session cannot unbind if using DistributedManager | | 5329|New|Nor|2001-12-08|NT Service exits startup before Tomcat is finished| | 5383|New|Nor|2001-12-12|/etc/rc.d/init.d/tomcat4 on RedHat 6.1 fails | | 5405|New|Enh|2001-12-13|Powered by Tomcat | | 5446|Opn|Min|2001-12-16|Can't change webapp class loader (bug #5391 revisi| | 5507|New|Cri|2001-12-19|Swapping sessions causes exceptions and it doesn't| | 5551|New|Enh|2001-12-21|MANAGER: add system information query | | 5603|New|Min|2001-12-28|ServletContext.getResourcePaths() returns extra sl| | 5647|Opn|Blk|2002-01-01|AJP13 connector will not pass authentication reque| | 5704|Ass|Maj|2002-01-05|CgiServlet corrupting images? | | 5709|New|Nor|2002-01-06|HttpServletRequest.getHost returns web server addr| | 5758|New|Nor|2002-01-08|Server-side includes do not work properly | | 5759|Opn|Maj|2002-01-09|CGI servlet mapping by extension *.cgi does not wo| | 5762|Opn|Maj|2002-01-09|CGI servlet misses to include port number in HTTP_| | 5764|New|Enh|2002-01-09|Key Information Missing--Automatic Application Dep| | 5795|New|Enh|2002-01-10|Catalina Shutdown relies on localhost causing prob| | 5829|New|Nor|2002-01-13|StandardManager needs to cope with sessions throwi| | 5858|New|Enh|2002-01-15|Add tomcat dir to java.library.path | | 5877|New|Min|2002-01-16|Facade of facade. | | 5899|New|Blk|2002-01-17|HTTP POST parameters ignored in CGIServlet.java | | 5952|New|Nor|2002-01-22|Refence to $JAVACMD in tomcat.conf incorrect in R| | 5975|New|Nor|2002-01-23|isSecure and getScheme: http are not set when usin| | 5985|New|Enh|2002-01-23|Tomcat should perform a more restrictive validatio| | 6036|Ass|Blk|2002-01-25|Problems with URI mapping | | 6048|Ass|Nor|2002-01-26|JDBC pool unavailable while using WARP connector | | 6049|New|Nor|2002-01-26|jsp-version should be 1.2 | | 6058|New|Enh|2002-01-27|Generated java files not in a correct package | | 6068|New|Maj|2002-01-28|AJP13 bad read, IOException | | 6118|New|Enh|2002-01-30|Ambiguous error message for syntax errors | | 6206|New|Min|2002-02-04|Sixteen Lifecycle implementers disagree with Lifec| | 6218|New|Nor|2002-02-04|Relative links broken for servlets| | 6228|Ass|Cri|2002-02-04|res.sendError sends blank page. | | 6229|New|Enh|2002-02-04|Need way to specify where to write catalina.out | | 6235|New|Maj|2002-02-05|tomcat4-4.0.1-1 rpm has wrong owner for /var/tomca| | 6279|New|Nor|2002-02-06|Resubmit to j_security_check mistakenly fetches a | | 6299|New|Nor|2002-02-07|SSI problem with multiple include statements in on| |
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper JspCompilationContext.java
remm2002/06/02 14:36:31 Modified:jasper2/src/share/org/apache/jasper JspCompilationContext.java Log: - Add jspPath and classFileName to the compilation context. Revision ChangesPath 1.4 +7 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java Index: JspCompilationContext.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- JspCompilationContext.java1 Jun 2002 00:39:48 - 1.3 +++ JspCompilationContext.java2 Jun 2002 21:36:31 - 1.4 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java,v 1.3 2002/06/01 00:39:48 remm Exp $ - * $Revision: 1.3 $ - * $Date: 2002/06/01 00:39:48 $ + * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspCompilationContext.java,v 1.4 2002/06/02 21:36:31 remm Exp $ + * $Revision: 1.4 $ + * $Date: 2002/06/02 21:36:31 $ * * * @@ -137,6 +137,10 @@ * generated. */ public String getServletJavaFileName(); + +public String getJspPath(); + +public String getClassFileName(); /** * Are we keeping generated code around? -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler CommandLineCompiler.java
remm2002/06/02 14:40:22 Modified:jasper2/src/share/org/apache/jasper CommandLineContext.java JspC.java Removed: jasper2/src/share/org/apache/jasper/compiler CommandLineCompiler.java Log: - Last part of the compiler refactoring. - Make JspC work with the Ant compiler. - Remove the CommandLineCompiler class (partially refactored into the CommandLineContext class). - Only tested with the JspC -webapp option. I don't really know what all the other options are supposed to do. Please test it. Revision ChangesPath 1.3 +239 -49 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/CommandLineContext.java Index: CommandLineContext.java === RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/CommandLineContext.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- CommandLineContext.java 24 Apr 2002 02:21:04 - 1.2 +++ CommandLineContext.java 2 Jun 2002 21:40:22 - 1.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/CommandLineContext.java,v 1.2 2002/04/24 02:21:04 kinman Exp $ - * $Revision: 1.2 $ - * $Date: 2002/04/24 02:21:04 $ + * $Header: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/CommandLineContext.java,v 1.3 2002/06/02 21:40:22 remm Exp $ + * $Revision: 1.3 $ + * $Date: 2002/06/02 21:40:22 $ * * * @@ -66,10 +66,10 @@ package org.apache.jasper; import java.io.*; +import java.util.StringTokenizer; import org.apache.jasper.compiler.JspReader; import org.apache.jasper.compiler.ServletWriter; -import org.apache.jasper.compiler.CommandLineCompiler; import org.apache.jasper.compiler.Compiler; import java.net.URL; @@ -83,9 +83,14 @@ * * @author Danno Ferrin * @author Pierre Delisle + * @author Remy Maucherat */ public class CommandLineContext implements JspCompilationContext { + +// - Instance Variables + + String classPath; JspReader reader; ServletWriter writer; @@ -93,23 +98,24 @@ boolean errPage; String jspFile; String servletClassName; -String servletPackageName; +String servletPackageName = Constants.JSP_PACKAGE_NAME;; String servletJavaFileName; String contentType; Options options; +private String classFileName; +private String jspPath; +private String outputDir; String uriBase; File uriRoot; boolean outputInDirs; -public CommandLineContext(String newClassPath, - String newJspFile, String newUriBase, +public CommandLineContext(String newJspFile, String newUriBase, String newUriRoot, boolean newErrPage, Options newOptions) -throws JasperException -{ -classPath = newClassPath; +throws JasperException { + uriBase = newUriBase; String tUriRoot = newUriRoot; jspFile = newJspFile; @@ -138,8 +144,33 @@ Constants.getString(jsp.error.jspc.uriroot_not_dir)); } } + } + +/** + * Resolve relative path, and create output directories. + */ +public void setupContext() { + +outputDir = options.getScratchDir().toString(); + +if (isOutputInDirs()) { +int indexOfSlash = getJspFile().lastIndexOf('/'); +String pathName = ; +if (indexOfSlash != -1) { +pathName = getJspFile().substring(0, indexOfSlash); +} +String tmpDir = outputDir + File.separatorChar + pathName; +File f = new File(tmpDir); +if (!f.exists()) { +f.mkdirs(); +} +} + +} + + /** * The classpath that is passed off to the Java compiler. */ @@ -148,6 +179,13 @@ } /** + * The classpath that is passed off to the Java compiler. + */ +public void setClassPath(String classPath) { +this.classPath = classPath; +} + +/** * Get the input reader for the JSP text. */ public JspReader getReader() { @@ -179,25 +217,13 @@ /** * The scratch directory to generate code into. - * - * FIXME: In some places this is called scratchDir and in some - * other places it is called outputDir. */ public String getOutputDir() { -return options.getScratchDir().toString(); +
Re: [PROPOSAL] Tag pooling/reuse in Jasper 2
I think it a good idea to limit the stacks to some reasonable value. One easy way of accomplishing this is to add a tag object to the stack only when its stack has not reach its maximum size. The neat thing about these two approaches is that they can both be implemented. Once a tag object is obtained from the stack, the compiler can assign it to a local variable, and reuse that local variable for another tag handler in the same page, if needed. The compiler has full control over when a tag object returns to the pool (stack). Like Jan said, we intended to do such optimization for tags in iteration bodies. I know Peter Lin is very interest in this area, and has tools and applications for measuring performance. It'd be good if Peter can run them again after we put back our mods, and tell us what other areas that need to be worked on. - Kin-man Date: Sat, 01 Jun 2002 18:59:14 -0400 (EDT) From: Denis Benoit [EMAIL PROTECTED] Subject: Re: [PROPOSAL] Tag pooling/reuse in Jasper 2 To: Tomcat Developers List [EMAIL PROTECTED], Jan Luehe [EMAIL PROTECTED] MIME-version: 1.0 Delivered-to: mailing list [EMAIL PROTECTED] Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm X-Antivirus: nagoya (v4198 created Apr 24 2002) X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N List-Post: mailto:[EMAIL PROTECTED] List-Subscribe: mailto:[EMAIL PROTECTED] List-Unsubscribe: mailto:[EMAIL PROTECTED] List-Help: mailto:[EMAIL PROTECTED] List-Id: Tomcat Developers List tomcat-dev.jakarta.apache.org Hi, For my part, I'm a little concerned about the second approach. If there is a lot of pages with a lot of distinct tags; tags libraries are catching on fast; there may be a problem where Jasper would cache a lot of tags. If there is a sudden burst of use of a given page, the stacks of the tags used by that page could grow significantly. This memory would never be released. If there was some way where the stack could throw away excess tags, then this approach would be very good indeed. The idea I have in mind is the way the Apache 2.X HTTP server manages instances. When some instances have not been used for some time, it starts to shut them down until it reaches the MaxSpareServer number of instances. This way, a sudden burst of use of the web server does not clog the process table or the memory of the machine. This principle was very good. Something similar could very well be as successfull with tag pooling. This is just my .02 On Fri, 31 May 2002, Jan Luehe wrote: Kin-Man and I have been throwing around some ideas of how to support tag pooling and reuse in Jasper 2. According to the spec, only tags with the same set of attributes may be reused (see JSP.10.1.1, p.163, Lifecycle section, item 3): [3] Note that since there are no guarantees on the state of the properties, a tag handler that had some optional properties set can only be reused if those properties are set to a new (known) value. This means that tag handlers can only be reused within the same AttSet (set of attributes that have been set). This means that while the same tag handler instance may be used to service these tags: some_prefix:some_tag a=1 b=2/ some_prefix:some_tag a=1 b=3/ some_prefix:some_tag a=1 b=4/ some_prefix:some_tag a=1 b=5/ it may not be used to service some_prefix:some_tag a=1 b=5 c=3/ One of the ideas we have considered is to support tag reuse on a per-page basis, without allowing tag handlers to be shared across simultaneous page invocations. In this approach, each custom tag is assigned a tag handler variable name at compile time, based on its full name, its attribute names, and its nesting level (with respect to tags with the same name and AttSet). According to this, the two prefix1:tag1 tags in: prefix1:tag1 a=1 b=2/ prefix2:tag2 c=1 d=2 prefix1:tag1 a=1 b=2/ /prefix2:tag2 would be assigned the same tag handler variable name (both are at nesting level 0 with respect to their tag class), whereas the two prefix1:tag1 tags in: prefix1:tag1 a=1 b=2 prefix2:tag2 c=1 d=2 prefix1:tag1 a=1 b=2/ /prefix2:tag2 /prefix1:tag1 would be assigned different tag handler variable names, because they are at different nesting levels. All tag handler variables determined in this fashion would be declared as (local) variables at the beginning of the _jspService() method. The advantages of this approach would be: - No need for synchronization. - Tag handler reuse is determined at compile time. Disadvantages would be: - Tag handlers are not shared across multiple page invocations. - Does not work well with the proposed approach to remove the 64K limit, since a (possibly large) number of tag handlers would have to be passed as arguments to (sub)method calls.