当前位置: 代码迷 >> 综合 >> java.lang.VerifyError: Uninitialized object exists on backward branch 209
  详细解决方案

java.lang.VerifyError: Uninitialized object exists on backward branch 209

热度:75   发布时间:2024-01-05 09:07:31.0

今天试着使用新版本的kafak 1.1.1。 下载了kafka_2.12-1.1.1。 zookeeper启动正常,但是kafka启动失败,错误信息如下

错误内容

C:\H\software\kafka_2.12-1.1.1\bin\windows>kafka-server-start.bat  ..\..\config\
server.properties
[2018-12-11 21:13:46,490] INFO Registered kafka:type=kafka.Log4jController MBean(kafka.utils.Log4jControllerRegistration$)
[2018-12-11 21:13:46,998] ERROR Exiting Kafka due to fatal exception (kafka.Kafk
a$)
java.lang.VerifyError: Uninitialized object exists on backward branch 209
Exception Details:Location:scala/collection/immutable/HashMap$HashTrieMap.split()Lscala/collection/immu
table/Seq; @249: gotoReason:Error exists in the bytecodeBytecode:0000000: 2ab6 0060 04a0 001e b200 b8b2 00bd 04bd0000010: 0002 5903 2a53 c000 bfb6 00c3 b600 c7c0......0000170: b200 bd05 bd00 0259 0319 0b53 5904 190c0000180: 53c0 00bf b600 c3b6 0102 b02a b600 38030000190: 32b6 0104 b0Stackmap Table:same_frame(@35)full_frame(@141,{
    Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
114]},{
    })append_frame(@151,Object[#134],Object[#134])full_frame(@209,{
    Object[#2],Integer,Integer,Integer,Integer,Integer,Object[#
......at scala.collection.generic.GenMapFactory.apply(GenMapFactory.scala:48)at kafka.api.ApiVersion$.<init>(ApiVersion.scala:79)at kafka.api.ApiVersion$.<clinit>(ApiVersion.scala)at kafka.server.Defaults$.<init>(KafkaConfig.scala:142)at kafka.server.Defaults$.<clinit>(KafkaConfig.scala)at kafka.server.KafkaConfig$.<init>(KafkaConfig.scala:752)

我的JDK版本如下,

C:\Users\xyz>java -version
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)C:\Users\xyz>

简单分析

我们发现报的java.lang.VerifyErrro, 然后查阅相关文档https://docs.oracle.com/javase/7/docs/api/java/lang/VerifyError.html。 “hrown when the “verifier” detects that a class file, though well formed, contains some sort of internal inconsistency or security problem.” 从文档内容十有八九是jdk版本问题,因为官方文档提示,虽然well formed(格式完好)。

解决办法,升级jdk

我升级到 Java SE Development Kit 8u191

C:\Users\yangqian>java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
  相关解决方案