Menu

Invalid length 65532 in LocalVariableTable ?

2012-04-03
2013-04-24
  • Max R. Andersen

    Max R. Andersen - 2012-04-03

    Hi,

    We've just spent a good amount of time tracking down an exception that ended in "Invalid length 65532 in LocalVariableTable in class file" - turned out that if both jacoco and eclemma is used in the same project bad things tend to happen :)

    But it also turns out that this problem is not unique to jacoco/eclemma being mixed.

    I've seen it also when JBoss AS modules was using custom bytecode manipulation which messed up pointers (everything worked fine - except for jacoco)

    I can also see http://sourceforge.net/tracker/?func=detail&atid=883351&aid=3486469&group_id=177969 which is related to Kodo projects.

    And i'm sure this will happen to other users as well.

    Is there really no way of having asm that jacoco uses for instrumenting *not* set that point so high and simply only set it to the same previous value or with the same offset as jacoco is causing ?

    afaics having a working, but imprecise value there is better than this total failure by the VM to load the class?

     
  • Anonymous

    Anonymous - 2012-04-03

    (please ignore my comment, it's just there to monitor post)

     
  • Marc R. Hoffmann

    Hi Max,

    I'll investigate whether we have a chance to detect such broken pointers with ASM API and filter them out completely. If I don't find a solution I will check with the ASM project. To track this I opened a bug for it.

    Cheers,
    -marc

     
  • Marc R. Hoffmann

    Max, do you have a class file with has the problem (I know you provided one to me some time ago but I can't find it anymore)? Please attach to the bug.

    Thanks,
    -marc

     
  • Anonymous

    Anonymous - 2012-04-04

    Hi Marc,

    We may be able to reproduce the issue (ClassFormat) when dealing with jacoco+emma at the same time. Should I append a test case to ticket 196, or should I open another dedicated ticket for that?

     
  • Max R. Andersen

    Max R. Andersen - 2012-04-04

    I went back and found the AS 7.0.2 class that resulted in similar error.

    I've attached it to the bug.

    Mickael, I think we don't have to reproduce this issue for the jacoco+emma issue for now - unless Marc believes the issues are different.

     
  • Marc R. Hoffmann

    It's fixed on trunk. Can you please re-test with the latest trunk build?

    Cheers,
    -marc

     
  • Anonymous

    Anonymous - 2012-04-10

    Cool thanks!
    Is it available as a SNAPSHOT on a Maven repo?

     
  • Marc R. Hoffmann

    Evgeny just created a new 0.5.7-SNAPSHOT build, please find repo details here.

     
  • Anonymous

    Anonymous - 2012-04-11

    Seems like the change does not resolve the Emma/Jacoco conflict we see in JBoss Tools: still the same 65532 error. I used the latest 0.5.7-SNAPSHOT from oss.sonatype.org for tests.
    The conflict is probably an issue in Emma rather that in Jacoco.

    (BTW, I can't go to the bug page, I always get "The page isn't redirecting properly" , do you have a clue).

     
  • Marc R. Hoffmann

    I'm very sorry, we just discovered that the repo was not properly updated. The latest snapshot build has been just uploaded and should now actually contain the fix. Can you please retry?

    Thx,
    -marc

     
  • Anonymous

    Anonymous - 2012-04-12

    It works with 0,5,7-SNAPSHOT !
    Thanks a lot Marc and Eugeny, you made my day better ;)

    Any planned date for a 0.5.7 release?

     
  • Marc R. Hoffmann

    FYI: 0.5.7 has just been released.