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-all-4.0.25 java.lang.NoClassDefFoundError: Could not initialize class io.netty.util.internal.PlatformDependent #6632

Closed
JasonHuangHuster opened this issue Apr 18, 2017 · 5 comments

Comments

@JasonHuangHuster
Copy link

Expected behavior

My Server can't startup ,because of NoClassDefFoundError , PlatformDependent specific

Actual behavior

java.lang.NoClassDefFoundError: Could not initialize class io.netty.util.internal.PlatformDependent

Steps to reproduce

`1) Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class io.netty.util.internal.PlatformDependent
at com.tencent.jungle.svrcore.comm.ServerConfigs.(ServerConfigs.java:39)
while locating com.tencent.jungle.svrcore.comm.ServerConfigs
for parameter 1 at com.tencent.jungle.svrcore.smart.AccumulateSuccessReporter.(AccumulateSuccessReporter.java:110)
while locating com.tencent.jungle.svrcore.smart.AccumulateSuccessReporter
while locating com.tencent.jungle.svrcore.smart.SmartReporter
at com.tencent.userCenter.NotFound.(NotFound.java:26)
while locating com.tencent.userCenter.NotFound

1 error
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
at com.tencent.userCenter.Bootstrap.main(Bootstrap.java:61)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.netty.util.internal.PlatformDependent
at io.netty.util.internal.TypeParameterMatcher.get(TypeParameterMatcher.java:40)
at io.netty.util.internal.TypeParameterMatcher.find(TypeParameterMatcher.java:78)
at io.netty.channel.SimpleChannelInboundHandler.(SimpleChannelInboundHandler.java:67)
at io.netty.channel.SimpleChannelInboundHandler.(SimpleChannelInboundHandler.java:57)
at com.tencent.jungle.svrcore.client.BaseClientIoService.(BaseClientIoService.java:36)
at com.tencent.jungle.svrcore.client.TcpClientIoService.(TcpClientIoService.java:45)
at com.tencent.jungle.svrcore.comm.ServerConfigs.(ServerConfigs.java:51)
at com.tencent.jungle.svrcore.comm.ServerConfigs$$FastClassByGuice$$749d4bc7.newInstance()
at com.google.inject.internal.cglib.reflect.FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
at com.tencent.jungle.svrcore.comm.BaseProcessor.(BaseProcessor.java:85)
at com.tencent.jungle.svrcore.comm.QAppBaseProcessor.(QAppBaseProcessor.java:27)
at com.tencent.userCenter.NotFound.(NotFound.java:26)
at com.tencent.userCenter.NotFound$$FastClassByGuice$$517c5ba7.newInstance()
at com.google.inject.internal.cglib.reflect.FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:804)
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)`

Minimal yet complete reproducer code (or URL to code)

Netty version

netty-all-4.0.25.final

JVM version (e.g. java -version)

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

OS version (e.g. uname -a)

Linux vps 2.6.32.57-tlinux-1.1.rc9-lighthouse1.2-cae #26 SMP Thu Jun 20 16:31:52 CST 2013 x86_64 x86_64 x86_64 GNU/Linux

this OS is a customed os based on Cent-os.

@normanmaurer
Copy link
Member

@JasonHuangHuster please upgrade to latest netty 4.0 release and report back if the issue still exists (with updated stacktrace).

@JasonHuangHuster
Copy link
Author

JasonHuangHuster commented Apr 18, 2017

tks for your reply ,PlatformDependentrelated error is gone , but another one shows up . i have upgraded to netty-all-4.0.45.final :(

2017-04-18 13:39:24,093 [ERROR]PropertiesProcessorService(54) init failed, GetLiveCalendar=com.tencent.userCenter.processor.GetLiveCalendar
com.google.inject.ProvisionException: Guice provision errors:

  1. Error injecting constructor, java.lang.NoClassDefFoundError: Could not initialize class io.netty.channel.nio.NioEventLoopGroup
    at com.tencent.jungle.svrcore.comm.ServerConfigs.(ServerConfigs.java:39)
    while locating com.tencent.jungle.svrcore.comm.ServerConfigs
    for parameter 1 at com.tencent.jungle.svrcore.smart.AccumulateSuccessReporter.(AccumulateSuccessReporter.java:110)
    while locating com.tencent.jungle.svrcore.smart.AccumulateSuccessReporter
    while locating com.tencent.jungle.svrcore.smart.SmartReporter
    at com.tencent.userCenter.processor.GetLiveCalendar.(GetLiveCalendar.java:45)
    while locating com.tencent.userCenter.processor.GetLiveCalendar

1 error
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
at com.tencent.jungle.svrcore.ps.PropertiesProcessorService.(PropertiesProcessorService.java:43)
at com.tencent.jungle.svrcore.ps.PropertiesProcessorService.(PropertiesProcessorService.java:26)
at com.tencent.userCenter.Bootstrap.main(Bootstrap.java:61)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.netty.channel.nio.NioEventLoopGroup
at com.tencent.jungle.svrcore.client.TcpClientIoService.start(TcpClientIoService.java:83)
at com.tencent.jungle.svrcore.client.KilimClientIoService.start(KilimClientIoService.java:48)
at com.tencent.jungle.svrcore.comm.ServerConfigs.(ServerConfigs.java:54)
at com.tencent.jungle.svrcore.comm.ServerConfigs$$FastClassByGuice$$749d4bc7.newInstance()
at com.google.inject.internal.cglib.reflect.FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
at com.tencent.jungle.svrcore.comm.BaseProcessor.(BaseProcessor.java:88)
at com.tencent.jungle.svrcore.comm.QAppBaseProcessor.(QAppBaseProcessor.java:27)
at com.tencent.userCenter.AbstractProcessor.(AbstractProcessor.java:24)
at com.tencent.userCenter.processor.GetLiveCalendar.(GetLiveCalendar.java:45)
at com.tencent.userCenter.processor.GetLiveCalendar$$FastClassByGuice$$deba592c.newInstance()
at com.google.inject.internal.cglib.reflect.FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:60)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:85)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:804)
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
... 4 more

@fenik17
Copy link
Contributor

fenik17 commented Apr 18, 2017

It looks like #6596 and #4671.

@liyouxina
Copy link

liyouxina commented Aug 31, 2022

I fix it by adding this to JVM args
--add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens jdk.unsupported/sun.misc=ALL-UNNAMED --add-opens java.base/sun.security.action=ALL-UNNAMED --add-opens jdk.naming.rmi/com.sun.jndi.rmi.registry=ALL-UNNAMED --add-opens java.base/sun.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED

these args may have other that is not related to this problem, but I can not pick them out

@bigdata2018ken
Copy link

--add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens jdk.unsupported/sun.misc=ALL-UNNAMED --add-opens java.base/sun.security.action=ALL-UNNAMED --add-opens jdk.naming.rmi/com.sun.jndi.rmi.registry=ALL-UNNAMED --add-opens java.base/sun.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED

--add-opens java.base/java.nio=ALL-UNNAMED

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

No branches or pull requests

5 participants