关于Grails在输入命令出现Regression in verifier for <init> method call from inside of a branch的BUG解决办法

6 篇文章 0 订阅

just downloaded from 'master' and am doing a build. Everything was building fine until I got to grails-web-databinding

:grails-web-databinding:compileGroovy FAILED

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':grails-web-databinding:compileGroovy'.
    > Bad <init> method call from inside of a branch
    Exception Details:
    Location:
    grails/web/mime/MimeType.<init>(Ljava/lang/String;)V @115: invokespecial
    Reason:
    Error exists in the bytecode
    Bytecode:
    0000000: 05bd 0004 5903 2b12 58b8 00a1 5359 0403
    0000010: bd00 04b8 0040 1293 b800 a153 5910 ff12
    0000020: 02b8 00a5 2a5f ab00 0000 00a2 0000 0004
    0000030: a159 6e5c 0000 002a aad3 b1ff 0000 0053
    0000040: b7d2 0ba6 0000 0066 e925 fa09 0000 0085
    0000050: 5f5a 5903 32b8 0072 c000 585f 5904 32b8
    0000060: 0072 c000 585f 5905 3212 93b8 0062 c000
    0000070: 935f 57b7 0031 a700 5c5f 5a59 0332 b800
    0000080: 72c0 0058 5f57 b700 a7a7 0049 5f5a 5903
    0000090: 32b8 0072 c000 585f 5904 3212 93b8 0062
    00000a0: c000 935f 57b7 00a9 a700 2a5f 5a59 0332
    00000b0: b800 72c0 0058 5f59 0432 b800 72c0 0058
    00000c0: 5f57 b700 aca7 000d bb00 ae59 12b0 b700
    00000d0: b1bf 57b1 
    Stackmap Table:
    full_frame(@80, {UninitializedThis,Object[#88]},{Object[#94],UninitializedThis})
    full_frame(@121,{UninitializedThis,Object[#88]}

    ,

    {Object[#94],UninitializedThis})
    full_frame(@140,{UninitializedThis,Object[#88]},{Object[#94],UninitializedThis}

    )
    full_frame(@171,

    {UninitializedThis,Object[#88]},{Object[#94],UninitializedThis})
    full_frame(@200,{UninitializedThis,Object[#88]}

    ,

    {Object[#94],UninitializedThis}

    )
    full_frame(@210,

    {Object[#2],Object[#88]}

    ,

    {Object[#94]}

    )


这个问题其实是JDK得版本BUG造成的,不是grails的BUG,解决办法是换一个不出现该BUG版本的JDK,以下是英文回答

There are verifier bugs in Oracle/OpenJDK 7u65, 7u67, 8u11 and 8u20 , see https://bugs.openjdk.java.net/browse/JDK-8051012 .

This problem has been reported to the Groovy Jira http://jira.codehaus.org/browse/GROOVY-6951 . It's not a bug in Groovy and we are all waiting for 7u80 and 8u40 JDK updates to fix the problem.

More details about the problem in InfoQ article See http://www.infoq.com/news/2014/08/Java8-U11-Broke-Tools and http://www.takipiblog.com/2014/08/07/oracles-latest-java-8-update-broke-your-tools-how-did-it-happen/ . The articles mainly mention Java 8u11 breaking things, but the same problems are in Java 7u65/7u67 and 8u20 .

However in Java7 it's possible to use "-XX:-UseSplitVerifier" or "-Xverify:none" command line option to workaround the problems. In Java 8 the only work around is using the "-Xverify:none" jvm commandline option.

I recently ran into the same issue when Travis upgraded their JVM to 7u67 . They downgraded back to 7u60 . This was the issue: https://github.com/travis-ci/travis-ci/issues/2725


解释上有说添加环境变量,但是我以7U65版本的JDK,即便添加了,也同样出现该问题
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值