netty / netty-tcnative

A fork of Apache Tomcat Native, based on finagle-native

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support netty-tcnative on a new architecture(LoongArch64)

Panxuefeng-loongson opened this issue · comments

I run pulsar on LoongArch64, the following error occurred, I compiled netty-tcnatve locally, the problem is not solved:

[ERROR] Tests run: 17, Failures: 1, Errors: 0, Skipped: 14, Time elapsed: 23.029 s <<< FAILURE! - in org.apache.pulsar.common.util.netty.SslContextTest
[ERROR] testClientCaCertSslContextWithSslProvider(org.apache.pulsar.common.util.netty.SslContextTest)  Time elapsed: 0.046 s  <<< FAILURE!
java.lang.AssertionError: Expected SSLException to be thrown, but UnsatisfiedLinkError was thrown
	at org.testng.Assert.expectThrows(Assert.java:1724)
	at org.testng.Assert.assertThrows(Assert.java:1695)
	at org.apache.pulsar.common.util.netty.SslContextTest.testClientCaCertSslContextWithSslProvider(SslContextTest.java:126)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
	at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:45)
	at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:73)
	at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.UnsatisfiedLinkError: failed to load the required native library
	at io.netty.handler.ssl.OpenSsl.ensureAvailability(OpenSsl.java:596)
	at io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:830)
	at io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:611)
	at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:303)
	at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:282)
	at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:211)
	at org.apache.pulsar.common.util.NettyClientSslContextRefresher.update(NettyClientSslContextRefresher.java:79)
	at org.testng.Assert.expectThrows(Assert.java:1714)
	... 14 more
Caused by: java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty_tcnative_linux_unknown, netty_tcnative_linux_unknown_fedora, netty_tcnative_unknown, netty_tcnative]
	at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:114)
	at io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:705)
	at io.netty.handler.ssl.OpenSsl.<clinit>(OpenSsl.java:146)
	... 21 more
	Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_linux_unknown
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239)
		at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105)
		... 23 more
	Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_linux_unknown.so
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:186)
		... 24 more
		Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative_linux_unknown in java.library.path: [/usr/java/packages/lib, /lib, /usr/lib]
			at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
			at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
			at java.base/java.lang.System.loadLibrary(System.java:1873)
			at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
			at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
			at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
			... 24 more
			Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative_linux_unknown in java.library.path: [/usr/java/packages/lib, /lib, /usr/lib]
				at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
				at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)

What netty version ?

Should work since netty 4.1.79.Final:

netty/netty#12580