You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Guillaume Nodet (Jira)" <ji...@apache.org> on 2021/03/08 07:59:00 UTC
[jira] [Created] (MNG-7111) Deadlock when reading pom
Guillaume Nodet created MNG-7111:
------------------------------------
Summary: Deadlock when reading pom
Key: MNG-7111
URL: https://issues.apache.org/jira/browse/MNG-7111
Project: Maven
Issue Type: Task
Reporter: Guillaume Nodet
I'm running into the following deadlock while building Apache Camel with the current master:
{code}
"TransformThread-16@4333" daemon prio=5 tid=0x20 nid=NA waiting
java.lang.Thread.State: WAITING
blocks TransformThread-17@4342
at java.lang.Object.wait(Object.java:-1)
at java.io.PipedInputStream.read(PipedInputStream.java:326)
at java.io.PipedInputStream.read(PipedInputStream.java:377)
at java.io.FilterInputStream.read(FilterInputStream.java:133)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
at java.io.BufferedInputStream.read(BufferedInputStream.java:271)
- locked <0x1163> (a java.io.BufferedInputStream)
at org.codehaus.plexus.util.xml.XmlReader.getBOMEncoding(XmlReader.java:620)
at org.codehaus.plexus.util.xml.XmlReader.doRawStream(XmlReader.java:440)
at org.codehaus.plexus.util.xml.XmlReader.<init>(XmlReader.java:178)
at org.codehaus.plexus.util.xml.XmlReader.<init>(XmlReader.java:145)
at org.codehaus.plexus.util.xml.XmlStreamReader.<init>(XmlStreamReader.java:84)
at org.codehaus.plexus.util.ReaderFactory.newXmlReader(ReaderFactory.java:109)
at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader.java:116)
at org.apache.maven.model.io.DefaultModelReader.read(DefaultModelReader.java:90)
at org.apache.maven.model.building.DefaultModelProcessor.read(DefaultModelProcessor.java:97)
at org.apache.maven.model.building.DefaultModelBuilder.readRawModel(DefaultModelBuilder.java:736)
at org.apache.maven.model.building.DefaultModelBuilder.access$200(DefaultModelBuilder.java:99)
at org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1.findRawModel(DefaultModelBuilder.java:1588)
at org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1.lambda$getRawModel$1(DefaultModelBuilder.java:1570)
at org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1$$Lambda$129.1344264523.apply(Unknown Source:-1)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
- locked <0x115e> (a java.util.concurrent.ConcurrentHashMap$ReservationNode)
at org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1.getRawModel(DefaultModelBuilder.java:1569)
at org.apache.maven.model.building.DefaultBuildPomXMLFilterFactory.lambda$getDependencyKeyToVersionMapper$3(DefaultBuildPomXMLFilterFactory.java:67)
at org.apache.maven.model.building.DefaultBuildPomXMLFilterFactory$$Lambda$87.1867108691.apply(Unknown Source:-1)
at org.apache.maven.xml.sax.filter.ReactorDependencyXMLFilter.getVersion(ReactorDependencyXMLFilter.java:156)
at org.apache.maven.xml.sax.filter.ReactorDependencyXMLFilter.endElement(ReactorDependencyXMLFilter.java:112)
at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2883)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:687)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:774)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:370)
at org.apache.maven.model.building.AbstractModelSourceTransformer.lambda$transform$1(AbstractModelSourceTransformer.java:157)
at org.apache.maven.model.building.AbstractModelSourceTransformer$$Lambda$94.1778994610.run(Unknown Source:-1)
at java.lang.Thread.run(Thread.java:834)
"TransformThread-17@4342" daemon prio=5 tid=0x21 nid=NA waiting for monitor entry
java.lang.Thread.State: BLOCKED
waiting for TransformThread-16@4333 to release lock on <0x115e> (a java.util.concurrent.ConcurrentHashMap$ReservationNode)
at java.util.concurrent.ConcurrentHashMap.transfer(ConcurrentHashMap.java:2477)
at java.util.concurrent.ConcurrentHashMap.addCount(ConcurrentHashMap.java:2348)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1773)
at org.apache.maven.model.building.DefaultModelBuilder$DefaultTransformerContextBuilder$1.getRawModel(DefaultModelBuilder.java:1569)
at org.apache.maven.model.building.DefaultBuildPomXMLFilterFactory.lambda$getDependencyKeyToVersionMapper$3(DefaultBuildPomXMLFilterFactory.java:67)
at org.apache.maven.model.building.DefaultBuildPomXMLFilterFactory$$Lambda$87.1867108691.apply(Unknown Source:-1)
at org.apache.maven.xml.sax.filter.ReactorDependencyXMLFilter.getVersion(ReactorDependencyXMLFilter.java:156)
at org.apache.maven.xml.sax.filter.ReactorDependencyXMLFilter.endElement(ReactorDependencyXMLFilter.java:112)
at org.xml.sax.helpers.XMLFilterImpl.endElement(XMLFilterImpl.java:570)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2883)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:357)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:687)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:774)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:370)
at org.apache.maven.model.building.AbstractModelSourceTransformer.lambda$transform$1(AbstractModelSourceTransformer.java:157)
at org.apache.maven.model.building.AbstractModelSourceTransformer$$Lambda$94.1778994610.run(Unknown Source:-1)
at java.lang.Thread.run(Thread.java:834)
{code}
The problem is that there's a misuse of {{computeIfAbsent}}. The javadoc indicates that the mapping function should not attempt to modify the map, which is exactly what we're doing in this case.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)