Error invoking remote poller via Java WebStart (Invalid signature file digest for Manifest main attributes)

Description

Remote poller download and execution via Java WebStart is not possible. Tested on Windows and Mac system with Java 7 JRE/JDK and Java 8 JRE/JDK. The execution with a downloaded remote-poller-client-1.13.4.tar.gz archive and remote-poller.sh script works fine. So, here is the error:

Error: Unable to load resource:
(http://10.174.24.109:8980/opennms-remoting/webstart/javax.servlet.jsp.jar?version-id=2.1.0.v201105211820,2.1.0.v201105211820)

Launch file:

<jnlp spec="1.5+" codebase="http://10.174.24.109:8980/opennms-remoting/webstart/" href="app.jnlp">
<information>
<title>OpenNMS Remote Poller (GUI)</title>
<vendor>The OpenNMS Group</vendor>
<homepage>http://www.opennms.org/</homepage>
<shortcut online="false">
<desktop/>
<menu submenu="OpenNMS"/>
</shortcut>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.6+" java-vm-args="-Xmx384m"/>
<jar href="org.opennms.features.remote-poller.jar" version="1.14.0-SNAPSHOT" main="true"/>
<jar href="commons-cli.jar" version="1.2"/>
<jar href="opennms-model.jar" version="1.14.0-SNAPSHOT"/>
<jar href="castor.jar" version="1.1.2.1"/>
<jar href="org.opennms.core.castor-properties.jar" version="1.14.0-SNAPSHOT"/>
<jar href="jcl-over-slf4j.jar" version="1.7.7"/>
<jar href="slf4j-api.jar" version="1.7.7"/>
<jar href="oro.jar" version="2.0.8"/>
<jar href="hibernate-core.jar" version="3.6.10.Final"/>
<jar href="antlr.jar" version="2.7.7"/>
<jar href="commons-collections.jar" version="3.2.1"/>
<jar href="dom4j.jar" version="1.6.1"/>
<jar href="hibernate-commons-annotations.jar" version="3.2.0.Final"/>
<jar href="jta.jar" version="1.1"/>
<jar href="xml-apis.jar" version="1.4.01"/>
<jar href="org.apache.servicemix.specs.jaxb-api-2.2.jar" version="2.2.0"/>
<jar href="org.apache.servicemix.specs.stax-api-1.0.jar" version="2.2.0"/>
<jar href="geronimo-activation_1.1_spec.jar" version="1.0.2"/>
<jar href="stax-api.jar" version="1.0-2"/>
<jar href="activation.jar" version="1.1.1"/>
<jar href="org.apache.servicemix.bundles.jaxb-impl.jar" version="2.2.6_1"/>
<jar href="eclipselink.jar" version="2.5.1"/>
<jar href="javax.persistence.jar" version="2.1.0"/>
<jar href="commonj.sdo.jar" version="2.1.1"/>
<jar href="org.opennms.core.snmp.api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.snmp.implementations.joesnmp.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.snmp.joesnmp.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.snmp.implementations.snmp4j.jar" version="1.14.0-SNAPSHOT"/>
<jar href="commons-lang.jar" version="2.6"/>
<jar href="snmp4j.jar" version="2.3.1"/>
<jar href="log4j-over-slf4j.jar" version="1.7.7"/>
<jar href="org.springframework.aop.jar" version="3.2.4.RELEASE"/>
<jar href="com.springsource.org.aopalliance.jar" version="1.0.0"/>
<jar href="org.springframework.beans.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.core.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.aspects.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.context.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.context.support.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.expression.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.instrument.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.oxm.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.jdbc.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.transaction.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.jms.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.orm.jar" version="3.2.4.RELEASE"/>
<jar href="aspectjweaver.jar" version="1.7.1"/>
<jar href="jsr250-api.jar" version="1.0"/>
<jar href="jackson-core-asl.jar" version="1.9.13"/>
<jar href="jackson-mapper-asl.jar" version="1.9.13"/>
<jar href="jackson-jaxrs.jar" version="1.9.13"/>
<jar href="jackson-xc.jar" version="1.9.13"/>
<jar href="geronimo-jms_1.1_spec.jar" version="1.1.1"/>
<jar href="javassist.jar" version="3.18.2-GA"/>
<jar href="spring-security-core.jar" version="3.1.4.RELEASE"/>
<jar href="aopalliance.jar" version="1.0"/>
<jar href="spring-security-remoting.jar" version="3.1.4.RELEASE"/>
<jar href="commons-codec.jar" version="1.9"/>
<jar href="org.opennms.core.api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.logging.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.lib.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.xml.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.spring.jar" version="1.14.0-SNAPSHOT"/>
<jar href="commons-io.jar" version="2.4"/>
<jar href="opennms-util.jar" version="1.14.0-SNAPSHOT"/>
<jar href="serializer.jar" version="2.7.1"/>
<jar href="org.opennms.features.poller.api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-rrd-api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-services.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-bootstrap.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-config.jar" version="1.14.0-SNAPSHOT"/>
<jar href="jasypt.jar" version="1.9.0"/>
<jar href="org.opennms.core.config.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-config-model.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-config-jaxb.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.db.jar" version="1.14.0-SNAPSHOT"/>
<jar href="c3p0.jar" version="0.9.1.2"/>
<jar href="transactions-jta.jar" version="3.9.2"/>
<jar href="transactions.jar" version="3.9.2"/>
<jar href="transactions-api.jar" version="3.9.2"/>
<jar href="atomikos-util.jar" version="3.9.2"/>
<jar href="transactions-jdbc.jar" version="3.9.2"/>
<jar href="commons-dbcp.jar" version="1.4"/>
<jar href="commons-pool.jar" version="1.6"/>
<jar href="postgresql.jar" version="9.3-1100-jdbc4"/>
<jar href="opennms-config-api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.features.collection.api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="concurrent-locks.jar" version="1.0.0"/>
<jar href="opennms-dao.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.soa.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-dao-api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.core.criteria.jar" version="1.14.0-SNAPSHOT"/>
<jar href="hibernate-jpa-2.0-api.jar" version="1.0.1.Final"/>
<jar href="dnsjava.jar" version="2.1.3"/>
<jar href="org.opennms.core.daemon.jar" version="1.14.0-SNAPSHOT"/>
<jar href="opennms-icmp-api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.lib.tracker.jar" version="0.6"/>
<jar href="mx4j-tools.jar" version="3.0.1"/>
<jar href="opennms-javamail-api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="mail.jar" version="1.4.5"/>
<jar href="org.springframework.web.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.web.servlet.jar" version="3.2.4.RELEASE"/>
<jar href="org.springframework.web.struts.jar" version="3.2.4.RELEASE"/>
<jar href="spring-binding.jar" version="2.3.0.RELEASE"/>
<jar href="spring-js.jar" version="2.3.0.RELEASE"/>
<jar href="spring-js-resources.jar" version="2.3.0.RELEASE"/>
<jar href="spring-webflow.jar" version="2.3.0.RELEASE"/>
<jar href="hibernate-validator-annotation-processor.jar" version="4.1.0.Final"/>
<jar href="hibernate-validator.jar" version="4.1.0.Final"/>
<jar href="validation-api.jar" version="1.0.0.GA"/>
<jar href="commons-beanutils.jar" version="1.8.3"/>
<jar href="commons-validator.jar" version="1.3.1"/>
<jar href="commons-digester.jar" version="2.1"/>
<jar href="struts.jar" version="1.2.9"/>
<jar href="commons-fileupload.jar" version="1.0"/>
<jar href="xalan.jar" version="2.7.1"/>
<jar href="org.opennms.features.collection.persistence.rrd.jar" version="1.14.0-SNAPSHOT"/>
<jar href="org.opennms.features.ticketing.api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="jsch.jar" version="0.1.42"/>
<jar href="httpcore.jar" version="4.3.2"/>
<jar href="httpclient.jar" version="4.3.4"/>
<jar href="jolokia-client-java.jar" version="1.1.5"/>
<jar href="json-simple.jar" version="1.1"/>
<jar href="httpclient-osgi.jar" version="4.1.2"/>
<jar href="httpmime.jar" version="4.1.2"/>
<jar href="httpclient-cache.jar" version="4.1.2"/>
<jar href="smack.jar" version="3.0.4"/>
<jar href="smackx.jar" version="3.0.4"/>
<jar href="xercesImpl.jar" version="2.9.1"/>
<jar href="xmlrpc.jar" version="2.0.1"/>
<jar href="servlet-api.jar" version="2.5"/>
<jar href="bsf.jar" version="2.4.0"/>
<jar href="bsh.jar" version="1.3.0"/>
<jar href="hessian.jar" version="3.1.5"/>
<jar href="jldap.jar" version="4.3"/>
<jar href="jcifs.jar" version="1.3.14"/>
<jar href="commons-jexl.jar" version="2.1.1"/>
<jar href="quartz.jar" version="1.6.5"/>
<jar href="rancid-api.jar" version="1.0.3"/>
<jar href="org.restlet.jar" version="1.1.10"/>
<jar href="com.noelios.restlet.jar" version="1.1.10"/>
<jar href="com.noelios.restlet.ext.simple.jar" version="1.1.10"/>
<jar href="org.simpleframework.jar" version="3.1.3"/>
<jar href="twitter4j-core.jar" version="3.0.6"/>
<jar href="org.opennms.features.poller.remote.jar" version="1.14.0-SNAPSHOT"/>
<jar href="jstl.jar" version="1.2"/>
<jar href="jetty-jsp.jar" version="7.6.15.v20140411"/>
<jar href="javax.servlet.jsp.jar" version="2.1.0.v201105211820"/>
<jar href="javax.servlet.jar" version="2.5.0.v201103041518"/>
<jar href="org.apache.jasper.glassfish.jar" version="2.1.0.v201110031002"/>
<jar href="javax.servlet.jsp.jstl.jar" version="1.2.0.v201105211821"/>
<jar href="org.apache.taglibs.standard.glassfish.jar" version="1.2.0.v201112081803"/>
<jar href="javax.el.jar" version="2.1.0.v201105211819"/>
<jar href="com.sun.el.jar" version="1.0.0.v201105211818"/>
<jar href="ecj.jar" version="4.2.2"/>
<jar href="opennms-wmi.jar" version="1.14.0-SNAPSHOT"/>
<jar href="j-interop.jar" version="2.0.8"/>
<jar href="j-interopdeps.jar" version="2.0.8"/>
<jar href="opennms-provision-api.jar" version="1.14.0-SNAPSHOT"/>
<jar href="
jnlp file truncated after 10K

Exception:

com.sun.deploy.net.FailedDownloadException: Unable to load resource: (http://10.174.24.109:8980/opennms-remoting/webstart/javax.servlet.jsp.jar?version-id=2.1.0.v201105211820, 2.1.0.v201105211820)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Wrapped Exception:

java.io.IOException: Invalid signature file digest for Manifest main attributes
at com.sun.deploy.cache.CacheEntry$10.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source)
at com.sun.deploy.cache.CacheEntry.writeFileToDisk(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source)
at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Acceptance / Success Criteria

None

blocks

has to be finished together with

Lucidchart Diagrams

Activity

Alejandro Galue October 15, 2014 at 3:46 PM

Markus, using the branch jira/, I tested the remote poller on my Windows 7 VM and it is working fine installing it either through JNLP.

Markus von Rüden October 14, 2014 at 10:59 AM

I fixed this issue, the pull request containing the changes can be found here: https://github.com/OpenNMS/opennms/pull/134

Markus von Rüden October 8, 2014 at 9:43 AM

The problem is OS un-related. I also have had the same issue on Linux Ubuntu 14.04.

Alejandro Galue October 7, 2014 at 11:19 AM

I was able to reproduce the problem using the latest compilation of 14.0.0 generated a few minutes ago, and my Windows 7 VM using Oracle JDK 7u60.

But, using the remote-poller.sh script from the command line on my Mac, I can start the remote poller with the GUI without any problems.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

PagerDuty

Created October 2, 2014 at 8:38 AM
Updated October 20, 2014 at 11:27 AM
Resolved October 16, 2014 at 2:25 AM