RE: [Ikvm-developers] A few fixes and a call for participation
Brought to you by:
jfrijters
|
From: Jeroen F. <je...@su...> - 2003-08-08 06:27:23
|
Hi Brian, I'm glad to see the verifier doing its job :-) I replied to the list so that others can see the resolution of this issue as well, I hope you don't mind. For the ClassCircularityError, I don't necessarily need a small repro, if you don't mind sending me the whole code I can easily work from that (if you include instructions on how to run it). Regards, Jeroen > -----Original Message----- > From: Brian Sullivan [mailto:bs...@le...]=20 > Sent: Friday, August 08, 2003 03:28 > To: Jeroen Frijters > Subject: Re: [Ikvm-developers] A few fixes and a call for=20 > participation >=20 > Jeroen Frijters wrote: > > Hi Brian,=20 > >=20 > > Thanks for the feedback! > >=20 > >>3) We're getting illegal targets message, about 20 of them=20 > in several=20 > >>programs. > >> > >>VerifyError: Illegal target of jump or branch > >> at MethodAnalyzer.ctor(TypeWrapper wrapper, Code method,=20 > >>ClassLoaderWrapper classLoader) > >>java.lang.VerifyError: (class: nc231a, method:=20 > >>check_entries_OF_sect_nc231a_001, signature: ()I, offset: 149,=20 > >>instruction: goto) Illegal target of jump or branch > >=20 > > Would you please send me one of the classes that triggers this, > > including the corresponding exception? >=20 > Thanks for helping me get this going. >=20 > I wanted to reproduce this in straight Java if I could, so I kept on=20 > simplifying it. Then, making sure, I ran the exact same code with=20 > straight Java. It _too_ gave a VerifyError. >=20 > Scratching my head, as this code always works, I realized that I=20 > compiled with Eclipse to run in IKVM, whereas these tests are=20 > normally=20 > compiled with jikes from the command line or javac on some systems. >=20 > This one turned out to be an Eclipse compiler bug, nothing to do with=20 > IKVM or Classpath, and upgrading Eclipse to 2.1.1 (from=20 > 2.1.0) did fix=20 > the problem. >=20 > https://bugs.eclipse.org/bugs/show_bug.cgi?id=3D37621 >=20 > I'll do the simplifications of the others down. I did a bit on the=20 > ClassCircularityError, but hadn't gotten anywhere yet on a simpler=20 > reproduction. >=20 > If curious, the VerifyError case got down to: >=20 > for(;;) > { > if(booleanvar) > { > if(true) return 1; > break; // comment this out to work properly > } > else > { > if(otherboolean) break; > } > } >=20 > Thanks, > Brian >=20 >=20 |