Hi *!

I've occassionally found a thread deadlock in a halted instance of Resin-3.1.8.
I've appended the jstack trace.

Xalan XSLTC does employ some aggressive classloading, since it's a XSLT-to-java 
compiler.
It seems that it would occassionally (I don't remember this happening often) 
cause resin's
classloader to fail.

Looks like thread http--8123-29 and thread http--8123-33 are deadlocked in the 
classloader code,

Found one Java-level deadlock:
=============================
"http--8123-120$22712691":
  waiting to lock monitor 0x08b126ac (object 0x5828b390, a 
ru.sbtc.util.StylesheetManager),
  which is held by "http--8123-25$8931423"
"http--8123-25$8931423":
  waiting to lock monitor 0x08b0b5e0 (object 0x5525c6b0, a 
com.caucho.loader.SystemClassLoader),
  which is held by "http--8123-33$15917864"
"http--8123-33$15917864":
  waiting to lock monitor 0x089d2be0 (object 0x5d3fea48, a 
com.caucho.loader.ClassEntry),
  which is held by "http--8123-29$31079116"
"http--8123-29$31079116":
  waiting to lock monitor 0x08b0b5e0 (object 0x5525c6b0, a 
com.caucho.loader.SystemClassLoader),
  which is held by "http--8123-33$15917864"

Java stack information for the threads listed above:
===================================================
"http--8123-120$22712691":
        at 
ru.sbtc.util.StylesheetManager.getTransformer(StylesheetManager.java:139)
        - waiting to lock <0x5828b390> (a ru.sbtc.util.StylesheetManager)
        at 
ru.sbtc.sitebuilder.servlet.XMLMenuServlet.doGet(XMLMenuServlet.java:84)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
...
"http--8123-25$8931423":
        at 
org.apache.xalan.xsltc.compiler.XPathLexer.<init>(XPathLexer.java:165)
        at 
org.apache.xalan.xsltc.compiler.Parser.parseTopLevel(Parser.java:1092)
        at 
org.apache.xalan.xsltc.compiler.Parser.parseExpression(Parser.java:1055)
        at org.apache.xalan.xsltc.compiler.If.parseContents(If.java:61)
        at 
org.apache.xalan.xsltc.compiler.SyntaxTreeNode.parseChildren(SyntaxTreeNode.java:432)
        at 
org.apache.xalan.xsltc.compiler.VariableBase.parseContents(VariableBase.java:229)
        at 
org.apache.xalan.xsltc.compiler.Variable.parseContents(Variable.java:53)
        at 
org.apache.xalan.xsltc.compiler.Stylesheet.parseOwnChildren(Stylesheet.java:577)
        at 
org.apache.xalan.xsltc.compiler.Stylesheet.parseContents(Stylesheet.java:559)
        at org.apache.xalan.xsltc.compiler.Parser.createAST(Parser.java:383)
        at org.apache.xalan.xsltc.compiler.XSLTC.compile(XSLTC.java:361)
        at org.apache.xalan.xsltc.compiler.XSLTC.compile(XSLTC.java:446)
        at 
org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:799)
        at 
ru.sbtc.util.StylesheetManager.loadTemplates(StylesheetManager.java:174)
        at 
ru.sbtc.util.StylesheetManager.getTransformer(StylesheetManager.java:161)
        - locked <0x5828b390> (a ru.sbtc.util.StylesheetManager)
        at 
ru.sbtc.sitebuilder.servlet.XMLMenuServlet.doGet(XMLMenuServlet.java:84)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
...
"http--8123-33$15917864":
        at 
com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1431)
        - waiting to lock <0x5d3fea48> (a com.caucho.loader.ClassEntry)
        at 
com.caucho.loader.DynamicClassLoader.findClassImpl(DynamicClassLoader.java:1390)
        at 
com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1289)
        at 
com.caucho.loader.SystemClassLoader.loadClassImpl(SystemClassLoader.java:217)
        at 
com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1219)
        at 
com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1203)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        - locked <0x5525c6b0> (a com.caucho.loader.SystemClassLoader)
        at 
org.apache.xalan.xsltc.compiler.Stylesheet.setImportPrecedence(Stylesheet.java:324)
        at org.apache.xalan.xsltc.compiler.Import.parseContents(Import.java:115)
        at 
org.apache.xalan.xsltc.compiler.Stylesheet.parseOwnChildren(Stylesheet.java:587)
        at 
org.apache.xalan.xsltc.compiler.Stylesheet.parseContents(Stylesheet.java:559)
        at org.apache.xalan.xsltc.compiler.Parser.createAST(Parser.java:383)
        at org.apache.xalan.xsltc.compiler.XSLTC.compile(XSLTC.java:361)
        at org.apache.xalan.xsltc.compiler.XSLTC.compile(XSLTC.java:446)
        at 
org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:799)
        at 
ru.sbtc.util.StylesheetManager.loadTemplates(StylesheetManager.java:174)
        at 
ru.sbtc.util.StylesheetManager.getTransformer(StylesheetManager.java:161)
        - locked <0x57067f10> (a ru.sbtc.util.StylesheetManager)
        at ru.sbtc.sitebuilder.servlet.XMLServlet.doGet(XMLServlet.java:193)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
...
"http--8123-29$31079116":
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at 
com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1523)
        - locked <0x5d3fea48> (a com.caucho.loader.ClassEntry)
        at 
com.caucho.loader.DynamicClassLoader.findClassImpl(DynamicClassLoader.java:1390)
        at 
com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1289)
        at 
com.caucho.loader.SystemClassLoader.loadClassImpl(SystemClassLoader.java:217)
        at 
com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1279)
        at 
com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1279)
        at 
com.caucho.loader.DynamicClassLoader.loadClassImpl(DynamicClassLoader.java:1279)
        at 
com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1219)
        at 
com.caucho.loader.DynamicClassLoader.loadClass(DynamicClassLoader.java:1203)
        at 
org.apache.xalan.xsltc.compiler.ObjectFactory.findProviderClass(ObjectFactory.java:508)
        at org.apache.xalan.xsltc.compiler.Parser.makeInstance(Parser.java:919)
        at org.apache.xalan.xsltc.compiler.Parser.startElement(Parser.java:1243)
        at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown 
Source)
        at 
org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
 Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown 
Source)
        at org.apache.xalan.xsltc.compiler.Parser.parse(Parser.java:415)
        at org.apache.xalan.xsltc.compiler.Parser.parse(Parser.java:467)
        at org.apache.xalan.xsltc.compiler.Import.parseContents(Import.java:99)
        at 
org.apache.xalan.xsltc.compiler.Stylesheet.parseOwnChildren(Stylesheet.java:587)
        at 
org.apache.xalan.xsltc.compiler.Stylesheet.parseContents(Stylesheet.java:559)
        at org.apache.xalan.xsltc.compiler.Parser.createAST(Parser.java:383)
        at org.apache.xalan.xsltc.compiler.XSLTC.compile(XSLTC.java:361)
        at org.apache.xalan.xsltc.compiler.XSLTC.compile(XSLTC.java:446)
        at 
org.apache.xalan.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:799)
        at 
ru.sbtc.util.StylesheetManager.loadTemplates(StylesheetManager.java:174)
        at 
ru.sbtc.util.StylesheetManager.getTransformer(StylesheetManager.java:161)
        - locked <0x5600ca80> (a ru.sbtc.util.StylesheetManager)
        at ru.sbtc.sitebuilder.InfoBlock.output(InfoBlock.java:2025)
        at ru.sbtc.sitebuilder.SectionToXML.process(SectionToXML.java:332)
        at ru.sbtc.sitebuilder.servlet.XMLServlet.doGet(XMLServlet.java:214)
...

Found 1 deadlock.


_______________________________________________
resin-interest mailing list
resin-interest@caucho.com
http://maillist.caucho.com/mailman/listinfo/resin-interest

Reply via email to