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

Reşat SABIQ commented on IVY-1553:
----------------------------------

FYI: I've confirmed that the issue exist in trunk (which uses bouncycastle 
1.52).[1][2.1][2.2]

I've also confirmed that the issue can also be worked around in trunk as well 
by using a work-around approach: e.g., wrapping-target approach (2.) mentioned 
in the 2nd post up[3].

P.S.
[1] The test target reported 7 failures (which is probably just due to unstable 
nature of trunk, although ideally everything in trunk should pass tests), but 
the issue would most likely be there even after test failures are fixed.
[2.1] Stack trace for trunk (w/ bouncycastle 1.52) usually looks like this:
build.xml:239: java.lang.NoClassDefFoundError: 
org/bouncycastle/openpgp/operator/KeyFingerPrintCalculator
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getConstructor0(Class.java:3075)
        at java.lang.Class.newInstance(Class.java:412)
        at org.apache.ivy.util.Configurator.addChild(Configurator.java:585)
        at 
org.apache.ivy.util.Configurator.startCreateChild(Configurator.java:502)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.inConfiguratorStarted(XmlSettingsParser.java:579)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.startElement(XmlSettingsParser.java:201)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
        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:1213)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:274)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.doParse(XmlSettingsParser.java:160)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.parse(XmlSettingsParser.java:150)
        at org.apache.ivy.core.settings.IvySettings.load(IvySettings.java:389)
        at org.apache.ivy.Ivy.configure(Ivy.java:418)
        at 
org.apache.ivy.ant.IvyAntSettings.createIvyEngine(IvyAntSettings.java:295)
        at 
org.apache.ivy.ant.IvyAntSettings.getConfiguredIvyInstance(IvyAntSettings.java:249)
        at 
org.apache.ivy.ant.IvyAntSettings.getConfiguredIvyInstance(IvyAntSettings.java:258)
        at org.apache.ivy.ant.IvyTask.getIvyInstance(IvyTask.java:89)
        at org.apache.ivy.ant.IvyTask.prepareTask(IvyTask.java:250)
        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:271)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:435)
        at org.apache.tools.ant.Target.performTasks(Target.java:456)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
        at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
        at org.apache.tools.ant.Main.runBuild(Main.java:851)
        at org.apache.tools.ant.Main.startAnt(Main.java:235)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: 
org.bouncycastle.openpgp.operator.KeyFingerPrintCalculator
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 47 more
[2.2] But sometimes looks similar to that for 2.4.0:
BUILD FAILED
build.xml:239: java.lang.NoClassDefFoundError: 
org/bouncycastle/openpgp/PGPException
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
        at java.lang.Class.getConstructor0(Class.java:3075)
        at java.lang.Class.newInstance(Class.java:412)
        at org.apache.ivy.util.Configurator.addChild(Configurator.java:585)
        at 
org.apache.ivy.util.Configurator.startCreateChild(Configurator.java:502)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.inConfiguratorStarted(XmlSettingsParser.java:579)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.startElement(XmlSettingsParser.java:201)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
        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:1213)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:274)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.doParse(XmlSettingsParser.java:160)
        at 
org.apache.ivy.core.settings.XmlSettingsParser.parse(XmlSettingsParser.java:150)
        at org.apache.ivy.core.settings.IvySettings.load(IvySettings.java:389)
        at org.apache.ivy.Ivy.configure(Ivy.java:418)
        at 
org.apache.ivy.ant.IvyAntSettings.createIvyEngine(IvyAntSettings.java:295)
        at 
org.apache.ivy.ant.IvyAntSettings.getConfiguredIvyInstance(IvyAntSettings.java:249)
        at 
org.apache.ivy.ant.IvyAntSettings.getConfiguredIvyInstance(IvyAntSettings.java:258)
        at org.apache.ivy.ant.IvyTask.getIvyInstance(IvyTask.java:89)
        at org.apache.ivy.ant.IvyTask.prepareTask(IvyTask.java:250)
        at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:271)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
        at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at 
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at org.apache.tools.ant.Target.execute(Target.java:435)
        at org.apache.tools.ant.Target.performTasks(Target.java:456)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
        at 
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
        at org.apache.tools.ant.Main.runBuild(Main.java:851)
        at org.apache.tools.ant.Main.startAnt(Main.java:235)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: 
org.bouncycastle.openpgp.PGPException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 47 more
[3] 
https://issues.apache.org/jira/browse/IVY-1553?focusedCommentId=15741224&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15741224

> PGP signing during publication shouldn't require bouncy castle dependencies 
> to be in .ant/lib or forking another java process with classpath explicitly 
> configured to contain bouncy castle modules
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: IVY-1553
>                 URL: https://issues.apache.org/jira/browse/IVY-1553
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.4.0
>            Reporter: Reşat SABIQ
>              Labels: pgp
>
> With
>               <signers>
>                       <pgp name="default-sig" keyId="${pgp.key}" 
> password="${pgp.password}"/> 
>               </signers>
> in ivysettings.xml,
> ivy kept throwing CNFE until i put these dependencies in .ant/lib:
>               <dependency org="org.bouncycastle" name="bcpg-jdk15on" 
> rev="1.49" conf="default"/>
>               <dependency org="org.bouncycastle" name="bcprov-jdk15on" 
> rev="1.49" conf="default"/>
> I ended up putting the following comment in ivy.xml:
>               <!-- First 2 currently must be in .ant/lib (pgp signer didn't 
> work via dependency or ivycache manipulation, etc). -->
> P.S. I believe this issue is ongoing since 2012/13.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to