Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003423 [Resin] minor always 03-27-09 07:11 05-07-09 13:16
Reporter ferg View Status public  
Assigned To ferg
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 4.0.1 Product Version 3.1.8
  Product Build
Summary 0003423: ClassEntry/SystemClassLoader deadlock
Description 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.

Steps To Reproduce
Additional Information
Attached Files

- Relationships

- Notes
(0003943)
stbu
03-27-09 12:42

Scott,
could this be related to the deadlock issue during JSP Precompile that I've reported at bug 3220 http://bugs.caucho.com/view.php?id=3220 [^]
 

- Issue History
Date Modified Username Field Change
03-27-09 07:11 ferg New Issue
03-27-09 12:42 stbu Note Added: 0003943
03-27-09 12:43 stbu Issue Monitored: stbu
05-07-09 13:16 ferg Assigned To  => ferg
05-07-09 13:16 ferg Status new => closed
05-07-09 13:16 ferg Resolution open => fixed
05-07-09 13:16 ferg Fixed in Version  => 4.0.1
05-07-09 13:16 ferg Description Updated


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
31 total queries executed.
26 unique queries executed.
Powered by Mantis Bugtracker