Sencha Cmd 5 - java.lang.NoClassDefFoundError - java

I need to use Sencha Cmd 5 (v5.1.3.61). I am getting an error after sencha app watch:
Sencha Cmd v5.1.3.61
[WRN] the following remote package repository directories did not initialize properly :
[WRN] - /home/radoslaw/bin/Sencha/Cmd/5.1.3.61/../repo/pkgs
[WRN] - /home/radoslaw/bin/Sencha/Cmd/5.1.3.61/../repo/.sencha
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
at com.sencha.util.StringUtil.toBase64(StringUtil.java:202)
at com.sencha.tools.generator.DataStoreImpl.get(DataStoreImpl.java:103)
at com.sencha.tools.generator.Generator$1.doMerge(Generator.java:461)
at com.sencha.tools.generator.Generator$Mode$3.dispatch(Generator.java:266)
at com.sencha.tools.generator.Generator.generateFileToFile(Generator.java:446)
at com.sencha.tools.generator.Generator.generateFileToDir(Generator.java:438)
at com.sencha.tools.generator.Generator.generateDirToDir(Generator.java:431)
at com.sencha.tools.generator.Generator.generateDirToDir(Generator.java:426)
at com.sencha.tools.generator.Generator.generate(Generator.java:145)
at com.sencha.tools.pkg.LocalRepository.init(LocalRepository.java:131)
at com.sencha.tools.pkg.LocalRepository.init(LocalRepository.java:185)
at com.sencha.command.environment.WorkspaceRepository.getLocalRepository(WorkspaceRepository.java:273)
at com.sencha.command.environment.WorkspaceRepository.getLocalRepository(WorkspaceRepository.java:286)
at com.sencha.command.environment.FrameworkEnvironment.loadFrameworkPackage(FrameworkEnvironment.java:207)
at com.sencha.command.environment.AppOrPackageEnvironment.loadFrameworkConfig(AppOrPackageEnvironment.java:52)
at com.sencha.command.environment.AppEnvironment.<init>(AppEnvironment.java:50)
at com.sencha.command.environment.BuildEnvironment.load(BuildEnvironment.java:100)
at com.sencha.command.environment.BuildEnvironment.load(BuildEnvironment.java:124)
at com.sencha.command.environment.BuildEnvironment.load(BuildEnvironment.java:70)
at com.sencha.command.Sencha.loadBuildEnvironment(Sencha.java:426)
at com.sencha.command.Sencha.main(Sencha.java:128)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 21 more
Operating System: Linux Mint 20 Cinnamon
Linux Karnel: 5.4.0-26-generic
Java version:
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
I understand that boils down to the Java version.
The solutions I found did not come down to the same problem.
Has anyone encountered such a problem? What will be the simplest solution?

Related

Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN available

What version of gRPC are you using?
1.13.1
I am using java 8 to build an executable jar. Below is the java version:
$ /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin/java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-2~14.04-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
I am using gradle 3.4.1 to generate the jar as follows:
/opt/gradle-3.4.1/bin/gradle jar -Dorg.gradle.java.home=/usr/lib/jvm/java-1.8.0-openjdk-amd64/
Below are the dependencies defined in the module-level build.gradle file:
dependencies {
compile files("$TOOLCHAIN_VERSION_DIR/lib/commons-io-2.6.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/grpc-all.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/java-protobuf.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/jetty.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/log4j-core-2.8.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/log4j-slf4j-impl-2.8.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/netty-tcnative-boringssl-static-2.0.20.Final.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/netty-tcnative-2.0.20.Final.jar")
compile files("$TOOLCHAIN_VERSION_DIR/lib/picocli-3.8.2.jar")
compile group: 'com.google.guava', name: 'guava', version: '20.0'
compile files("$TOOLCHAIN_VERSION_DIR/lib/javassist-3.19.0-GA.jar")
compile project(':annotation')
}
After building, I am running the jar on an AIX7.2 machine as follows:
/usr/java8_64/jre/bin/java -jar agent-1.0.jar
The java version on the AIX machine is as follows:
$ /usr/java8_64/jre/bin/java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 8.0.5.26 - pap6480sr5fp26-20181115_03(SR5 FP26))
IBM J9 VM (build 2.9, JRE 1.8.0 AIX ppc64-64-Bit Compressed References 20181106_401576 (JIT enabled, AOT enabled)
OpenJ9 - fde1d6f
OMR - d8c3617
IBM - 5c4a9f0)
JCL - 20181022_01 based on Oracle jdk8u191-b26
But I am getting the following error while running:
Feb 17, 2019 3:11:33 AM io.grpc.netty.GrpcSslContexts defaultSslProvider
INFO: netty-tcnative unavailable (this may be normal)
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:93)
at io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:430)
at io.netty.handler.ssl.OpenSsl.<clinit>(OpenSsl.java:97)
at io.grpc.netty.GrpcSslContexts.defaultSslProvider(GrpcSslContexts.java:242)
at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:171)
at io.grpc.netty.GrpcSslContexts.forServer(GrpcSslContexts.java:151)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:456)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:55)
at com.ankit.agents.AgentMain.<init>(AgentMain.java:91)
at com.ankit.agents.AgentMain.main(AgentMain.java:132)
Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_aix_ppc_64
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:205)
at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:85)
... 9 more
Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_aix_ppc_64.a
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
... 10 more
Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64 (Not found in java.library.path)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1425)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1395)
at java.lang.System.loadLibrary(System.java:565)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:243)
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124)
... 10 more
Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_aix_ppc_64 (Not found in java.library.path)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1425)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1395)
at java.lang.System.loadLibrary(System.java:565)
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:263)
at java.security.AccessController.doPrivileged(AccessController.java:647)
at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:255)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:233)
... 11 more
Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_ppc_64
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:205)
at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:85)
... 9 more
Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_ppc_64.a
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
... 10 more
Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64 (Not found in java.library.path)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1425)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1395)
at java.lang.System.loadLibrary(System.java:565)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:243)
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124)
... 10 more
Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative_ppc_64 (Not found in java.library.path)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1425)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1395)
at java.lang.System.loadLibrary(System.java:565)
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:263)
at java.security.AccessController.doPrivileged(AccessController.java:647)
at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:255)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:233)
... 11 more
Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:205)
at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:85)
... 9 more
Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative.a
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
... 10 more
Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative (Not found in java.library.path)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1425)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1395)
at java.lang.System.loadLibrary(System.java:565)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:243)
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:124)
... 10 more
Suppressed: java.lang.UnsatisfiedLinkError: netty_tcnative (Not found in java.library.path)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1425)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:1395)
at java.lang.System.loadLibrary(System.java:565)
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:263)
at java.security.AccessController.doPrivileged(AccessController.java:647)
at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:255)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:233)
... 11 more
Feb 17, 2019 3:11:33 AM io.grpc.netty.GrpcSslContexts defaultSslProvider
INFO: Conscrypt not found (this may be normal)
Feb 17, 2019 3:11:33 AM io.grpc.netty.GrpcSslContexts defaultSslProvider
INFO: Jetty ALPN unavailable (this may be normal)
java.lang.ClassNotFoundException: org.eclipse.jetty.alpn.ALPN
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:403)
at io.grpc.netty.JettyTlsUtil.isJettyAlpnConfigured(JettyTlsUtil.java:64)
at io.grpc.netty.JettyTlsUtil.getJettyAlpnUnavailabilityCause(JettyTlsUtil.java:75)
at io.grpc.netty.GrpcSslContexts.defaultSslProvider(GrpcSslContexts.java:255)
at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:171)
at io.grpc.netty.GrpcSslContexts.forServer(GrpcSslContexts.java:151)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:456)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:55)
at com.ankit.agents.AgentMain.<init>(AgentMain.java:91)
at com.ankit.agents.AgentMain.main(AgentMain.java:132)
Exception in thread "main" java.lang.IllegalStateException: Could not find TLS ALPN provider; no working netty-tcnative, Conscrypt, or Jetty NPN/ALPN available
at io.grpc.netty.GrpcSslContexts.defaultSslProvider(GrpcSslContexts.java:256)
at io.grpc.netty.GrpcSslContexts.configure(GrpcSslContexts.java:171)
at io.grpc.netty.GrpcSslContexts.forServer(GrpcSslContexts.java:151)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:456)
at io.grpc.netty.NettyServerBuilder.useTransportSecurity(NettyServerBuilder.java:55)
at com.ankit.agents.AgentMain.<init>(AgentMain.java:91)
at com.ankit.agents.AgentMain.main(AgentMain.java:132)
However, it is running fine on an Ubuntu machine. I am running the jar as follows:
/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin/java -jar agent-1.0.jar
The java version here is:
$ /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin/java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-2~14.04-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)
What is the problem here and how to solve this?
It could be that: https://github.com/grpc/grpc-java/blob/master/SECURITY.md#tls-with-netty-tcnative-on-boringssl
I added runtime 'io.netty:netty-tcnative-boringssl-static:2.0.25.Final' in my build.gradle and it worked
I have answered this in another similar question also, this issue can also be because of alpine base image incompaitibility if you are using it.
"Looks like you are using base image as alpine, which actually doesn't supports gRPC, you need to add the gcompact apk in your application. So, what you can do is : Using docker :"
RUN apk add gcompat
ENV LD_PRELOAD=/lib/libgcompat.so.0
In my case, just updating the Java version from 8 to 14 solved the issue (version 11 should also be fine).
If you are on Intellij, make sure your version change worked properly.

Log4j2/Slf4j and Java 11

I'm currently trying to build an app with log4j/slf4j and java 11 but I'm facing this problem at runtime:
2018-12-10 22:09:27,225 main INFO Cannot initialize scripting support because this JRE does not support it. java.lang.NoClassDefFoundError: javax/script/ScriptEngineManager
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.script.ScriptManager.<init>(ScriptManager.java:69)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:216)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:250)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:547)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:619)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:636)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:231)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:153)
at org.apache.logging.log4j.core#2.11.1/org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j/org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:121)
at org.apache.logging.log4j.slf4j#2.11.1/org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:49)
at org.apache.logging.log4j/org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.log4j.slf4j#2.11.1/org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j/org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:355)
at org.slf4j/org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:380)
at fr.mrcraftcod.nameascreated/fr.mrcraftcod.nameascreated.NameAsCreated.<clinit>(NameAsCreated.java:39)
Caused by: java.lang.ClassNotFoundException: javax.script.ScriptEngineManager
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 17 more
The code that is at the origin of this is the initialization of my logger:
private static final Logger LOGGER = LoggerFactory.getLogger(NameAsCreated.class);
I have dependencies on:
org.apache.logging.log4j:log4j-api:2.11.1
org.apache.logging.log4j:log4j-core:2.11.1
org.apache.logging.log4j:log4j-slf4j18-impl:2.11.1
A maven project that depends on org.slf4j:slf4j-api:1.8.0-beta2
I'm on OSX Mojave with Java version:
openjdk version "11" 2018-09-25
OpenJDK Runtime Environment AdoptOpenJDK (build 11+28-201810021910)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11+28-201810021910, mixed mode)
Does someone have an idea of what I'm doing wrong and how I can solve this?
According to the Log4j documentation:
Log4j provides support for JSR 223 scripting languages to be used in some of its components.
and as said in the comments by Alan Bateman from Java 9 you have to add explicitly the java scripting module either with --add-modules java.scripting or in module-info.java.
Note also that the module jdk.scripting.nashorn is deprecated in Java 11 and will be removed in a future release.

Java security error Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_OPERATION_ACTIVE

We are seeing java security error randomly on our java job.
This error comes randomly when we pick xml files from windows server and parse them on Linux server trying to save in MongoGridFS.
The problem is when we restart this job it start working fine again for same data.
update() failed
java.security.ProviderException: update() failed
at
sun.security.pkcs11.P11Digest.engineUpdate(P11Digest.java:228)
at java.security.MessageDigest$Delegate.engineUpdate(MessageDigest.java:568)
at java.security.MessageDigest.update(MessageDigest.java:323)
at com.mongodb.gridfs.GridFSInputFile.dumpBuffer(GridFSInputFile.java:280)
at com.mongodb.gridfs.GridFSInputFile.saveChunks(GridFSInputFile.java:229)
at com.mongodb.gridfs.GridFSInputFile.save(GridFSInputFile.java:178)
at com.mongodb.gridfs.GridFSInputFile.save(GridFSInputFile.java:160)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: sun.security.pkcs11.wrapper.PKCS11Exception: CKR_OPERATION_ACTIVE
at sun.security.pkcs11.wrapper.PKCS11.C_DigestInit(Native Method)
at sun.security.pkcs11.P11Digest.engineUpdate(P11Digest.java:210)
... 16 more
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.5 (Final)
Could you please help me with this issue as it has become critical.
Thanks
Virendra Agarwal

java.lang.NoClassDefFoundError: Could not initialize class sun.font.SunFontManager

I just upgrade my java version to java 7 from java 6 and i am getting this stack trace. I am using java 7_u80.
`
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.font.SunFontManager
at sun.font.FontDesignMetrics.getMetrics(FontDesignMetrics.java:264)
at sun.java2d.SunGraphics2D.getFontMetrics(SunGraphics2D.java:819)
at org.jfree.text.G2TextMeasurer.getStringWidth(G2TextMeasurer.java:78)
at org.jfree.text.TextUtilities.nextLineBreak(TextUtilities.java:248)
at org.jfree.text.TextUtilities.createTextBlock(TextUtilities.java:187)
at org.jfree.text.TextUtilities.createTextBlock(TextUtilities.java:155)
at org.jfree.chart.plot.PiePlot.drawLeftLabels(PiePlot.java:1822)
at org.jfree.chart.plot.PiePlot.drawLabels(PiePlot.java:1787)
at org.jfree.chart.plot.PiePlot3D.draw(PiePlot3D.java:517)
at org.jfree.chart.JFreeChart.draw(JFreeChart.java:1058)
at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1244)
at org.jfree.chart.JFreeChart.createBufferedImage(JFreeChart.java:1223)
at org.jfree.chart.ChartUtilities.writeChartAsPNG(ChartUtilities.java:173)
at org.jfree.chart.ChartUtilities.saveChartAsPNG(ChartUtilities.java:328)
at com.PMSystems.charts.GenerateChart.generatePieChart(GenerateChart.java:340)
at org.apache.jsp.report.PMSCampaignSummaryDetail_jsp._jspService(PMSCampaignSummaryDetail_jsp.java:1886)
... 25 more
`
This only happen olny when i upgraded the java version any suggestion?
I encountered this error while running Android studio with LD_LIBRARY_PATH set to an old location.
Try unsetting LD_LIBRARY_PATH and running again.
Same issue encountered on OpenJDK 64-Bit Server version "11.0.9.1" 2020-11-04
see http://bugzilla.redhat.com/show_bug.cgi?id=1768935
It have been solved by moving to Amazon Corretto version "11.0.7" 2020-04-14 LTS
https://docs.aws.amazon.com/corretto/latest/corretto-11-ug/docker-install.html

Java cryptography library sporadically fails to start

We have a Java web application that sporadically fails to find cryptographic libraries.
Currently restarting the application fixes the issue.
The following expections appear in the logs, see below for full stack trace.
java.lang.InternalError: Could not start up the CDSA libraries.
java.lang.NoClassDefFoundError: Could not initialize class com.apple.crypto.provider.HmacMD5
The application is built using Java 1.6.0_15 and is deployed to 1.6.0_13 running on
Mac OS X Server 10.5.8 (9L30)
Any ideas ?
Cheers
Jono
Build Java version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03-211)
Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02-83, mixed mode)
Deployed Jave version
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-226)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-92, mixed mode)
Full stack trace:
java.lang.NoClassDefFoundError: Could not initialize class com.apple.crypto.provider.HmacMD5
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1881)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1782)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1047)
at com.apple.crypto.provider.HmacCore.<clinit>(HmacCore.java:26)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at java.security.Provider$Service.newInstance(Provider.java:1221)
at javax.crypto.Mac.a(DashoA13*..)
at javax.crypto.Mac.init(DashoA13*..)
at com.sun.net.ssl.internal.ssl.MAC.<init>(MAC.java:94)
at com.sun.net.ssl.internal.ssl.CipherSuite$MacAlg.newMac(CipherSuite.java:429)
at com.sun.net.ssl.internal.ssl.Handshaker.newWriteMAC(Handshaker.java:407)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.changeWriteCiphers(SSLSocketImpl.java:1791)
at com.sun.net.ssl.internal.ssl.Handshaker.sendChangeCipherSpec(Handshaker.java:607)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.sendChangeCipherAndFinish(ClientHandshaker.java:868)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:794)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:226)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1112)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:623)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2114)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
Your error doesn't mean the class is not found. "Could not initialize class com.apple.crypto.provider.HmacMD5" means that the static intizializer block (static { ... }) caused an exception. Do you have access to the source code of MmacMD5?
We once had a similar problem where the static block failed due to a non-reachable X server - but only if no X-forwarding-enabled SSH session to the server was available. (The class was registering fonts to later use them for rendering images)
As "sfussenegger" wrote, it is related to the static {} method. If you can't find a helpful documentation or source code, try a decompiler (if the license is fine with that of course only). I saw problems with crypto libraries also related to the seed produced by secure random (System halts, till it obtains enough randomness). Maybe something like this is part of the problem.
Anyway, if you can't get rid of the problem, there is still bouncy castle as a free or IAIK as a commercial alternative. Not much, but maybe that helps...

Categories

Resources