Loading ...
Sorry, an error occurred while loading the content.

Re: Fast Java for ARM?

Expand Messages
  • rob.lougher
    ... Bugger. I m really sorry about this, but you ve hit a known problem with JamVM 1.5.3. When I re-worked reflection I forgot to implement
    Message 1 of 7 , Aug 27, 2009
    • 0 Attachment
      --- In nslu2-linux@yahoogroups.com, David Given <dg@...> wrote:
      >
      > -----BEGIN PGP SIGNED MESSAGE-----
      > Hash: SHA1
      >
      > rob.lougher wrote:
      > [...]
      > >> It looks like you're still using GNU Classpath 0.97. Unfortunately, due to changes to reflection support, JamVM 1.5.3 is only compatible with GNU Classpath 0.98. So you'll need to upgrade that as well...
      >
      > One slightly scary upgrade later (turns out that squeeze has JamVM 1.5.3
      > but only has classpath 0.97, so I had to upgrade a few things ---
      > including libc --- to sid) I can now tell you that... it still doesn't
      > work. It's better, though; winstone runs, but invoking the servlets
      > throws exceptions.
      >
      > Servlet #1 is using Oracle née SleepyCat's Berkeley DB JE library, which
      > is a pure Java implementation of Berkeley DB, and produces this:
      >
      > java.lang.NullPointerException
      > at com.sleepycat.persist.EntityJoin.addCondition(EntityJoin.java:95)
      > at
      > com.cowlark.commentator.server.Database.getModeratedCommentsForPage(Database.java:198)
      > at
      > com.cowlark.commentator.server.Database.getCommentsForPage(Database.java:237)
      > at
      > com.cowlark.commentator.server.RPCServiceImpl.getComments(RPCServiceImpl.java:61)
      > at java.lang.reflect.VMMethod.invoke(Native Method)
      > at java.lang.reflect.Method.invoke(Method.java:327)
      > at
      > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
      > ...9 more
      >
      > Servlet #2 doesn't use anything like that and is much simpler, and
      > produces this:
      >
      > java.lang.UnsatisfiedLinkError: getAnnotation
      > at java.lang.reflect.VMField.getAnnotation(Native Method)
      > at java.lang.reflect.Field.getAnnotation(Field.java:715)
      > at
      > com.cowlark.stellation2.server.db.DataMangler.export(DataMangler.java:185)
      > at
      > com.cowlark.stellation2.server.model.SPlayer.addChangedItemsToBatch(SPlayer.java:237)
      > at
      > com.cowlark.stellation2.server.RPCServiceImpl.ping(RPCServiceImpl.java:76)
      > at java.lang.reflect.VMMethod.invoke(Native Method)
      > at java.lang.reflect.Method.invoke(Method.java:327)
      > at
      > com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
      > ...9 more
      >

      Bugger. I'm really sorry about this, but you've hit a "known problem" with JamVM 1.5.3. When I re-worked reflection I forgot to implement VMField.getAnnotation.

      It's fixed, and will be in JamVM 1.5.4, but you can get it from CVS. This is the change;

      http://cvs.berlios.de/cgi-bin/viewvc.cgi/jamvm/jamvm/lib/java/lang/reflect/VMField.java?r1=1.1&r2=1.2

      But you can just update the whole file:

      http://cvs.berlios.de/cgi-bin/viewvc.cgi/jamvm/jamvm/lib/java/lang/reflect/VMField.java?view=co

      1.5.4 is almost ready, so if you wanted you could even grab the whole lot:

      http://developer.berlios.de/cvs/?group_id=6545

      > I suspect classpath incompatibilities, to be honest, although if you
      > have any suggestions I'd love to try them...
      >

      Servlet no. 2 should hopefully work after this, I wouldn't guarantee no. 1 working...

      Rob.

      > - --
      > â"Œâ"€â"€â"€ dg@cowlaï½'k.com â"€â"€â"€â"€â"€ http://www.cowlark.com â"€â"€â"€â"€â"€
      > â"‚
      > â"‚ "People who think they know everything really annoy those of us who
      > â"‚ know we don't." --- Bjarne Stroustrup
      > -----BEGIN PGP SIGNATURE-----
      > Version: GnuPG v1.4.9 (GNU/Linux)
      > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
      >
      > iD8DBQFKluKqf9E0noFvlzgRAsUDAJ4ymbuXrp9boGIOjlfPY9TYOpNgkQCeNFJl
      > zDpfBJNS9gLZNfRY83AFVj0=
      > =pJe4
      > -----END PGP SIGNATURE-----
      >
    Your message has been successfully submitted and would be delivered to recipients shortly.