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

Netty/Resolver/DNS » 4.1.87.Final requires sun.net.dns #13297

Closed
FelixMarxIBM opened this issue Mar 24, 2023 · 1 comment · Fixed by #13303
Closed

Netty/Resolver/DNS » 4.1.87.Final requires sun.net.dns #13297

FelixMarxIBM opened this issue Mar 24, 2023 · 1 comment · Fixed by #13303
Milestone

Comments

@FelixMarxIBM
Copy link

FelixMarxIBM commented Mar 24, 2023

Expected behavior

Netty starts up in a OSGI environment on Java 8

Actual behavior

Issues resolving sun.net.dns in that environment.

Steps to reproduce

Try to start Netty in an OSGI environment with Java 8

Netty version

4.1.87.Final

JVM version (e.g. java -version)

1.8.0_362 25.362-b09 (Azul Zulu)

OS version (e.g. uname -a)

4.18.0-425.10.1.el8_7.x86_64 #1 SMP Wed Dec 14 16:00:01 EST 2022 x86_64 x86_64 x86_64 GNU/Linux

Error in Application Log

org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=thirdparty-netty; type=karaf.feature; version=0; filter:="(&(osgi.identity=thirdparty-netty)(type=karaf.feature)(version>=0.0.0))" [caused by: Unable to resolve thirdparty-netty/4.1.90.Final: missing requirement [thirdparty-netty/4.1.90.Final] osgi.identity; osgi.identity=io.netty.resolver-dns; type=osgi.bundle; version="[4.1.90.Final,4.1.90.Final]"; resolution:=mandatory [caused by: Unable to resolve io.netty.resolver-dns [33](R 33.0): missing requirement [io.netty.resolver-dns [33](R 33.0)] osgi.wiring.package; (osgi.wiring.package=sun.net.dns)]]
	at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
	at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:392)
	at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378)
	at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332)
	at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:401)
	at org.apache.karaf.features.internal.service.Deployer.handlePrerequisites(Deployer.java:1124)
	at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:396)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1063)
	at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve thirdparty-netty/4.1.90.Final: missing requirement [thirdparty-netty/4.1.90.Final] osgi.identity; osgi.identity=io.netty.resolver-dns; type=osgi.bundle; version="[4.1.90.Final,4.1.90.Final]"; resolution:=mandatory [caused by: Unable to resolve io.netty.resolver-dns [33](R 33.0): missing requirement [io.netty.resolver-dns [33](R 33.0)] osgi.wiring.package; (osgi.wiring.package=sun.net.dns)]
	at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
	... 14 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve io.netty.resolver-dns [33](R 33.0): missing requirement [io.netty.resolver-dns [33](R 33.0)] osgi.wiring.package; (osgi.wiring.package=sun.net.dns)
	at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
	... 15 more

MANIFEST.MF from 4.1.85.Final

Manifest-Version: 1.0
Implementation-Title: Netty/Resolver/DNS
Bundle-Description: Netty is an asynchronous event-driven network appl
 ication framework for    rapid development of maintainable high perfo
 rmance protocol servers and    clients.
Automatic-Module-Name: io.netty.resolver.dns
Bundle-License: https://www.apache.org/licenses/LICENSE-2.0
Bundle-SymbolicName: io.netty.resolver-dns
Implementation-Version: 4.1.85.Final
Built-By: chris
Bnd-LastModified: 1668019079041
Bundle-ManifestVersion: 2
Implementation-Vendor-Id: io.netty
Bundle-DocURL: https://netty.io/
Bundle-Vendor: The Netty Project
Import-Package: io.netty.bootstrap;version="[4.1,5)",io.netty.buffer;v
 ersion="[4.1,5)",io.netty.channel;version="[4.1,5)",io.netty.channel.
 socket;version="[4.1,5)",io.netty.handler.codec;version="[4.1,5)",io.
 netty.handler.codec.dns;version="[4.1,5)",io.netty.handler.logging;ve
 rsion="[4.1,5)",io.netty.resolver,io.netty.util;version="[4.1,5)",io.
 netty.util.collection;version="[4.1,5)",io.netty.util.concurrent;vers
 ion="[4.1,5)",io.netty.util.internal;version="[4.1,5)",io.netty.util.
 internal.logging;version="[4.1,5)",javax.naming,javax.naming.director
 y,sun.nio.ch;resolution:=optional,org.eclipse.jetty.npn;version="[1,2
 )";resolution:=optional,org.eclipse.jetty.alpn;version="[1,2)";resolu
 tion:=optional
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"
Tool: Bnd-2.4.1.201501161923
Implementation-Vendor: The Netty Project
Export-Package: io.netty.resolver.dns;uses:="io.netty.channel,io.netty
 .channel.socket,io.netty.handler.codec.dns,io.netty.handler.logging,i
 o.netty.resolver,io.netty.util.concurrent";version="4.1.85"
Bundle-Name: Netty/Resolver/DNS
Bundle-Version: 4.1.85.Final
Created-By: Apache Maven Bundle Plugin
Build-Jdk: 1.8.0_312
Implementation-URL: https://netty.io/netty-resolver-dns/

MANIFEST.MF from 4.1.87.Final

Manifest-Version: 1.0
Implementation-Title: Netty/Resolver/DNS
Bundle-Description: Netty is an asynchronous event-driven network appl
 ication framework for    rapid development of maintainable high perfo
 rmance protocol servers and    clients.
Automatic-Module-Name: io.netty.resolver.dns
Bundle-License: https://www.apache.org/licenses/LICENSE-2.0
Bundle-SymbolicName: io.netty.resolver-dns
Implementation-Version: 4.1.87.Final
Built-By: norman
Bnd-LastModified: 1673539407305
Bundle-ManifestVersion: 2
Implementation-Vendor-Id: io.netty
Bundle-DocURL: https://netty.io/
Bundle-Vendor: The Netty Project
Import-Package: io.netty.bootstrap;version="[4.1,5)",io.netty.buffer;v
 ersion="[4.1,5)",io.netty.channel;version="[4.1,5)",io.netty.channel.
 socket;version="[4.1,5)",io.netty.handler.codec;version="[4.1,5)",io.
 netty.handler.codec.dns;version="[4.1,5)",io.netty.handler.logging;ve
 rsion="[4.1,5)",io.netty.resolver;version="[4.1,5)",io.netty.util;ver
 sion="[4.1,5)",io.netty.util.collection;version="[4.1,5)",io.netty.ut
 il.concurrent;version="[4.1,5)",io.netty.util.internal;version="[4.1,
 5)",io.netty.util.internal.logging;version="[4.1,5)",javax.naming,jav
 ax.naming.directory,sun.net.dns,sun.nio.ch;resolution:=optional,org.e
 clipse.jetty.npn;version="[1,2)";resolution:=optional,org.eclipse.jet
 ty.alpn;version="[1,2)";resolution:=optional
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"
Tool: Bnd-6.3.1.202206071316
Implementation-Vendor: The Netty Project
Export-Package: io.netty.resolver.dns;uses:="io.netty.channel,io.netty
 .channel.socket,io.netty.handler.codec.dns,io.netty.handler.logging,i
 o.netty.resolver,io.netty.util.concurrent";version="4.1.87"
Bundle-Name: Netty/Resolver/DNS
Bundle-Version: 4.1.87.Final
Build-Jdk-Spec: 1.8
Created-By: Apache Maven Bundle Plugin 5.1.8
Build-Jdk: 1.8.0_252
Implementation-URL: https://netty.io/netty-resolver-dns/
normanmaurer added a commit that referenced this issue Mar 28, 2023
Motivation:

To be able to use our DNS resolver with OSGI we should use an optional resolution of sun.net.dns

Modifications:

Add config to pom.xml

Result:

Fixes #13297
@normanmaurer
Copy link
Member

@FelixMarxIBM thanks for reporting... should be fixed by #13303

@normanmaurer normanmaurer added this to the 4.1.91.Final milestone Mar 28, 2023
normanmaurer added a commit that referenced this issue Mar 28, 2023
Motivation:

To be able to use our DNS resolver with OSGI we should use an optional resolution of sun.net.dns

Modifications:

Add config to pom.xml

Result:

Fixes #13297
normanmaurer added a commit that referenced this issue Mar 28, 2023
Motivation:

To be able to use our DNS resolver with OSGI we should use an optional resolution of sun.net.dns

Modifications:

Add config to pom.xml

Result:

Fixes #13297
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