Search code examples
ibm-mobilefirstmobilefirst-server

Mobilefirst 8.0 Error IOS PUSH Notifications. Failed to load netty_tcnative_aix_ppc_64, netty_tcnative_ppc_64, netty_tcnative


I have updated Mobilefirst Platform Foundations 8.0 to the last fix available right now (8.0.0.0-MFPF-IF202011111304) After applying the fix, we didn't have any problem, however when we tried to send an IOS push notification we got this error:

[1/22/21 10:05:36:058 CST] 00000484 Mediator E com.ibm.mfp.push.server.notification.Mediator submitNotification FPWSE1081E: Failure sending notification. See the server log file for more details. java.lang.UnsatisfiedLinkError: failed to load the required native library at io.netty.handler.ssl.OpenSsl.ensureAvailability(OpenSsl.java:474) at io.netty.handler.ssl.ReferenceCountedOpenSslContext.(ReferenceCountedOpenSslContext.java:196) at io.netty.handler.ssl.ReferenceCountedOpenSslContext.(ReferenceCountedOpenSslContext.java:185) at io.netty.handler.ssl.OpenSslContext.(OpenSslContext.java:34) at io.netty.handler.ssl.OpenSslClientContext.(OpenSslClientContext.java:189) at io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:827) at io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:576) at com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.setService(NettyApplicationConnection.java:433) at com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.sendNotification(NettyApplicationConnection.java:137) at com.ibm.mfp.push.server.notification.apns.APNSMediator.sendNotification(APNSMediator.java:166) at com.ibm.mfp.push.server.notification.Mediator$2.run(Mediator.java:105) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522) at java.util.concurrent.FutureTask.run(FutureTask.java:277) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1160) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.lang.Thread.run(Thread.java:822) Caused by: java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty_tcnative_aix_ppc_64, netty_tcnative_ppc_64, netty_tcnative] at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:104) at io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:581) at io.netty.handler.ssl.OpenSsl.(OpenSsl.java:133) at com.ibm.mfp.push.server.notification.nettyapns.NettyApplicationConnection.setService(NettyApplicationConnection.java:419) ... 8 more Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_aix_ppc_64 at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 more Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_aix_ppc_64.a at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:369) at java.security.AccessController.doPrivileged(AccessController.java:678) at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 more Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_ppc_64 at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 more Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_ppc_64.a at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64 (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:369) at java.security.AccessController.doPrivileged(AccessController.java:678) at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 more Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:224) at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:96) ... 11 more Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative.a at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:173) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:349) at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:136) ... 12 more Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative (Not found in java.library.path) at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1462) at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1414) at java.lang.System.loadLibrary(System.java:584) at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) at java.lang.reflect.Method.invoke(Method.java:508) at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:369) at java.security.AccessController.doPrivileged(AccessController.java:678) at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:361) at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:339) ... 13 more

According to the error, it looks like there is a missing library. Searching inside of the war I found out, that there are not libraries for aix.

Libraries

There is someone out there with the same problem, or should I open a case with IBM?

Thank you!


Solution

  • Please create a case with IBM so we can track it and provide timely update/solution. We are aware of the issue and working on it. Till then please use Legacy protocol to send APNS notifications.

    To switch to Legacy protocol you need to set below JNDI to false

    <jndiEntry jndiName="imfpush/mfp.push.apns.http2.enabled" value= '"false"'/>

    Thanks.