Minion code throws "java.lang.IllegalStateException: Unknown protocol: mvn"

Description

SNMP Trap exchanges throws below exception.

2016-10-06 06:31:42,189 | ERROR | apping_0.0.0.0/0 | DefaultErrorHandler | 63 - org.apache.camel.camel-core - 2.14.1 | Failed delivery for (MessageId: ID-xxxxxxxxx on ExchangeId: ID-xxxxxxxxx). Exhausted after delivery attempt: 1 caught: java.lang.RuntimeException: javax.xml.bind.MarshalException - with linked exception: [java.lang.IllegalStateException: Unknown protocol: mvn] Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [RPC.Server.SNMP ] [RPC.Server.SNMP ] [queuingservice:/xxxxxxxxx ] [ 35] [RPC.Server.SNMP ] [setExchangePattern] [setExchangePattern[InOut] ] [ 0] [RPC.Server.SNMP ] [process19 ] [org.opennms.core.rpc.camel.CamelRpcServerProcessor@2aca93a2 ] [ 34] Exchange --------------------------------------------------------------------------------------------------------------------------------------- Exchange[ Id ID-xxxxxxxxx ExchangePattern InOut Headers {breadcrumbId=ID-xxxxxxxxx-22755-1475753496672-0-201, CamelJmsRequestTimeout=60000, CamelRedelivered=false, CamelRedeliveryCounter=0, JMSCorrelationID=Camel-ID-xxxxxxxxx-22755-1475753496672-0-205, JMSDeliveryMode=2, JMSDestination=queue:/xxxxxxxxx, JMSExpiration=1475753522148, JMSMessageID=ID:xxxxxxxxx-14219-1475753492284-3:7:11:1:2, JMSPriority=4, JmsQueueName=xxxxxxxxx, JMSRedelivered=false, JMSReplyTo=temp-queue://ID:xxxxxxxxx-14219-1475753492284-3:7:1, JMSTimestamp=1475753502148, JMSType=null, JMSXGroupID=null, JMSXUserID=null} BodyType String Body <snmp-request location="KC1" description="systemGroup"> <agent> <maxRepetitions>2</maxRepetitions> <maxRequestSize>65535</maxRequestSize> <maxVarsPerPdu>10</maxVarsPerPdu> <port>161</port> <readCommunity>qe0u#ram</readCommunity> <retries>2</retries> <securityLevel>1</securityLevel> <securityName>opennmsUser</securityName> <timeout>1800</timeout> <version>2</version> <versionAsString>v2c</versionAsString> <writeCommunity>qe0u#ram</writeCommunity> <address>7.192.128.67</address> </agent> <walk correlation-id="0" max-repetitions="1" instance=".0"> <oid>.1.3.6.1.2.1.1.1</oid> </walk> <walk correlation-id="1" max-repetitions="1" instance=".0"> <oid>.1.3.6.1.2.1.1.2</oid> </walk> <walk correlation-id="2" max-repetitions="1" instance=".0"> <oid>.1.3.6.1.2.1.1.3</oid> </walk> <walk correlation-id="3" max-repetitions="1" instance=".0"> <oid>.1.3.6.1.2.1.1.4</oid> </walk> <walk correlation-id="4" max-repetitions="1" instance=".0"> <oid>.1.3.6.1.2.1.1.5</oid> </walk> <walk correlation-id="5" max-repetitions="1" instance=".0"> <oid>.1.3.6.1.2.1.1.6</oid> </walk></snmp-request> ] Stacktrace --------------------------------------------------------------------------------------------------------------------------------------- java.lang.RuntimeException: javax.xml.bind.MarshalException - with linked exception: [java.lang.IllegalStateException: Unknown protocol: mvn] at org.opennms.core.xml.XmlHandler.marshal(XmlHandler.java:72) at org.opennms.core.rpc.xml.AbstractXmlRpcModule.marshalResponse(AbstractXmlRpcModule.java:72) at Proxya65dead3_7039_4735_b5fc_f2d5bc8f78dd.marshalResponse(Unknown Source) at org.opennms.core.rpc.camel.CamelRpcServerProcessor.lambda$process$0(CamelRpcServerProcessor.java:71) at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)[:1.8.0_65] at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)[:1.8.0_65] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)[:1.8.0_65] at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962)[:1.8.0_65] at org.opennms.netmgt.snmp.proxy.common.SnmpProxyRpcModule$3.complete(SnmpProxyRpcModule.java:102)[213:org.opennms.core.snmp.proxy.rpc-impl:19.0.0.SNAPSHOT] at org.opennms.netmgt.snmp.SnmpWalker.finish(SnmpWalker.java:187)[138:org.opennms.core.snmp.api:19.0.0.SNAPSHOT] at org.opennms.netmgt.snmp.SnmpWalker.handleDone(SnmpWalker.java:117)[138:org.opennms.core.snmp.api:19.0.0.SNAPSHOT] at org.opennms.netmgt.snmp.SnmpWalker.buildAndSendNextPdu(SnmpWalker.java:106)[138:org.opennms.core.snmp.api:19.0.0.SNAPSHOT] at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker.access$800(Snmp4JWalker.java:48)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.processResponse(Snmp4JWalker.java:155)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.opennms.netmgt.snmp.snmp4j.Snmp4JWalker$Snmp4JResponseListener.onResponse(Snmp4JWalker.java:180)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.snmp4j.Snmp.processPdu(Snmp.java:1223)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.snmp4j.MessageDispatcherImpl.fireProcessPdu(MessageDispatcherImpl.java:689)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.snmp4j.MessageDispatcherImpl.dispatchMessage(MessageDispatcherImpl.java:308)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:385)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.snmp4j.MessageDispatcherImpl.processMessage(MessageDispatcherImpl.java:345)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.snmp4j.transport.AbstractTransportMapping.fireProcessMessage(AbstractTransportMapping.java:76)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at org.snmp4j.transport.DefaultUdpTransportMapping$ListenThread.run(DefaultUdpTransportMapping.java:423)[139:org.opennms.core.snmp.implementations.snmp4j:19.0.0.SNAPSHOT] at java.lang.Thread.run(Thread.java:745)[:1.8.0_65] Caused by: javax.xml.bind.MarshalException - with linked exception: [java.lang.IllegalStateException: Unknown protocol: mvn] at org.eclipse.persistence.jaxb.JAXBMarshaller.marshal(JAXBMarshaller.java:686) at org.opennms.core.xml.XmlHandler.marshal(XmlHandler.java:70) ... 22 more Caused by: java.lang.IllegalStateException: Unknown protocol: mvn at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:482)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:474)[org.apache.felix.framework-5.4.0.jar:] at java.net.URL.toExternalForm(URL.java:922)[:1.8.0_65] at java.net.URL.toString(URL.java:908)[:1.8.0_65] at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:675)[:1.8.0_65] at java.lang.ClassLoader.defineClass(ClassLoader.java:759)[:1.8.0_65] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2370)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2154)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1542)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)[org.apache.felix.framework-5.4.0.jar:] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_65] at org.eclipse.persistence.internal.oxm.XMLBinaryDataHelper.getBytesForSingleBinaryValue(XMLBinaryDataHelper.java:142)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLBinaryDataHelper.getBytesForBinaryValue(XMLBinaryDataHelper.java:127)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.oxm.record.MarshalRecord.characters(MarshalRecord.java:374)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLBinaryDataMappingNodeValue.marshalSingleValue(XMLBinaryDataMappingNodeValue.java:225)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLBinaryDataMappingNodeValue.marshal(XMLBinaryDataMappingNodeValue.java:65)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.record.ObjectMarshalContext.marshal(ObjectMarshalContext.java:59)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathNode.marshal(XPathNode.java:401)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathObjectBuilder.buildRow(XPathObjectBuilder.java:240)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:118)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:1)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLCompositeObjectMappingNodeValue.marshalSingleValue(XMLCompositeObjectMappingNodeValue.java:249)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLCompositeObjectMappingNodeValue.marshal(XMLCompositeObjectMappingNodeValue.java:150)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.NodeValue.marshal(NodeValue.java:102)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.record.ObjectMarshalContext.marshal(ObjectMarshalContext.java:59)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathNode.marshal(XPathNode.java:401)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathObjectBuilder.buildRow(XPathObjectBuilder.java:240)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:118)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:1)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLCompositeCollectionMappingNodeValue.marshalSingleValue(XMLCompositeCollectionMappingNodeValue.java:328)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLCompositeCollectionMappingNodeValue.marshal(XMLCompositeCollectionMappingNodeValue.java:108)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.NodeValue.marshal(NodeValue.java:149)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.NodeValue.marshal(NodeValue.java:102)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.record.ObjectMarshalContext.marshal(ObjectMarshalContext.java:59)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathNode.marshal(XPathNode.java:401)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathObjectBuilder.buildRow(XPathObjectBuilder.java:240)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:118)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:1)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLCompositeCollectionMappingNodeValue.marshalSingleValue(XMLCompositeCollectionMappingNodeValue.java:328)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLCompositeCollectionMappingNodeValue.marshal(XMLCompositeCollectionMappingNodeValue.java:108)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.NodeValue.marshal(NodeValue.java:149)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.NodeValue.marshal(NodeValue.java:102)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.record.ObjectMarshalContext.marshal(ObjectMarshalContext.java:59)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathNode.marshal(XPathNode.java:401)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XPathObjectBuilder.buildRow(XPathObjectBuilder.java:240)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:118)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.TreeObjectBuilder.buildRow(TreeObjectBuilder.java:1)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLMarshaller.marshal(XMLMarshaller.java:751)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLMarshaller.marshalStreamOrWriter(XMLMarshaller.java:1128)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLMarshaller.marshal(XMLMarshaller.java:1079)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.internal.oxm.XMLMarshaller.marshal(XMLMarshaller.java:1034)[128:org.eclipse.persistence.core:2.5.1.v20130918-f2b9fc5] at org.eclipse.persistence.jaxb.JAXBMarshaller.marshal(JAXBMarshaller.java:684) ... 23 more

Acceptance / Success Criteria

None

Attachments

1
  • 13 Apr 2017, 03:48 PM

Lucidchart Diagrams

Activity

Show:

Seth Leger June 14, 2017 at 10:41 AM

The Karaf issue that caused this should be fixed in Karaf 4.0.8:

https://issues.apache.org/jira/browse/KARAF-4762

This should be resolved by the upgrade to Karaf 4.0.8 on OpenNMS and Minion. PR merged, marking as fixed.

https://github.com/OpenNMS/opennms/pull/1471

Seth Leger April 13, 2017 at 3:47 PM

Just ran into this again, I'll attach the entire log.

2017-04-13 18:53:35,332 | WARN | ocketConnector-7 | SimpleIoProcessorPool | 120 - org.apache.mina.core - 2.0.13 | Failed to dispose the NioProcessor IoProcessor. java.lang.IllegalStateException: Unknown protocol: mvn at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:482)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.URLHandlersStreamHandlerProxy.toExternalForm(URLHandlersStreamHandlerProxy.java:474)[org.apache.felix.framework-5.4.0.jar:] at java.net.URL.toExternalForm(URL.java:929)[:1.8.0_121] at java.net.URL.toString(URL.java:915)[:1.8.0_121] at java.lang.ClassLoader.defineClassSourceLocation(ClassLoader.java:678)[:1.8.0_121] at java.lang.ClassLoader.defineClass(ClassLoader.java:762)[:1.8.0_121] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2370)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2154)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1542)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)[org.apache.felix.framework-5.4.0.jar:] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2018)[org.apache.felix.framework-5.4.0.jar:] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_121] at org.apache.mina.core.polling.AbstractPollingIoProcessor.startupProcessor(AbstractPollingIoProcessor.java:438)[120:org.apache.mina.core:2.0.13] at org.apache.mina.core.polling.AbstractPollingIoProcessor.dispose(AbstractPollingIoProcessor.java:182)[120:org.apache.mina.core:2.0.13] at org.apache.mina.core.service.SimpleIoProcessorPool.dispose(SimpleIoProcessorPool.java:329)[120:org.apache.mina.core:2.0.13] at org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:582)[120:org.apache.mina.core:2.0.13] at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)[120:org.apache.mina.core:2.0.13] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_121] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_121] at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]

Seth Leger April 3, 2017 at 4:17 PM

There is a note in the Apache Karaf 4.1.0 release notes about this issue so it will probably only be resolved by upgrading Karaf.

Jesse White November 28, 2016 at 11:54 AM

Reducing to Major since this is a transient error.

Jesse White November 28, 2016 at 11:53 AM

I've been unable to reproduce this in any consistent way. The 'mvn' protocol handler, is provided by the 'pax-url-aether' bundle, which is loaded by default.

The KarafExtender modifies the configuration of the 'pax-url-aether' bundle at startup, configuring the additional repositories found in the $MINION_HOME/repositories folder. This should trigger an update, https://github.com/ops4j/org.ops4j.pax.url/blob/url-2.4.7/pax-url-aether/src/main/java/org/ops4j/pax/url/mvn/internal/Activator.java, but the 'mvn' handler should remain available.

I've added some additional logging statements in https://github.com/OpenNMS/opennms/commit/388722cb4ff9bc69e86406017532348236c82ed2, so we can better quantify when this happens.

Fixed

Details

Assignee

Reporter

Components

Sprint

Fix versions

Affects versions

Priority

PagerDuty

Created October 7, 2016 at 6:16 AM
Updated September 20, 2017 at 3:29 PM
Resolved June 14, 2017 at 10:41 AM

Flag notifications