使用sbt-assembly进行着色后的java.lang.VerifyError

时间:2017-01-24 04:54:28

标签: sbt sbt-assembly

我们在使用java.lang.VerifyError: using spark with akka 进行着色后在sbt-assembly 中报告了Gearpump中的类似问题。错误就像

Exception in thread "main" java.lang.VerifyError: Inconsistent stackmap frames at branch target 152
Exception Details:
  Location:
    akka/dispatch/Mailbox.processAllSystemMessages()V @152: getstatic
  Reason:
    Type top (current frame, locals[9]) is not assignable to 'akka/dispatch/sysmsg/SystemMessage' (stack map, locals[9])
  Current Frame:
    bci: @131
    flags: { }
    locals: { 'akka/dispatch/Mailbox', 'java/lang/InterruptedException', 'akka/dispatch/sysmsg/SystemMessage', top, 'akka/dispatch/Mailbox', 'java/lang/Throwable', 'java/lang/Throwable' }
    stack: { integer }
  Stackmap Frame:
    bci: @152
    flags: { }
    locals: { 'akka/dispatch/Mailbox', 'java/lang/InterruptedException', 'akka/dispatch/sysmsg/SystemMessage', top, 'akka/dispatch/Mailbox', 'java/lang/Throwable', 'java/lang/Throwable', top, top, 'akka/dispatch/sysmsg/SystemMessage' }
    stack: { }
  Bytecode:
    0x0000000: 014c 2ab2 0132 b601 35b6 0139 4db2 013e
    0x0000010: 2cb6 0142 9900 522a b600 c69a 004b 2c4e
    0x0000020: b201 3e2c b601 454d 2db9 0148 0100 2ab6
    0x0000030: 0052 2db6 014b b801 0999 000e bb00 e759
    0x0000040: 1301 4db7 010f 4cb2 013e 2cb6 0150 99ff
    0x0000050: bf2a b600 c69a ffb8 2ab2 0132 b601 35b6
    0x0000060: 0139 4da7 ffaa 2ab6 0052 b600 56b6 0154
    0x0000070: b601 5a3a 04a7 0091 3a05 1905 3a06 1906
    0x0000080: c100 e799 0015 1906 c000 e73a 0719 074c
    0x0000090: b200 f63a 08a7 0071 b201 5f19 06b6 0163
    0x00000a0: 3a0a 190a b601 6899 0006 1905 bf19 0ab6
    0x00000b0: 016c c000 df3a 0b2a b600 52b6 0170 b601
    0x00000c0: 76bb 000f 5919 0b2a b600 52b6 017a b601
    0x00000d0: 80b6 0186 2ab6 018a bb01 8c59 b701 8e13
    0x00000e0: 0190 b601 9419 09b6 0194 1301 96b6 0194
    0x00000f0: 190b b601 99b6 0194 b601 9ab7 019d b601
    0x0000100: a3b2 00f6 3a08 b201 3e2c b601 4299 0026
    0x0000110: 2c3a 09b2 013e 2cb6 0145 4d19 09b9 0148
    0x0000120: 0100 1904 2ab6 0052 b601 7a19 09b6 01a7
    0x0000130: a7ff d62b c600 09b8 0109 572b bfb1
  Exception Handler Table:
    append_frame(@13,Object[#231],Object[#177])
    append_frame(@71,Object[#177])
    chop_frame(@102,1)
    full_frame(@120,{Object[#2],Object[#231],Object[#177],Top,Object[#2],Object[#177]},{Object[#223]})
    full_frame(@152,{Object[#2],Object[#231],Object[#177],Top,Object[#2],Object[#223],Object[#223],Top,Top,Object[#177]},{})
    append_frame(@173,Object[#357])
    full_frame(@262,{Object[#2],Object[#231],Object[#177],Top,Object[#2]},{})
    same_frame(@307)
    same_frame(@317)

  at akka.dispatch.Mailboxes.<init>(Mailboxes.scala:33)
  at akka.actor.ActorSystemImpl.<init>(ActorSystem.scala:779)
  at akka.actor.ActorSystem$.apply(ActorSystem.scala:245)
  at akka.actor.ActorSystem$.apply(ActorSystem.scala:288)
  at akka.actor.ActorSystem$.apply(ActorSystem.scala:263)
  at org.apache.gearpump.cluster.main.Local$.local(Local.scala:75)
  at org.apache.gearpump.cluster.main.Local$.main(Local.scala:56)
  at org.apache.gearpump.util.AkkaApp$$anonfun$main$1.apply(AkkaApp.scala:42)
  at org.apache.gearpump.util.AkkaApp$$anonfun$main$1.apply(AkkaApp.scala:42)
  at scala.util.Try$.apply(Try.scala:192)
  at org.apache.gearpump.util.AkkaApp$class.main(AkkaApp.scala:41)
  at org.apache.gearpump.cluster.main.Local$.main(Local.scala:35)
  at org.apache.gearpump.cluster.main.Local.main(Local.scala)

Link用于Gearpump构建文件。

我们使用sbt-assembly 0.14.3和Akka 2.4.16

1 个答案:

答案 0 :(得分:0)

看起来像一个asm bug。 我们找到了一个修复sbt-assembly(https://github.com/sbt/sbt-assembly/issues/205#issuecomment-279967557)的Gearpump的解决方法。

感谢https://github.com/pomadchin,有一个公关等待批准(https://github.com/sbt/sbt-assembly/pull/237