You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Tobias van Treeck <tv...@nepatec.de> on 2008/11/26 15:21:59 UTC

FOP & ApplicationServer Environment (Multithread)

Hi,

we use FOP 0.95 in an application server environment. Recently we did
some loadtests and
everything is fine so far, except for one small issue:

Tests:
- 5 parallel users
- bea application server

We get an exception in the very first run in the initialization phase of
FOP. When the
first user starts to generate a pdf and the others try to generate also
(shortly behind)
- then we get the exception given below. After that the loadtest is
fine.
The problem seems to be that when the first user initializes FOP and
during that
time other threads try to access it - it fails. 
If we make the test with just one user or one user and 4 others which
start later then
everything is fine.

Any ideas?
Help appreciated,
ToM


org.xml.sax.SAXException: Mismatch: page-sequence
(http://www.w3.org/1999/XSL/Format) vs. root
(http://www.w3.org/1999/XSL/Format) [Fehler 88147]
[de.something.OurExampleGeneratorImpl]
javax.xml.transform.TransformerException: org.xml.sax.SAXException:
Mismatch: page-sequence (http://www.w3.org/1999/XSL/Format) vs. root
(http://www.w3.org/1999/XSL/Format)
        at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:725)
        at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:425)
        at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:216)
        at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2339)
        at
org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2160)
        at
org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1213)
        at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:668)
        at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1129)
        at
org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1107)
 

      at
weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:492)
        at
weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
        at
weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:435)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
        at
weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:430)
        at
weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:35)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
Caused by: org.xml.sax.SAXException: Mismatch: page-sequence
(http://www.w3.org/1999/XSL/Format) vs. root
(http://www.w3.org/1999/XSL/Format)
        at
org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:335)
        at
org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:169)
        at
org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.java:309)
        at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:716)
        ... 26 more

>We're just being cautious as we don't currently have the necessary
>infrastructure to continuously test multi-threading behaviour. Many
>people
>are using FOP in a multi-threading environment and FOP seems to behave
>well. Just go ahead and use it, but do some load tests. I know of no
>current issues with multi-threading in 0.94 or current FOP Trunk.

>On 19.02.2008 11:06:19 Laurent Berthelot wrote:
>> Hello,
>> 
>> I want to use Fop in a multi-thread environement (J2EE) and on the
>> Apache
>> site it signals that Apache FOP may currently not be completely
>> thread safe.
>> 
>> Have you yet experimented that ?
>> And if yes, had you problems with ?
>Jeremias Maerki




---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: FOP & ApplicationServer Environment (Multithread)

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
My multi-threading test harness starts a configurable number of parallel
FOP instances but I've never come across an exception there. Anyway, I
suggest you look at the following FAQ entry, because the exception below
is just a follow-up error. The original error has likely been swallowed
by Xalan's default ErrorListener.

http://xmlgraphics.apache.org/fop/faq.html#saxexception-mismatch

Maybe that helps finding the original problem. From there we should be
able to go forward.

On 26.11.2008 15:21:59 Tobias van Treeck wrote:
> Hi,
> 
> we use FOP 0.95 in an application server environment. Recently we did
> some loadtests and
> everything is fine so far, except for one small issue:
> 
> Tests:
> - 5 parallel users
> - bea application server
> 
> We get an exception in the very first run in the initialization phase of
> FOP. When the
> first user starts to generate a pdf and the others try to generate also
> (shortly behind)
> - then we get the exception given below. After that the loadtest is
> fine.
> The problem seems to be that when the first user initializes FOP and
> during that
> time other threads try to access it - it fails. 
> If we make the test with just one user or one user and 4 others which
> start later then
> everything is fine.
> 
> Any ideas?
> Help appreciated,
> ToM
> 
> 
> org.xml.sax.SAXException: Mismatch: page-sequence
> (http://www.w3.org/1999/XSL/Format) vs. root
> (http://www.w3.org/1999/XSL/Format) [Fehler 88147]
> [de.something.OurExampleGeneratorImpl]
> javax.xml.transform.TransformerException: org.xml.sax.SAXException:
> Mismatch: page-sequence (http://www.w3.org/1999/XSL/Format) vs. root
> (http://www.w3.org/1999/XSL/Format)
>         at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:725)
>         at
> org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:425)
>         at
> org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:216)
>         at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2339)
>         at
> org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2160)
>         at
> org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1213)
>         at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:668)
>         at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1129)
>         at
> org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1107)
>  
> 
>       at
> weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:492)
>         at
> weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:108)
>         at
> weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:435)
>         at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
>         at
> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
>         at
> weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:430)
>         at
> weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:35)
>         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
>         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
> Caused by: org.xml.sax.SAXException: Mismatch: page-sequence
> (http://www.w3.org/1999/XSL/Format) vs. root
> (http://www.w3.org/1999/XSL/Format)
>         at
> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:335)
>         at
> org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:169)
>         at
> org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.java:309)
>         at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:716)
>         ... 26 more
> 
> >We're just being cautious as we don't currently have the necessary
> >infrastructure to continuously test multi-threading behaviour. Many
> >people
> >are using FOP in a multi-threading environment and FOP seems to behave
> >well. Just go ahead and use it, but do some load tests. I know of no
> >current issues with multi-threading in 0.94 or current FOP Trunk.
> 
> >On 19.02.2008 11:06:19 Laurent Berthelot wrote:
> >> Hello,
> >> 
> >> I want to use Fop in a multi-thread environement (J2EE) and on the
> >> Apache
> >> site it signals that Apache FOP may currently not be completely
> >> thread safe.
> >> 
> >> Have you yet experimented that ?
> >> And if yes, had you problems with ?
> >Jeremias Maerki
> 
> 



Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org