0 Replies Latest reply on Jan 18, 2018 12:20 AM by Wayne Wong

    java.lang.VerifyError: Bad type on operand stack

    Wayne Wong Newbie

      Hi all

      I ran into a very strange run time problem. In my code there is auto startup class (PocTransComp) annotated with @Weblistner.  It updates data status in database table for a few hundreds records without any problem and then all of a sudden, the following errors are thrown. Code stops working when the errors occur. It feels like code is halted.

      I googled around internet and find such error is usually caused when code is not compiled at the same time but mine is not the case.


      DirectoryDataValue is in ejb.jar only but its parent class PersistenceObject resides in both war and ejb jar packages. I am not sure if it could cause the problem.


      (PocTransaction Completer) Exception in thread "PocTransaction Completer" java.lang.VerifyError: Bad type on operand stack

      (PocTransaction Completer) Exception Details:

      (PocTransaction Completer)   Location:

      (PocTransaction Completer)     com/explr/poc/server/domain/DirectoryDataDomain.save(Lcom/as/tools/dom/PersistentObject;Lcom/as/tools/sql/JDBCHelper;)Lcom/as/tools/dom/PersistentObject; @8: invokespecial

      (PocTransaction Completer)   Reason:

      (PocTransaction Completer)     Type 'com/explr/poc/server/value/DirectoryDataValue' (current frame, stack[1]) is not assignable to 'com/as/tools/dom/PersistentObject'

      (PocTransaction Completer)   Current Frame:

      (PocTransaction Completer)     bci: @8

      (PocTransaction Completer)     flags: { }

      (PocTransaction Completer)     locals: { 'com/explr/poc/server/domain/DirectoryDataDomain', 'com/as/tools/dom/PersistentObject', 'com/as/tools/sql/JDBCHelper', 'com/explr/poc/server/value/DirectoryDataValue' }

      (PocTransaction Completer)     stack: { 'com/explr/poc/server/domain/DirectoryDataDomain', 'com/explr/poc/server/value/DirectoryDataValue', 'com/as/tools/sql/JDBCHelper' }

      (PocTransaction Completer)   Bytecode:

      (PocTransaction Completer)     0x0000000: 2bc0 000c 4e2a 2d2c b700 69b0 3a04 126b

      (PocTransaction Completer)     0x0000010: bb00 1059 b700 112d b600 6cb6 0013 126d

      (PocTransaction Completer)     0x0000020: b600 132d b600 2eb6 0013 126e b600 1319

      (PocTransaction Completer)     0x0000030: 04b6 006f b600 13b6 0017 b800 64bb 0070

      (PocTransaction Completer)     0x0000040: 59bb 0010 59b7 0011 2db6 006c b600 1312

      (PocTransaction Completer)     0x0000050: 71b6 0013 2db6 002e b600 1312 72b6 0013

      (PocTransaction Completer)     0x0000060: b600 17b7 0073 bf                 

      (PocTransaction Completer)   Exception Handler Table:

      (PocTransaction Completer)     bci [5, 11] => handler: 12

      (PocTransaction Completer)   Stackmap Table:

      (PocTransaction Completer)     full_frame(@12,{Object[#312],Object[#339],Object[#340],Object[#317]},{Object[#341]})

      (PocTransaction Completer)



      (PocTransaction Completer) at com.explr.poc.server.dom.impl.PocTransComp.performWtnDeletion(PocTransComp.java:368)

      (PocTransaction Completer) at com.explr.poc.server.dom.impl.PocTransComp.markPicProcessed(PocTransComp.java:167)

      (PocTransaction Completer) at com.explr.poc.server.dom.impl.PocTransComp.run(PocTransComp.java:115)

      (PocTransaction Completer) at java.lang.Thread.run(Unknown Source)


      Thanks very much for your help