Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failures on ppc64le rhel 7.6 architecture #9479

Closed
SantoshMagdum opened this issue Aug 19, 2019 · 13 comments · Fixed by #9550
Closed

Test failures on ppc64le rhel 7.6 architecture #9479

SantoshMagdum opened this issue Aug 19, 2019 · 13 comments · Fixed by #9550
Milestone

Comments

@SantoshMagdum
Copy link

Expected behavior

Build and test cases should succeed on ppc64le rhel 7.6

Actual behavior

Below modules test cases are failing -
	•	handler
	•	resolver
	•	testsuit
	•	transport-native-epoll

Steps to reproduce

1) Build the dependency packages hawtjni(1.17 SNAPSHOT) and netty-tcnative(2.0.26 SNAPSHOT).
2) The 'netty' package builds fine without test case execution.

However, below module test cases are failing -
	•	handler
	•	resolver
	•	testsuit
	•	transport-native-epoll

I see the handler module test cases are failing due to missing dependency 'conscript'. 
Tried to build with openssl 1.1.1 and jetty-alpn with below option but it did not work.
	mvn -Dforcenpn=true

Below are the few test case errors I am getting currently -

•	handler
		[ERROR]   ConscryptOpenSslEngineInteropTest>SSLEngineTest.testSessionAfterHandshake:2890->SSLEngineTest.testSessionAfterHandshake0:2925->ConscryptSslEngineTest.clientSslContextProvider:64 ? NoClassDefFound

•	resolver
		10:27:46.656 [NioDatagramAcceptor-53] DEBUG o.a.d.s.d.p.DnsProtocolHandler - /127.0.0.1:52466 SENT:  org.apache.directory.server.dns.messages.DnsMessage@6e8f2e6e[transactionId=46002,opCode=QUERY,truncated=false,messageType=RESPONSE,recursionDesired=true,additionalRecords=[],responseCode=NO_ERROR,authorityRecords=[],acceptNonAuthenticatedData=false,recursionAvailable=false,answerRecords=[io.netty.resolver.dns.TestDnsServer$TestResourceRecord [ host5.sub.foo.com ( A IN 100 {apachednsipaddress=247.17.117.58} ) ], io.netty.resolver.dns.TestDnsServer$TestResourceRecord [ host5.sub.foo.com ( A IN 100 {apachednsipaddress=200.155.128.30} ) ]],questionRecords=[org.apache.directory.server.dns.messages.QuestionRecord@145c48f9[domainName=host5.sub.foo.com,recordClass=IN,recordType=A]],authoritativeAnswer=false,reserved=false]
10:27:46.656 [nioEventLoopGroup-36-1] DEBUG i.netty.resolver.dns.DnsNameResolver - [id: 0x4b4ca697] RECEIVED: UDP [46002: /127.0.0.1:58729], DatagramDnsResponse(from: /127.0.0.1:58729, to: /0.0.0.0:52466, 46002, QUERY(0), NoError(0), RD)
		DefaultDnsQuestion(host5.sub.foo.com. IN A)
		DefaultDnsRawRecord(host5.sub.foo.com. 100 IN A 4B)
		DefaultDnsRawRecord(host5.sub.foo.com. 100 IN A 4B)
10:27:46.657 [main] DEBUG o.a.d.s.d.p.DnsProtocolHandler - /127.0.0.1:52466 CLOSED
10:27:46.657 [main] INFO  o.a.directory.server.dns.DnsServer - DNS service stopped.
DNS service stopped.


	•	testsuit
	•	transport-native-epoll
	
		[INFO] Running io.netty.testsuite.transport.socket.SocketSslClientRenegotiateTest
		[WARNING] Tests run: 64, Failures: 0, Errors: 0, Skipped: 64, Time elapsed: 0.355 s - in io.netty.testsuite.transport.socket.SocketSslClientRenegotiateTest
		[INFO]
		[INFO] Results:

Minimal yet complete reproducer code (or URL to code)

Trigged the build from master branch.

Netty version

4.1.40.Final-SNAPSHOT

JVM version (e.g. java -version)

1.8.0_222

OS version (e.g. uname -a)

ppc64le GNU/Linux

I am investigating more on 'conscript' build.

Kindly please suggest is there any way to use 'jetty-alpn' package instead of consscript.
Or is there any way to bypass the 'conscript' dependency and build netty with positive test cases executions.

@normanmaurer
Copy link
Member

normanmaurer commented Aug 19, 2019

I am sorry but I have no access to ppc64le hardware and so can not help... That said our dev environment is usually x86

@SantoshMagdum
Copy link
Author

Hi Norman,

Thanks for the response.

Can we bypass the 'conscript' dependency and still build netty with positive test case executions by using alternatives like jetty-alpn?

You can get access to the power VM (Power8) by raising a VM request at OSU - http://osuosl.org/services/powerdev/request_hosting/.
Please add Gerrit (gerrit@us.ibm.com) as IBM advocate for the request approval.

Thanks in advance for the help.

Also please note that

• I have commented below portion from pom.xml as it is x86_64 specific config.

• Netty Package builds fine without test case verification (with '-Dmaven.test.skip=true' option)

@normanmaurer
Copy link
Member

@SantoshMagdum done...

@SantoshMagdum
Copy link
Author

Hi Norman,
Did you get a chance to raise access request for guest OS for Power8 VM? Please let me know ticket/token ID. I shall followup for access.
Also, I had added ppc64le in below config to support ppc64le JDK.
^(x86_64|aarch_64|ppcle_64)$
Now I see netty-handler test cases are failing due for conscript dependency.

@normanmaurer
Copy link
Member

normanmaurer commented Aug 29, 2019 via email

@normanmaurer
Copy link
Member

normanmaurer commented Aug 29, 2019 via email

@SantoshMagdum
Copy link
Author

Hi Norman,
It seems like the access request is in the system and should get processed shortly.

@normanmaurer
Copy link
Member

@SantoshMagdum cool thanks!

@SantoshMagdum
Copy link
Author

Hi Norman,
Your guest VM access request is complete now. Please give a try. Thanks.

@normanmaurer
Copy link
Member

@SantoshMagdum will do once I have some cycles.

normanmaurer added a commit that referenced this issue Sep 7, 2019
Motivation:

At the moment it is not possible to build netty on a power 8 systems.

Modifications:

- Improve detection of the possibility of using Conscrypt
- Skip testsuite-shading when not on x86_64 as this is the only platform for which we build tcnative atm
- Only include classifier if on x86_64 for tcnative as dependency as this is the only platform for which we build tcnative atm
- Better detect if UDT test can be run

Result:

Fixes #9479
@normanmaurer
Copy link
Member

@SantoshMagdum should be fixed by #9550. Please verify... Also it would be cool if we could keep the host and include it in our CI infrastructure to ensure we not regress :)

@SantoshMagdum
Copy link
Author

Thanks Norman for checking.
I took the patch and tried building using below command.
mvn clean -DbuildDirectory=/usr/netty/BUILD -Dmaven.repo.local=/usr/netty/BUILD install

But the netty-handler was till throwing multiple errors like below -
[ERROR] Failures:
[ERROR] OpenSslEngineTest>SSLEngineTest.testGetCiphersuite:2800 expected:<TLS_[AES_128_GCM]SHA256> but was:<TLS[CHACHA20_POLY1305]SHA256>
[ERROR] OpenSslEngineTest>SSLEngineTest.testGetCiphersuite:2800 expected:<TLS
[AES_128_GCM]SHA256> but was:<TLS[CHACHA20_POLY1305]_SHA256>

[ERROR]   OpenSslConscryptSslEngineInteropTest.testSupportedSignatureAlgorithms:122->SSLEngineTest.testSupportedSignatureAlgorithms:3166->ConscryptSslEngineTest.serverSslContextProvider:69 ? NoClassDefFound
[ERROR]   OpenSslConscryptSslEngineInteropTest.testSupportedSignatureAlgorithms:122->SSLEngineTest.testSupportedSignatureAlgorithms:3166->ConscryptSslEngineTest.serverSslContextProvider:69 ? NoClassDefFound
[ERROR]   OpenSslConscryptSslEngineInteropTest.testSupportedSignatureAlgorithms:122->SSLEngineTest.testSupportedSignatureAlgorithms:3166->ConscryptSslEngineTest.serverSslContextProvider:69 ? NoClassDefFound
[ERROR]   SslContextBuilderTest.testUnsupportedPrivateKeyFailsFastForClient ?  Unexpecte...
[ERROR]   SslContextBuilderTest.testUnsupportedPrivateKeyFailsFastForServer ?  Unexpecte...
[INFO]
[ERROR] Tests run: 5097, Failures: 72, Errors: 614, Skipped: 253

I tried quickly to skip the test cases for netty-handler using below but errors were still pooping up -
--- a/handler/pom.xml
+++ b/handler/pom.xml
@@ -28,6 +28,7 @@

   <properties>
	 <javaModuleName>io.netty.handler</javaModuleName>
+    <skipShadingTestsuite>true</skipShadingTestsuite>
	 <!-- Needed for SelfSignedCertificate -->
	 <argLine.java9.extras>--add-exports java.base/sun.security.x509=ALL-UNNAMED</argLine.java9.extras>
   </properties>

Please suggest.

For now we can go ahead with plain netty build without any test executions (skipping test cases 'mvn Dmaven.test.skip=true' builds netty without issues).
Please share your build command. I shall try same (if you are using any different config. in build)

@normanmaurer
Copy link
Member

Hmm I didn't do anything special and it just works with the PR applied:

[centos@netty netty]$ uname -a
Linux netty 3.10.0-514.21.2.el7.ppc64le #1 SMP Tue Jun 20 16:35:48 GMT 2017 ppc64le ppc64le ppc64le GNU/Linux
[centos@netty netty]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.ppc64le/
[centos@netty netty]$ ./mvnw clean install
...
...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Netty/Dev-Tools .................................... SUCCESS [  1.376 s]
[INFO] Netty .............................................. SUCCESS [  7.027 s]
[INFO] Netty/Common ....................................... SUCCESS [01:09 min]
[INFO] Netty/Buffer ....................................... SUCCESS [ 55.379 s]
[INFO] Netty/Resolver ..................................... SUCCESS [  6.481 s]
[INFO] Netty/Transport .................................... SUCCESS [01:07 min]
[INFO] Netty/Codec ........................................ SUCCESS [ 32.166 s]
[INFO] Netty/Codec/DNS .................................... SUCCESS [  8.030 s]
[INFO] Netty/Codec/HAProxy ................................ SUCCESS [  6.729 s]
[INFO] Netty/Handler ...................................... SUCCESS [05:24 min]
[INFO] Netty/Codec/HTTP ................................... SUCCESS [ 26.196 s]
[INFO] Netty/Codec/HTTP2 .................................. SUCCESS [ 49.873 s]
[INFO] Netty/Codec/Memcache ............................... SUCCESS [  9.003 s]
[INFO] Netty/Codec/MQTT ................................... SUCCESS [  8.739 s]
[INFO] Netty/Codec/Redis .................................. SUCCESS [  8.171 s]
[INFO] Netty/Codec/SMTP ................................... SUCCESS [  7.163 s]
[INFO] Netty/Codec/Socks .................................. SUCCESS [ 10.489 s]
[INFO] Netty/Codec/Stomp .................................. SUCCESS [  7.465 s]
[INFO] Netty/Codec/XML .................................... SUCCESS [  8.074 s]
[INFO] Netty/Handler/Proxy ................................ SUCCESS [ 25.008 s]
[INFO] Netty/Resolver/DNS ................................. SUCCESS [01:08 min]
[INFO] Netty/Transport/RXTX ............................... SUCCESS [  5.690 s]
[INFO] Netty/Transport/SCTP ............................... SUCCESS [  6.803 s]
[INFO] Netty/Transport/UDT ................................ SUCCESS [ 25.089 s]
[INFO] Netty/Example ...................................... SUCCESS [ 18.879 s]
[INFO] Netty/Transport/Native/Unix/Common ................. SUCCESS [  9.682 s]
[INFO] Netty/Testsuite .................................... SUCCESS [14:47 min]
[INFO] Netty/Transport/Native/Unix/Common/Tests ........... SUCCESS [  3.404 s]
[INFO] Netty/Transport/Native/Epoll ....................... SUCCESS [06:31 min]
[INFO] Netty/Transport/Native/KQueue ...................... SUCCESS [  7.729 s]
[INFO] Netty/All-in-One ................................... SUCCESS [  4.563 s]
[INFO] Netty/Tarball ...................................... SUCCESS [  1.217 s]
[INFO] Netty/Testsuite/Autobahn ........................... SUCCESS [08:37 min]
[INFO] Netty/Testsuite/Http2 .............................. SUCCESS [  5.139 s]
[INFO] Netty/Testsuite/OSGI ............................... SUCCESS [  9.511 s]
[INFO] Netty/Testsuite/Shading ............................ SUCCESS [ 11.258 s]
[INFO] Netty/Testsuite/NativeImage ........................ SUCCESS [  3.588 s]
[INFO] Netty/Microbench ................................... SUCCESS [ 36.493 s]
[INFO] Netty/BOM .......................................... SUCCESS [  0.007 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 45:52 min
[INFO] Finished at: 2019-09-07T21:27:34Z
[INFO] Final Memory: 130M/666M
[INFO] ------------------------------------------------------------------------

normanmaurer added a commit that referenced this issue Sep 13, 2019
Motivation:

At the moment it is not possible to build netty on a power 8 systems.

Modifications:

- Improve detection of the possibility of using Conscrypt
- Skip testsuite-shading when not on x86_64 as this is the only platform for which we build tcnative atm
- Only include classifier if on x86_64 for tcnative as dependency as this is the only platform for which we build tcnative atm
- Better detect if UDT test can be run

Result:

Fixes #9479
normanmaurer added a commit that referenced this issue Sep 13, 2019
Motivation:

At the moment it is not possible to build netty on a power 8 systems.

Modifications:

- Improve detection of the possibility of using Conscrypt
- Skip testsuite-shading when not on x86_64 as this is the only platform for which we build tcnative atm
- Only include classifier if on x86_64 for tcnative as dependency as this is the only platform for which we build tcnative atm
- Better detect if UDT test can be run

Result:

Fixes #9479
@normanmaurer normanmaurer added this to the 4.1.42.Final milestone Sep 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants