AW: Is there anybody out there?
Hi! we had he the same problem. In fact, it was the ImageCache that was not released and made the jvm crash. Try to release the cache by your program or try the patch I've posted for fop 0.20.5 ( Bugzilla Bug - ID 20407). Hope this helps. Cheers Mirko -Ursprungliche Nachricht- Von: Nandina Srinivas [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 17. Juli 2003 07:44 An: [EMAIL PROTECTED] Betreff: RE: Is there anybody out there? Dear Ali, I know fop is very memory intensive but what you are saying is a memory leak. We also use fop to generate PDF reports using servlets inside tomcat. It is generating reports of size 20 pages with ease on a 256mb RAM machine with -Xmx set to 128m. It takes upto 90mb for generating a pdf of 25 pages. But when I generate it again it is releasing memory. I doubt there is a leak in the driver code embedding FOP. Please check on it or if possible try to publish it. Somebody might help. Regards, Srinivas. --- ali farahani [EMAIL PROTECTED] wrote: Dear Thomas Here is what happens. I have closely watched the memory usage of FOP: I have a report with around 17 pages. One table with 12 columns. I use Velocity to put the data inside the FOP template. When it starts rendering the report (PDF or print preview) it consumes 50 MB. Second run another 50MB, third run another 50 MB , then with 256 MB RAM , when I go for forth run, CRASH BOOM BANG! Out of memeory exception. My users usually use the report during the day ( 7 hours) 10 to 20 times. So even 512 MB RAM workstations get out of memory easily. Running it under another JVM is a good idea but as you know it is not feasible from performance point of view. Ali -Original Message- From: Thomas Sporbeck [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 16, 2003 6:35 PM To: [EMAIL PROTECTED] Subject: AW: Is there anybody out there? Does this happen with the first report after starting the Java VM or later on (after some reports have rendered correctly)? Perhaps you may start FOP in a separate VM and exit it after the report has done, that's not ideal for performance but for stability. Thomas -Urspr|ngliche Nachricht- Von: ali farahani [mailto:[EMAIL PROTECTED] Gesendet: Mittwoch, 16. Juli 2003 15:55 An: [EMAIL PROTECTED] Betreff: Is there anybody out there? To all FOP developers The out of memory problem of FOP is getting critical for our company . So this is an offer for a FOP developer who can fix this problem. If anyone of you can fix this problem please contact me and we can talk about the offer. We are open for the price. Best Regards Ali Farahani - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] __ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
RE: Is there anybody out there?
J.Pietschmann wrote: I'm just waiting for the release to be prepared so that I can commit fixes for this and a few other annoyances. I know, but it always seems a shame to disappoint people who are eager to pay. Victor Mote - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/documentation/content/xdocs download.xml
chrisg 2003/07/17 09:29:38 Modified:src/documentation/content/xdocs download.xml Log: new download location Revision ChangesPath 1.11 +6 -5 xml-fop/src/documentation/content/xdocs/download.xml Index: download.xml === RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/download.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- download.xml 10 Jul 2003 00:22:38 - 1.10 +++ download.xml 17 Jul 2003 16:29:37 - 1.11 @@ -19,11 +19,12 @@ /section section id=binary titleBinary Download/title -pBinary distributions include -bin in their names, and can be downloaded from the link href=http://xml.apache.org/dist/fop/;FOP Distribution/link directory. +pBinary distributions include -bin in their names, and can be downloaded from the + link href=http://www.apache.org/dyn/closer.cgi/xml/fop;FOP Distribution/link directory. /p -noteWe're in the process of moving the download location. Please download the - latest release candidate from a - link href=http://www.apache.org/dyn/closer.cgi/xml/fop;mirror/link. +noteWe're in the process of moving the download location. If you're looking for old + distributions please check the + link href=http://xml.apache.org/dist/fop/;old download location/link. /note /section section id=source @@ -32,7 +33,7 @@ See link href=dev/index.htmlDevelopment Introduction/link for more details on the choices, and for the CVS tags to use when downloading the maintenance branch./p pThere are three ways to obtain a source distribution. Please note that they are listed from least current to most current:/p ul - liDownload a released version from the link href=http://xml.apache.org/dist/fop/;FOP Distribution/link directory. Source distributions include -src in their names. Please note that official releases currently are emonly/em made from the maintenance branch./li + liDownload a released version from the link href=http://www.apache.org/dyn/closer.cgi/xml/fop;FOP Distribution/link directory. Source distributions include -src in their names. Please note that official releases currently are emonly/em made from the maintenance branch./li liDownload a CVS snapshot from the cvs files link href=http://xml.apache.org/from-cvs/xml-fop/;here/link. These snapshots are built approximately every six hours, and have the GMT of their creation time embedded in their names. Please note that CVS snapshots are made only for the redesign branch./li liDownload directly from the CVS repository. Anyone can do this using the link href=http://xml.apache.org/cvs.html#AnonCVS;Anonymous CVS Server/link. By default, the CVS code is up-to-the-minute, the same code that the developers are modifying. See the link href=dev/tools.html#cvsCVS section of Developer Tools/link for more information on using CVS./li - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/fo FOText.java InlineCharIterator.java KeepProperty.java
vmote 2003/07/17 09:38:17 Modified:src/java/org/apache/fop/fo FOText.java InlineCharIterator.java KeepProperty.java Log: style changes only Revision ChangesPath 1.6 +49 -31xml-fop/src/java/org/apache/fop/fo/FOText.java Index: FOText.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/FOText.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- FOText.java 29 Jun 2003 19:34:33 - 1.5 +++ FOText.java 17 Jul 2003 16:38:17 - 1.6 @@ -76,15 +76,18 @@ */ public class FOText extends FObj { -protected char[] ca; -protected int start; -protected int length; -TextInfo textInfo; -TextState ts; +private char[] ca; +private int start; +private int length; +private TextInfo textInfo; +private TextState ts; /** * Keeps track of the last FOText object created within the current * block. This is used to create pointers between such objects. + * TODO: As soon as the control hierarchy is straightened out, this static + * variable needs to become an instance variable in some parent object, + * probably the page-sequence. */ private static FOText lastFOTextProcessed = null; @@ -106,10 +109,19 @@ */ private Block ancestorBlock = null; -public static final int IS_WORD_CHAR_FALSE = 0; -public static final int IS_WORD_CHAR_TRUE = 1; -public static final int IS_WORD_CHAR_MAYBE = 2; +private static final int IS_WORD_CHAR_FALSE = 0; +private static final int IS_WORD_CHAR_TRUE = 1; +private static final int IS_WORD_CHAR_MAYBE = 2; +/** + * + * @param chars array of chars which contains the text in this object (may + * be a superset of the text in this object + * @param s starting index into char[] for the text in this object + * @param e ending index into char[] for the text in this object + * @param ti TextInfo object for the text in this object + * @param parent FONode that is the parent of this object + */ public FOText(char[] chars, int s, int e, TextInfo ti, FONode parent) { super(parent); this.start = 0; @@ -169,6 +181,9 @@ list.add(lm); } +/** + * @return a new TextCharIterator + */ public CharIterator charIterator() { return new TextCharIterator(); } @@ -231,12 +246,11 @@ } } // if the last FOText is a sibling, point to it, and have it point here -if ( lastFOTextProcessed != null) { +if (lastFOTextProcessed != null) { if (lastFOTextProcessed.ancestorBlock == this.ancestorBlock) { prevFOTextThisBlock = lastFOTextProcessed; prevFOTextThisBlock.nextFOTextThisBlock = this; -} -else { +} else { prevFOTextThisBlock = null; } } @@ -266,7 +280,7 @@ * well, such as word-spacing. The definition of word is somewhat ambiguous * and appears to be definable by the user agent. * - * @param (int i) with index to ca[] + * @param i index into ca[] * * @return True if the character at this location is the start of a new * word. @@ -309,13 +323,13 @@ * block as one unit, allowing text in adjoining FOText objects to be * returned if the parameters are outside of the current object. * - * @param (int i) with the index for ca[] - * @param (int offset) signed integer with relative position within the + * @param i index into ca[] + * @param offset signed integer with relative position within the * block of the character to return. To return the character immediately * preceding i, pass -1. To return the character immediately after i, * pass 1. - * @return char the character in the offset position within the block. - * @return \u if the offset points to an area outside of the block. + * @return the character in the offset position within the block; \u if + * the offset points to an area outside of the block. */ public char getRelativeCharInBlock(int i, int offset) { // The easy case is where the desired character is in the same FOText @@ -331,7 +345,7 @@ char charToReturn = '\u'; FOText nodeToTest = this; int remainingOffset = offset + i; -while (! foundChar) { +while (!foundChar) { if (nodeToTest.prevFOTextThisBlock == null) { foundChar = true; break; @@ -340,8 +354,7 @@ if
Re: Is there anybody out there?
ali farahani wrote: I have a report with around 17 pages. One table with 12 columns. I use Velocity to put the data inside the FOP template. When it starts rendering the report (PDF or print preview) it consumes 50 MB. Second run another 50MB, third run another 50 MB , then with 256 MB RAM , when I go for forth run, CRASH BOOM BANG! Out of memeory exception. This sounds like a self-inflicted problem. FOP does not lock memory across rendering runs if you release the Driver and Renderer object, with the exception of the external graphics cache. The cache should not require additional memory for rendering the same document a second time, and locking 50MB would require quite a few hi-res images anyway. Therefore, check whether you release the Driver object you are creating, or at least call the reset() method after render() or run(), although the latter may still result in leaking memory. In addition you might try FOPImageFactory.resetCache() to clear the image cache. J.Pietschmann - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/svg SVGElementMapping.java
vmote 2003/07/17 10:31:29 Modified:src/java/org/apache/fop/extensions ExtensionElementMapping.java src/java/org/apache/fop/fo BoxPropShorthandParser.java CharacterProperty.java ColorTypeProperty.java CondLengthProperty.java ElementMapping.java EnumProperty.java FOElementMapping.java FONode.java FOTreeBuilder.java FObj.java src/java/org/apache/fop/svg SVGElementMapping.java Log: style changes only Revision ChangesPath 1.4 +1 -1 xml-fop/src/java/org/apache/fop/extensions/ExtensionElementMapping.java Index: ExtensionElementMapping.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/extensions/ExtensionElementMapping.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ExtensionElementMapping.java 13 Jul 2003 03:16:11 - 1.3 +++ ExtensionElementMapping.java 17 Jul 2003 17:31:28 - 1.4 @@ -66,7 +66,7 @@ * Constructor. */ public ExtensionElementMapping() { -URI = http://xml.apache.org/fop/extensions;; +namespaceURI = http://xml.apache.org/fop/extensions;; } /** 1.3 +5 -1 xml-fop/src/java/org/apache/fop/fo/BoxPropShorthandParser.java Index: BoxPropShorthandParser.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/BoxPropShorthandParser.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- BoxPropShorthandParser.java 26 Apr 2003 18:18:04 - 1.2 +++ BoxPropShorthandParser.java 17 Jul 2003 17:31:28 - 1.3 @@ -50,6 +50,9 @@ */ package org.apache.fop.fo; +/** + * Shorthand property parser for Box properties + */ public class BoxPropShorthandParser extends GenericShorthandParser { /** @@ -63,7 +66,8 @@ * Stores 1 to 4 values of same type. * Set the given property based on the number of values set. * Example: padding, border-width, border-color, border-style, margin - * @see org.apache.fop.fo.GenericShorthandParser#convertValueForProperty(String, Property.Maker, PropertyList) + * @see org.apache.fop.fo.GenericShorthandParser#convertValueForProperty(String, + * Property.Maker, PropertyList) */ protected Property convertValueForProperty(String propName, Property.Maker maker, 1.2 +31 -10xml-fop/src/java/org/apache/fop/fo/CharacterProperty.java Index: CharacterProperty.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/CharacterProperty.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- CharacterProperty.java11 Mar 2003 13:05:19 - 1.1 +++ CharacterProperty.java17 Jul 2003 17:31:28 - 1.2 @@ -3,34 +3,34 @@ * *The Apache Software License, Version 1.1 * - * + * * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, *this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation *and/or other materials provided with the distribution. - * + * * 3. The end-user documentation included with the redistribution, if any, must *include the following acknowledgment: This product includes software *developed by the Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowledgment may appear in the software itself, if *and wherever such third-party acknowledgments normally appear. - * + * * 4. The names FOP and Apache Software Foundation must not be used to *endorse or promote products derived from this software without prior *written permission. For written permission, please contact *[EMAIL PROTECTED] - * + * * 5. Products derived from this software may not be called Apache, nor may *Apache appear in their name, without prior written permission of the *Apache Software Foundation. - * + *
cvs commit: xml-fop/src/java/org/apache/fop/fo/pagination ColorProfile.java Declarations.java
vmote 2003/07/17 10:51:57 Modified:src/java/org/apache/fop/apps PrintStarter.java src/java/org/apache/fop/fo/pagination ColorProfile.java Declarations.java Log: style changes only Revision ChangesPath 1.5 +11 -11xml-fop/src/java/org/apache/fop/apps/PrintStarter.java Index: PrintStarter.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/apps/PrintStarter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- PrintStarter.java 10 Jul 2003 23:49:55 - 1.4 +++ PrintStarter.java 17 Jul 2003 17:51:57 - 1.5 @@ -3,34 +3,34 @@ * *The Apache Software License, Version 1.1 * - * + * * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, *this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation *and/or other materials provided with the distribution. - * + * * 3. The end-user documentation included with the redistribution, if any, must *include the following acknowledgment: This product includes software *developed by the Apache Software Foundation (http://www.apache.org/). *Alternately, this acknowledgment may appear in the software itself, if *and wherever such third-party acknowledgments normally appear. - * + * * 4. The names FOP and Apache Software Foundation must not be used to *endorse or promote products derived from this software without prior *written permission. For written permission, please contact *[EMAIL PROTECTED] - * + * * 5. Products derived from this software may not be called Apache, nor may *Apache appear in their name, without prior written permission of the *Apache Software Foundation. - * + * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE @@ -42,12 +42,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * + * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation and was originally created by * James Tauber [EMAIL PROTECTED]. For more information on the Apache * Software Foundation, please see http://www.apache.org/. - */ + */ package org.apache.fop.apps; /* * originally contributed by @@ -120,7 +120,7 @@ System.exit(0); } - + private int getIntProperty(String name, int def) { String propValue = System.getProperty(name); if (propValue != null) { 1.2 +22 -12xml-fop/src/java/org/apache/fop/fo/pagination/ColorProfile.java Index: ColorProfile.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/ColorProfile.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ColorProfile.java 17 Jul 2003 04:52:35 - 1.1 +++ ColorProfile.java 17 Jul 2003 17:51:57 - 1.2 @@ -3,34 +3,34 @@ * *The Apache Software License, Version 1.1 * - * + * * Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: - * + * * 1. Redistributions of source code must retain the above copyright notice, *this list of conditions and the following disclaimer. - * + * * 2. Redistributions in binary form must reproduce the above copyright notice, *this list of conditions and the following disclaimer in the documentation *and/or other
cvs commit: xml-fop/src/java/org/apache/fop/configuration ConfigurationReader.java
pbwest 2003/07/17 16:56:16 Modified:src/java/org/apache/fop/configuration Tag: FOP_0-20-0_Alt-Design ConfigurationReader.java Log: Type fix in comment. Revision ChangesPath No revision No revision 1.1.2.2 +2 -2 xml-fop/src/java/org/apache/fop/configuration/Attic/ConfigurationReader.java Index: ConfigurationReader.java === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/configuration/Attic/ConfigurationReader.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- ConfigurationReader.java 5 Jul 2003 19:05:39 - 1.1.2.1 +++ ConfigurationReader.java 17 Jul 2003 23:56:15 - 1.1.2.2 @@ -64,7 +64,7 @@ /** * entry class for reading configuration from file and creating a configuration - * class. typical use looks like that: br + * class. Typical use looks like: br * * codeConfigurationReader reader = new ConfigurationReader (config.xml,standard); * try { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/java/org/apache/fop/datatypes package.html
pbwest 2003/07/17 16:56:51 Modified:src/java/org/apache/fop/datatypes Tag: FOP_0-20-0_Alt-Design package.html Log: Settle javadoc warning down. Revision ChangesPath No revision No revision 1.2.2.2 +1 -1 xml-fop/src/java/org/apache/fop/datatypes/package.html Index: package.html === RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/datatypes/package.html,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -u -r1.2.2.1 -r1.2.2.2 --- package.html 5 Jul 2003 19:08:18 - 1.2.2.1 +++ package.html 17 Jul 2003 23:56:50 - 1.2.2.2 @@ -1,6 +1,6 @@ HTML TITLEorg.apache.fop.datatypes Package/TITLE BODY -PFOP representations of the XSL Datatypes and other pseudo-types/P +FOP representations of the XSL Datatypes and other pseudo-types. /BODY /HTML - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: xml-fop/src/documentation/content/xdocs team.xml
gmazza 2003/07/17 17:14:19 Modified:src/documentation/content/xdocs team.xml Log: Update my bio. Revision ChangesPath 1.11 +2 -1 xml-fop/src/documentation/content/xdocs/team.xml Index: team.xml === RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/team.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- team.xml 24 Jun 2003 22:01:04 - 1.10 +++ team.xml 18 Jul 2003 00:14:19 - 1.11 @@ -20,7 +20,8 @@ independence and is having fun working on open source projects like Apache FOP. He's also the creator of fork href=http://www.krysalis.org/barcode;Krysalis Barcode/fork. /li -li id=gmlink href=mailto:[EMAIL PROTECTED]Glen Mazza/link (GM)/li +li id=gmlink href=mailto:[EMAIL PROTECTED]Glen Mazza/link (GM) is an information systems analyst + with EDS in Arlington, Virginia, USA./li li id=wvmlink href=mailto:[EMAIL PROTECTED]Victor Mote/link (WVM) is the founder and manager of jump href=http://www.outfitr.com;Enterprise Outfitters/jump, a business software company, and of jump href=http://www.portagepub.com;Portage Publications/jump, a republisher of old documents. Both are located in Colorado Springs, Colorado, USA./li li id=jplink href=mailto:[EMAIL PROTECTED]J#x00F6;rg Pietschmann/link (JP)/li li id=aslink href=mailto:[EMAIL PROTECTED]Arved Sandstrom/link (AS)/li - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]