London Lambdas Hackday: Bugs and Feature Requests
Richard Warburton
richard.warburton at gmail.com
Tue Jul 3 04:41:44 PDT 2012
1. Verification Bug
There is a possible bug in the bytecode verifier for the current Java
1.8 Lambda builds that is rejecting some bytecode built with previous
versions of javac. I have several example methods that fail
verification, so hopefully it can be tracked down from them. In all
cases we used the -noverify option in order to work around the error,
and didn't identify any strange results from it, and in all cases
java7u4 passed verification for these classes fine.
In Maven 3.0.4:
org/sonatype/guice/bean/locators/RankedSequence, method: count
signature: ()J) Stack size too large
at org.sonatype.guice.bean.locators.DefaultBeanLocator.<init>(DefaultBeanLocator.java:52)
at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:119)
java.lang.VerifyError: (class:
org/codehaus/plexus/archiver/jar/Manifest, method: count signature:
()J) Stack size too large
at org.apache.maven.archiver.MavenArchiver.getManifest(MavenArchiver.java:212)
at org.apache.maven.archiver.MavenArchiver.getManifest(MavenArchiver.java:107)
In netty used vert.x
(https://github.com/purplefox/vert.x/blob/master/lib/main/netty.jar)
java.lang.VerifyError: (class:
org/jboss/netty/channel/group/DefaultChannelGroup, method: count
signature: ()J) Stack size too large
at org.vertx.java.core.net.impl.DefaultNetServer.listen(DefaultNetServer.java:117)
2. Ant Bug
We previously had an issue with using Ant with lambda 8 binaries that
I think we've managed to nail down a bit more. Versions previous to
1.8.3 seem to work ok, though they obviously don't support source and
target versions for 1.8. Versions 1.8.3 and 1.8.4 don't work out of
the box, but do work if you symlink javac to javac1.8. Obviously its
not the responsibility of people on this list to fix the problem, but
I'm posting it here in the interests of general information. We will
be talking to the Ant people about what their approach going forward
as really it would be helpful if they had a 'best effort' approach for
supporting announced future versions as well as maintaining backwards
compatibility.
3. Collections Feature Request
There was a request for a basic zip function and also a transpose
function. This may be planned for the next iteration, but I didn't
see these within the API provided by build 45.
More information about the lambda-dev
mailing list