Uploaded image for project: 'odlparent'
  1. odlparent
  2. ODLPARENT-279

Netty's epoll(2) support does not work

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • High
    • Resolution: Done
    • 8.1.5, 9.0.9, 9.0.10, 8.1.6, 9.0.11, 8.1.7, 9.0.12, 8.1.8
    • 9.0.13, 8.1.9
    • General

    Description

      bgpcep test suite, which is testing TCP-MD5 functionality is currently failing on stable/silicon. The problem is reportes as:

      2022-01-21T04:19:06,054 | ERROR | opendaylight-cluster-data-akka.actor.default-dispatcher-15 | PCEPTopologyProviderBean         | 259 - org.opendaylight.bgpcep.pcep-topology-provider - 0.15.4 | Failed to instantiate PCEP Topology provider
      java.lang.UnsupportedOperationException: Setting TCP-MD5 signatures is not supported
      	at org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl.createServerBootstrap(PCEPDispatcherImpl.java:124) ~[bundleFile:?]
      	at org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl.createServer(PCEPDispatcherImpl.java:92) ~[bundleFile:?]
      	at Proxyb6a18867_62d8_473e_a676_15eef0a78eca.createServer(Unknown Source) ~[?:?]
      	at Proxyb2f1ca85_b9b8_4638_aaa5_eb3d7035dd0b.createServer(Unknown Source) ~[?:?]
      	at org.opendaylight.bgpcep.pcep.topology.provider.PCEPTopologyProvider.instantiateServiceInstance(PCEPTopologyProvider.java:88) ~[bundleFile:?]
      	at org.opendaylight.bgpcep.pcep.topology.provider.config.PCEPTopologyProviderBean$PCEPTopologyProviderBeanCSS.instantiateServiceInstance(PCEPTopologyProviderBean.java:171) ~[bundleFile:?]
      	at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.ensureServicesStarting(ClusterSingletonServiceGroupImpl.java:640) ~[?:?]
      	at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.tryReconcileState(ClusterSingletonServiceGroupImpl.java:567) ~[?:?]
      	at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.reconcileState(ClusterSingletonServiceGroupImpl.java:460) ~[?:?]
      	at org.opendaylight.mdsal.singleton.dom.impl.ClusterSingletonServiceGroupImpl.ownershipChanged(ClusterSingletonServiceGroupImpl.java:341) ~[?:?]
      	at org.opendaylight.mdsal.singleton.dom.impl.AbstractClusterSingletonServiceProviderImpl.ownershipChanged(AbstractClusterSingletonServiceProviderImpl.java:236) ~[?:?]
      	at org.opendaylight.mdsal.singleton.dom.impl.DOMClusterSingletonServiceProviderImpl.ownershipChanged(DOMClusterSingletonServiceProviderImpl.java:24) ~[?:?]
      	at org.opendaylight.controller.cluster.entityownership.EntityOwnershipListenerActor.onEntityOwnershipChanged(EntityOwnershipListenerActor.java:45) ~[bundleFile:?]
      	at org.opendaylight.controller.cluster.entityownership.EntityOwnershipListenerActor.handleReceive(EntityOwnershipListenerActor.java:34) ~[bundleFile:?]
      	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:24) [bundleFile:?]
      	at akka.japi.pf.UnitCaseStatement.apply(CaseStatements.scala:20) [bundleFile:?]
      	at scala.PartialFunction.applyOrElse(PartialFunction.scala:214) [bundleFile:?]
      	at scala.PartialFunction.applyOrElse$(PartialFunction.scala:213) [bundleFile:?]
      	at akka.japi.pf.UnitCaseStatement.applyOrElse(CaseStatements.scala:20) [bundleFile:?]
      	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:269) [bundleFile:?]
      	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:270) [bundleFile:?]
      	at akka.actor.Actor.aroundReceive(Actor.scala:537) [bundleFile:?]
      	at akka.actor.Actor.aroundReceive$(Actor.scala:535) [bundleFile:?]
      	at akka.actor.AbstractActor.aroundReceive(AbstractActor.scala:220) [bundleFile:?]
      	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:580) [bundleFile:?]
      	at akka.actor.ActorCell.invoke(ActorCell.scala:548) [bundleFile:?]
      	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:270) [bundleFile:?]
      	at akka.dispatch.Mailbox.run(Mailbox.scala:231) [bundleFile:?]
      	at akka.dispatch.Mailbox.exec(Mailbox.scala:243) [bundleFile:?]
      	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290) [?:?]
      	at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020) [?:?]
      	at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656) [?:?]
      	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594) [?:?]
      	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183) [?:?]
      Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_transport_native_epoll_x86_64.so
      	at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:171) ~[bundleFile:4.1.73.Final]
      	at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:306) ~[bundleFile:4.1.73.Final]
      	at io.netty.channel.epoll.Native.<clinit>(Native.java:85) ~[bundleFile:4.1.73.Final]
      	at io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:40) ~[bundleFile:4.1.73.Final]
      	at org.opendaylight.lispflowmapping.southbound.LispSouthboundPlugin.<init>(LispSouthboundPlugin.java:101) ~[bundleFile:?]
      	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
      	at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
      	at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
      	at org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(ReflectionUtils.java:369) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecipe.java:839) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BeanRecipe.getInstanceFromType(BeanRecipe.java:350) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe.java:283) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:685) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:666) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) ~[bundleFile:1.10.3]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:108) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:252) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:149) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:81) ~[bundleFile:1.10.3]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:90) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:360) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:190) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:737) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:433) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298) ~[bundleFile:1.10.3]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(ExecutorServiceWrapper.java:106) ~[bundleFile:1.10.3]
      	at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:45) ~[bundleFile:1.10.3]
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
      	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
      	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
      	at java.lang.Thread.run(Thread.java:829) ~[?:?]
      	Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_epoll_x86_64 in java.library.path: [/tmp/karaf-0.14.4/lib, /tmp/karaf-0.14.4/lib, /usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
      		at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670) ~[?:?]
      		at java.lang.Runtime.loadLibrary0(Runtime.java:830) ~[?:?]
      		at java.lang.System.loadLibrary(System.java:1873) ~[?:?]
      		at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) ~[bundleFile:4.1.73.Final]
      		at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:376) ~[bundleFile:4.1.73.Final]
      		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:146) ~[bundleFile:4.1.73.Final]
      		at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:306) ~[bundleFile:4.1.73.Final]
      		at io.netty.channel.epoll.Native.<clinit>(Native.java:85) ~[bundleFile:4.1.73.Final]
      		at io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:40) ~[bundleFile:4.1.73.Final]
      

      This does not occur in single-classloader environments, but explodes in OSGi. The culprit seems to be this change delivered in netty-4.1.70. The issue has already been recognized and fixed upstream.

      Attachments

        # Subject Branch Project Status CR V

        Activity

          People

            rovarga Robert Varga
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: