[ 
https://issues.apache.org/jira/browse/FOP-2157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13947874#comment-13947874
 ] 

Morten Knudsen commented on FOP-2157:
-------------------------------------

Could the solution be implement some ordering in CompareUtil.equals?
My suggestion:
{color:green}
/**
     * Compares two objects for equality.
     * Orders the object according to the System.identityHashCode
     * @param o1 an object
     * @param o2 another object
     * @return true if either o1 and o2 are null or if the object with the 
lowest System.identityHashCode equals the other)
     */{color}
    {color:orange}public static boolean{color} equal(Object o1, Object o2) {
     {color:orange}boolean{color} swap = 
System.identityHashCode(o1)>System.identityHashCode(o2);
     Object first = swap ? o2 : o1;
    Object second = swap ? o1 : o2;
        {color:orange}return{color} first == {color:orange}null{color} ? second 
== {color:orange}null{color} : first == second || first.equals(second);
    }

Of course it wouldn't work with nested ListProperty's that "cross reference" 
each other: 
(ListProperty O1 contains ListProperty O2, and vice versa O2 contains O1), but 
I doubt this is ever the case?

Patch:
{noformat}
--- CompareUtilOld.java 2014-03-26 13:52:29.587308900 +0100
+++ CompareUtil.java    2014-03-26 13:42:00.109308900 +0100
@@ -29,13 +29,16 @@

     /**
      * Compares two objects for equality.
-     *
+     * Orders the object according to the System.identityHashCode
      * @param o1 an object
      * @param o2 another object
-     * @return true if either o1 and o2 are null or if o1.equals(o2)
+     * @return true if either o1 and o2 are null or if the object with the 
lowe                                     st System.identityHashCode equals the 
other)
      */
     public static boolean equal(Object o1, Object o2) {
-        return o1 == null ? o2 == null : o1 == o2 || o1.equals(o2);
+             boolean swap = 
System.identityHashCode(o1)>System.identityHashCode                             
        (o2);
+                   Object first = swap ? o2 : o1;
+                   Object second = swap ? o1 : o2;
+        return first == null ? second == null : first == second || 
first.equals                                     (second);
     }

     /**
{noformat}

> Deadlock in CompareUtil class
> -----------------------------
>
>                 Key: FOP-2157
>                 URL: https://issues.apache.org/jira/browse/FOP-2157
>             Project: Fop
>          Issue Type: Bug
>          Components: general
>    Affects Versions: trunk
>         Environment: Operating System: All
> Platform: PC
>            Reporter: Matthias Reischenbacher
>            Assignee: Alexios Giotis
>         Attachments: FOP DEADLOCK jakarta_service_20121107.log, 
> report-dump.txt, thread-dump.txt
>
>
> I'm getting a dead lock in the CompareUtil class, see the attached thread 
> dump. 
> Here small fragment of the thread dump
> [2012-11-07 14:06:25] [info] Found one Java-level deadlock:
> [2012-11-07 14:06:25] [info] =============================
> [2012-11-07 14:06:25] [info] 
> [2012-11-07 14:06:25] [info] "http-80-exec-58":
> [2012-11-07 14:06:25] [info]   waiting to lock monitor 0x0000000006ca9480
> [2012-11-07 14:06:25] [info]  (object 0x000000071fe9bd00, a java.util.Vector)
> [2012-11-07 14:06:25] [info] ,
>   which is held by "http-80-exec-5"
> [2012-11-07 14:06:25] [info] 
> [2012-11-07 14:06:25] [info] "http-80-exec-5":
> [2012-11-07 14:06:25] [info]   waiting to lock monitor 0x00000000116ecfc8
> [2012-11-07 14:06:25] [info]  (object 0x000000071fe9a000, a java.util.Vector)
> [2012-11-07 14:06:25] [info] ,
>   which is held by "http-80-exec-18"
> [2012-11-07 14:06:25] [info] 
> [2012-11-07 14:06:25] [info] "http-80-exec-18":
> [2012-11-07 14:06:25] [info]   waiting to lock monitor 0x0000000006ca9480
> [2012-11-07 14:06:25] [info]  (object 0x000000071fe9bd00, a java.util.Vector)
> [2012-11-07 14:06:25] [info] ,
>   which is held by "http-80-exec-5"
> [2012-11-07 14:06:25] [info] 
> [2012-11-07 14:06:25] [info] 
> [2012-11-07 14:06:25] [info] Java stack information for the threads listed 
> above:
> [2012-11-07 14:06:25] [info] 
> ===================================================
> [2012-11-07 14:06:25] [info] "http-80-exec-58":
> [2012-11-07 14:06:25] [info]  at java.util.Vector.equals(Vector.java:925)
> [2012-11-07 14:06:25] [info]  - waiting to lock <0x000000071fe9bd00> 
> [2012-11-07 14:06:25] [info] (a java.util.Vector)
> [2012-11-07 14:06:25] [info]  at 
> org.apache.fop.util.CompareUtil.equal(CompareUtil.java:38)
> [2012-11-07 14:06:25] [info]  at 
> org.apache.fop.fo.properties.ListProperty.equals(ListProperty.java:123)
> [2012-11-07 14:06:25] [info]  at 
> org.apache.fop.fo.properties.PropertyCache.eq(PropertyCache.java:193)
> [2012-11-07 14:06:25] [info]  at 
> org.apache.fop.fo.properties.PropertyCache.fetch(PropertyCache.java:134)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.FontFamilyProperty$Maker.make(FontFamilyProperty.java:94)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.PropertyList.convertAttributeToProperty(PropertyList.java:413)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.PropertyList.addAttributesToList(PropertyList.java:321)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FObj.processNode(FObj.java:122)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:280)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1073)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:359)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:145)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:390)
> [2012-11-07 14:06:26] [info]  at 
> smc.fop.FopWrapper.transform(FopWrapper.java:150)
> [2012-11-07 14:06:26] [info]  at 
> smc.fop.FopWrapper.transform(FopWrapper.java:125)
> [2012-11-07 14:06:26] [info]  at smc.plugin.Dom2PDF.process(Dom2PDF.java:179)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [2012-11-07 14:06:26] [info]  at 
> java.lang.reflect.Method.invoke(Method.java:597)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.dynacode.DynaCode$MyInvocationHandler.invoke(DynaCode.java:374)
> [2012-11-07 14:06:26] [info]  at $Proxy35.process(Unknown Source)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.TransformerStep.processDocument(TransformerStep.java:211)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.Transformer.process(Transformer.java:491)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.Transformer.process(Transformer.java:442)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.TransformServlet.doGet(TransformServlet.java:184)
> [2012-11-07 14:06:26] [info]  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> [2012-11-07 14:06:26] [info]  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:880)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2081)
> [2012-11-07 14:06:26] [info]  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> [2012-11-07 14:06:26] [info]  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> [2012-11-07 14:06:26] [info]  at java.lang.Thread.run(Thread.java:662)
> [2012-11-07 14:06:26] [info] "http-80-exec-5":
> [2012-11-07 14:06:26] [info]  at java.util.Vector.size(Vector.java:268)
> [2012-11-07 14:06:26] [info]  - waiting to lock <0x000000071fe9a000> 
> [2012-11-07 14:06:26] [info] (a java.util.Vector)
> [2012-11-07 14:06:26] [info]  at 
> java.util.AbstractList.listIterator(AbstractList.java:312)
> [2012-11-07 14:06:26] [info]  at 
> java.util.AbstractList.listIterator(AbstractList.java:284)
> [2012-11-07 14:06:26] [info]  at 
> java.util.AbstractList.equals(AbstractList.java:503)
> [2012-11-07 14:06:26] [info]  at java.util.Vector.equals(Vector.java:925)
> [2012-11-07 14:06:26] [info]  - locked <0x000000071fe9bd00> 
> [2012-11-07 14:06:26] [info] (a java.util.Vector)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.util.CompareUtil.equal(CompareUtil.java:38)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.ListProperty.equals(ListProperty.java:123)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.util.CompareUtil.equal(CompareUtil.java:38)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.CommonFont.equals(CommonFont.java:240)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.PropertyCache.eq(PropertyCache.java:193)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.PropertyCache.fetch(PropertyCache.java:134)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.CommonFont.getInstance(CommonFont.java:132)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.PropertyList.getFontProps(PropertyList.java:642)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.flow.Block.bind(Block.java:111)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FObj.processNode(FObj.java:124)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:280)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1073)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:359)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:145)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:390)
> [2012-11-07 14:06:26] [info]  at 
> smc.fop.FopWrapper.transform(FopWrapper.java:150)
> [2012-11-07 14:06:26] [info]  at 
> smc.fop.FopWrapper.transform(FopWrapper.java:125)
> [2012-11-07 14:06:26] [info]  at smc.plugin.Dom2PDF.process(Dom2PDF.java:179)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [2012-11-07 14:06:26] [info]  at 
> java.lang.reflect.Method.invoke(Method.java:597)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.dynacode.DynaCode$MyInvocationHandler.invoke(DynaCode.java:374)
> [2012-11-07 14:06:26] [info]  at $Proxy35.process(Unknown Source)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.TransformerStep.processDocument(TransformerStep.java:211)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.Transformer.process(Transformer.java:491)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.Transformer.process(Transformer.java:442)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.TransformServlet.doGet(TransformServlet.java:184)
> [2012-11-07 14:06:26] [info]  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> [2012-11-07 14:06:26] [info]  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:880)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2081)
> [2012-11-07 14:06:26] [info]  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> [2012-11-07 14:06:26] [info]  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> [2012-11-07 14:06:26] [info]  at java.lang.Thread.run(Thread.java:662)
> [2012-11-07 14:06:26] [info] "http-80-exec-18":
> [2012-11-07 14:06:26] [info]  at java.util.Vector.get(Vector.java:693)
> [2012-11-07 14:06:26] [info]  - waiting to lock <0x000000071fe9bd00> 
> [2012-11-07 14:06:26] [info] (a java.util.Vector)
> [2012-11-07 14:06:26] [info]  at 
> java.util.AbstractList$Itr.next(AbstractList.java:345)
> [2012-11-07 14:06:26] [info]  at 
> java.util.AbstractList.equals(AbstractList.java:506)
> [2012-11-07 14:06:26] [info]  at java.util.Vector.equals(Vector.java:925)
> [2012-11-07 14:06:26] [info]  - locked <0x000000071fe9a000> 
> [2012-11-07 14:06:26] [info] (a java.util.Vector)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.util.CompareUtil.equal(CompareUtil.java:38)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.ListProperty.equals(ListProperty.java:123)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.util.CompareUtil.equal(CompareUtil.java:38)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.CommonFont.equals(CommonFont.java:240)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.PropertyCache.eq(PropertyCache.java:193)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.PropertyCache.fetch(PropertyCache.java:134)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.properties.CommonFont.getInstance(CommonFont.java:132)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.PropertyList.getFontProps(PropertyList.java:642)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.flow.Block.bind(Block.java:111)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FObj.processNode(FObj.java:124)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:280)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:175)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1073)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xml.serializer.TreeWalker.startNode(TreeWalker.java:359)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:145)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:390)
> [2012-11-07 14:06:26] [info]  at 
> smc.fop.FopWrapper.transform(FopWrapper.java:150)
> [2012-11-07 14:06:26] [info]  at 
> smc.fop.FopWrapper.transform(FopWrapper.java:125)
> [2012-11-07 14:06:26] [info]  at smc.plugin.Dom2PDF.process(Dom2PDF.java:179)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [2012-11-07 14:06:26] [info]  at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [2012-11-07 14:06:26] [info]  at 
> java.lang.reflect.Method.invoke(Method.java:597)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.dynacode.DynaCode$MyInvocationHandler.invoke(DynaCode.java:374)
> [2012-11-07 14:06:26] [info]  at $Proxy35.process(Unknown Source)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.TransformerStep.processDocument(TransformerStep.java:211)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.Transformer.process(Transformer.java:491)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.core.Transformer.process(Transformer.java:442)
> [2012-11-07 14:06:26] [info]  at 
> smc.transform.TransformServlet.doGet(TransformServlet.java:184)
> [2012-11-07 14:06:26] [info]  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> [2012-11-07 14:06:26] [info]  at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> [2012-11-07 14:06:26] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:26] [info]  at 
> org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
> [2012-11-07 14:06:27] [info]  at 
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:880)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:719)
> [2012-11-07 14:06:27] [info]  at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2081)
> [2012-11-07 14:06:27] [info]  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> [2012-11-07 14:06:27] [info]  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> [2012-11-07 14:06:27] [info]  at java.lang.Thread.run(Thread.java:662)
> [2012-11-07 14:06:27] [info] 
> Found 1 deadlock.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to