You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by bu...@apache.org on 2008/09/23 12:15:40 UTC

DO NOT REPLY [Bug 45862] New: StackOverflow problem when using FOP in multi threaded environment

https://issues.apache.org/bugzilla/show_bug.cgi?id=45862

           Summary: StackOverflow problem when using FOP in multi threaded
                    environment
           Product: Fop
           Version: 0.95
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: fo tree
        AssignedTo: fop-dev@xmlgraphics.apache.org
        ReportedBy: kunitoki@gmail.com


while executing a simple pdf generation from a servlet context, there is a
problem of Stack oveflow, but if i do call the same transformation commands
(the same as FOP site examples, but using saxon fo having xslt2 features) a
standalone application it doesn't crash:


Starting Helma in directory /home/kraken/REPOSITORY
Starting HTTP server on port 8090
Starting AJP13 listener on port 8009
Adding to classpath: /home/kraken/REPOSITORY/lib/ext/saxon9sa.jar
Adding to classpath: /home/kraken/REPOSITORY/lib/ext/xmlgraphics-commons.jar
Adding to classpath: /home/kraken/REPOSITORY/lib/ext/fop.jar
Adding to classpath: /home/kraken/REPOSITORY/lib/ext/avalon-framework.jar
Starting Helma 1.6.2 (September 23 2008) on Java 1.5.0_13
[2008/09/23 11:12:28] [INFO] Starting Helma 1.6.2 (September 23 2008) on Java
1.5.0_13
[2008/09/23 11:12:28] [INFO] Setting Helma Home to /home/kororaa/REPOSITORY
[2008/09/23 11:12:28] [INFO] Starting AJP13-Listener on port 0.0.0.0:8009
[2008/09/23 11:12:28] [INFO] Version Jetty/5.1.14
...
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.pdf.PDFRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.ps.PSRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.txt.TXTRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.bitmap.PNGRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.bitmap.TIFFRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.xml.XMLRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.awt.AWTRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.print.PrintRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.afp.AFPRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for Renderer:
org.apache.fop.render.pcl.PCLRendererMaker
[2008/09/23 12:03:11] [DEBUG] Dynamically adding maker for FOEventHandler:
org.apache.fop.render.rtf.RTFFOEventHandlerMaker
[2008/09/23 12:03:11] [DEBUG] target-resolution set to: 72.0dpi
(px2mm=0.35277778)
[2008/09/23 12:03:11] [DEBUG] Dynamically adding PDFImageHandler:
org.apache.fop.render.pdf.PDFImageHandlerRawJPEG
[2008/09/23 12:03:11] [DEBUG] Dynamically adding PDFImageHandler:
org.apache.fop.render.pdf.PDFImageHandlerRawCCITTFax
[2008/09/23 12:03:11] [DEBUG] Dynamically adding PDFImageHandler:
org.apache.fop.render.pdf.PDFImageHandlerGraphics2D
[2008/09/23 12:03:11] [DEBUG] Dynamically adding PDFImageHandler:
org.apache.fop.render.pdf.PDFImageHandlerRenderedImage
[2008/09/23 12:03:11] [DEBUG] Dynamically adding PDFImageHandler:
org.apache.fop.render.pdf.PDFImageHandlerXML
[2008/09/23 12:03:11] [DEBUG] userconfig is null
[2008/09/23 12:03:11] [DEBUG] Registering: any,normal,400 under F5
[2008/09/23 12:03:11] [DEBUG] Registering: any,italic,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: any,oblique,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: any,normal,700 under F7
[2008/09/23 12:03:11] [DEBUG] Registering: any,italic,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: any,oblique,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: sans-serif,normal,400 under F1
[2008/09/23 12:03:11] [DEBUG] Registering: sans-serif,oblique,400 under F2
[2008/09/23 12:03:11] [DEBUG] Registering: sans-serif,italic,400 under F2
[2008/09/23 12:03:11] [DEBUG] Registering: sans-serif,normal,700 under F3
[2008/09/23 12:03:11] [DEBUG] Registering: sans-serif,oblique,700 under F4
[2008/09/23 12:03:11] [DEBUG] Registering: sans-serif,italic,700 under F4
[2008/09/23 12:03:11] [DEBUG] Registering: SansSerif,normal,400 under F1
[2008/09/23 12:03:11] [DEBUG] Registering: SansSerif,oblique,400 under F2
[2008/09/23 12:03:11] [DEBUG] Registering: SansSerif,italic,400 under F2
[2008/09/23 12:03:11] [DEBUG] Registering: SansSerif,normal,700 under F3
[2008/09/23 12:03:11] [DEBUG] Registering: SansSerif,oblique,700 under F4
[2008/09/23 12:03:11] [DEBUG] Registering: SansSerif,italic,700 under F4
[2008/09/23 12:03:11] [DEBUG] Registering: serif,normal,400 under F5
[2008/09/23 12:03:11] [DEBUG] Registering: serif,oblique,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: serif,italic,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: serif,normal,700 under F7
[2008/09/23 12:03:11] [DEBUG] Registering: serif,oblique,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: serif,italic,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: monospace,normal,400 under F9
[2008/09/23 12:03:11] [DEBUG] Registering: monospace,oblique,400 under F10
[2008/09/23 12:03:11] [DEBUG] Registering: monospace,italic,400 under F10
[2008/09/23 12:03:11] [DEBUG] Registering: monospace,normal,700 under F11
[2008/09/23 12:03:11] [DEBUG] Registering: monospace,oblique,700 under F12
[2008/09/23 12:03:11] [DEBUG] Registering: monospace,italic,700 under F12
[2008/09/23 12:03:11] [DEBUG] Registering: Monospaced,normal,400 under F9
[2008/09/23 12:03:11] [DEBUG] Registering: Monospaced,oblique,400 under F10
[2008/09/23 12:03:11] [DEBUG] Registering: Monospaced,italic,400 under F10
[2008/09/23 12:03:11] [DEBUG] Registering: Monospaced,normal,700 under F11
[2008/09/23 12:03:11] [DEBUG] Registering: Monospaced,oblique,700 under F12
[2008/09/23 12:03:11] [DEBUG] Registering: Monospaced,italic,700 under F12
[2008/09/23 12:03:11] [DEBUG] Registering: Helvetica,normal,400 under F1
[2008/09/23 12:03:11] [DEBUG] Registering: Helvetica,oblique,400 under F2
[2008/09/23 12:03:11] [DEBUG] Registering: Helvetica,italic,400 under F2
[2008/09/23 12:03:11] [DEBUG] Registering: Helvetica,normal,700 under F3
[2008/09/23 12:03:11] [DEBUG] Registering: Helvetica,oblique,700 under F4
[2008/09/23 12:03:11] [DEBUG] Registering: Helvetica,italic,700 under F4
[2008/09/23 12:03:11] [DEBUG] Registering: Times,normal,400 under F5
[2008/09/23 12:03:11] [DEBUG] Registering: Times,oblique,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: Times,italic,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: Times,normal,700 under F7
[2008/09/23 12:03:11] [DEBUG] Registering: Times,oblique,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: Times,italic,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: Courier,normal,400 under F9
[2008/09/23 12:03:11] [DEBUG] Registering: Courier,oblique,400 under F10
[2008/09/23 12:03:11] [DEBUG] Registering: Courier,italic,400 under F10
[2008/09/23 12:03:11] [DEBUG] Registering: Courier,normal,700 under F11
[2008/09/23 12:03:11] [DEBUG] Registering: Courier,oblique,700 under F12
[2008/09/23 12:03:11] [DEBUG] Registering: Courier,italic,700 under F12
[2008/09/23 12:03:11] [DEBUG] Registering: Symbol,normal,400 under F13
[2008/09/23 12:03:11] [DEBUG] Registering: ZapfDingbats,normal,400 under F14
[2008/09/23 12:03:11] [DEBUG] Registering: Times-Roman,normal,400 under F5
[2008/09/23 12:03:11] [DEBUG] Registering: Times-Roman,oblique,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: Times-Roman,italic,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: Times-Roman,normal,700 under F7
[2008/09/23 12:03:11] [DEBUG] Registering: Times-Roman,oblique,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: Times-Roman,italic,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: Times Roman,normal,400 under F5
[2008/09/23 12:03:11] [DEBUG] Registering: Times Roman,oblique,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: Times Roman,italic,400 under F6
[2008/09/23 12:03:11] [DEBUG] Registering: Times Roman,normal,700 under F7
[2008/09/23 12:03:11] [DEBUG] Registering: Times Roman,oblique,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering: Times Roman,italic,700 under F8
[2008/09/23 12:03:11] [DEBUG] Registering:
Computer-Modern-Typewriter,normal,400 under F9
[2008/09/23 12:03:11] [DEBUG] Building formatting object tree
[2008/09/23 12:03:11] [DEBUG] Current heap size: 7229KB
[2008/09/23 12:03:11] [DEBUG] Starting layout
[2008/09/23 12:03:11] [DEBUG] [1]
[2008/09/23 12:03:11] [DEBUG] PLM> flow BPD =792870
[2008/09/23 12:03:11] [DEBUG] start of the next element list is: page=1 col=0
[2008/09/23 12:03:11] [ERROR] null: java.lang.StackOverflowError
java.lang.StackOverflowError
        at java.lang.ThreadLocal.get(ThreadLocal.java:125)
        at sun.misc.FloatingDecimal.developLongDigits(FloatingDecimal.java:312)
        at sun.misc.FloatingDecimal.dtoa(FloatingDecimal.java:549)
        at sun.misc.FloatingDecimal.(FloatingDecimal.java:442)
        at java.lang.StringBuffer.append(StringBuffer.java:365)
        at
org.apache.fop.fo.properties.PercentLength.toString(PercentLength.java:121)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.flow.table.TableColumn.toString(TableColumn.java:233)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at org.apache.fop.datatypes.LengthBase.toString(LengthBase.java:135)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.properties.PercentLength.toString(PercentLength.java:121)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.flow.table.TableColumn.toString(TableColumn.java:233)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at org.apache.fop.datatypes.LengthBase.toString(LengthBase.java:135)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.properties.PercentLength.toString(PercentLength.java:121)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.flow.table.TableColumn.toString(TableColumn.java:233)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at org.apache.fop.datatypes.LengthBase.toString(LengthBase.java:135)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.properties.PercentLength.toString(PercentLength.java:121)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.flow.table.TableColumn.toString(TableColumn.java:233)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at org.apache.fop.datatypes.LengthBase.toString(LengthBase.java:135)
        at java.lang.String.valueOf(String.java:2615)
        at java.lang.StringBuffer.append(StringBuffer.java:220)
        at
org.apache.fop.fo.properties.PercentLength.toString(PercentLength.java:121)
        at java.lang.String.valueOf(String.java:2615)
        ...


It seems a problem in the FOP library, or maybe a clash of some java classe in
path.


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 45862] StackOverflow problem when using FOP in multi threaded environment

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=45862


Andreas L. Delmelle <ad...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




--- Comment #1 from Andreas L. Delmelle <ad...@apache.org>  2008-09-27 10:04:59 PST ---

FWIW: This issue has already been fixed in FOP Trunk, see: 
http://svn.apache.org/viewvc?rev=670335&view=rev

The workaround in your case is to disable FOP's debug output, which will lead
to TableColumn.toString() never being called (and is not meant to be set active
in a production environment anyway)


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 45862] StackOverflow problem when using FOP in multi threaded environment

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=45862





--- Comment #2 from Lucio Asnaghi <ku...@gmail.com>  2008-09-28 04:12:07 PST ---
how can i disable FOP debug output only without affecting the other libraries
or the containers (for which i need the debug output) ?

and anyway, disabling debug is sure meant in a production environment, but i
usually work in development environment...


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 45862] StackOverflow problem when using FOP in multi threaded environment

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=45862

Glenn Adams <gl...@skynav.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |CLOSED

--- Comment #4 from Glenn Adams <gl...@skynav.com> 2012-04-01 06:41:53 UTC ---
batch transition pre-FOP1.0 resolved+fixed bugs to closed+fixed

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

DO NOT REPLY [Bug 45862] StackOverflow problem when using FOP in multi threaded environment

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=45862





--- Comment #3 from Andreas L. Delmelle <ad...@apache.org>  2008-09-28 04:47:37 PST ---
(In reply to comment #2)
> how can i disable FOP debug output only without affecting the other libraries
> or the containers (for which i need the debug output) ?
> 

Depends on what the concrete logging framework is that is used in your
environment. FOP uses Jakarta Commons Logging, which by default uses standard
JDK Logging (where you can definitely set the log-level on a per-package basis,
i.e. level = INFO for everything in org.apache.fop and descendants)

see: http://xmlgraphics.apache.org/fop/0.95/embedding.html#basic-logging


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.