Maven problem with Build 48 (Linux 64 bit)
Keith McGuigan
keith.mcguigan at oracle.com
Tue Jul 17 09:29:39 PDT 2012
Hello,
Thanks for the report. I investigated and there is a bug in the current
hotspot implementation. It manifests when a pre-jdk6-compiled class
inherits an extension method with no arguments and a long or double
return type. When this happens the verifier throws the VerifyError that
you're seeing. Disabling the verifier is a decent workaround (or
changing the extension method, or recompiling the affected class with
-target 1.6 or greater).
I have a fix that I'll push to the hotspot repo (after some testing), so
it should be good to go in the next build.
Patch for hotspot:
-----------------------------------------------------------------
diff --git a/src/share/vm/classfile/defaultMethods.cpp
b/src/share/vm/classfile/defaultMethods.cpp
--- a/src/share/vm/classfile/defaultMethods.cpp
+++ b/src/share/vm/classfile/defaultMethods.cpp
@@ -841,6 +841,9 @@
assert(out.at_return_type(), "Parameter counts do not match");
assert(in.type() == out.type(), "Return types are not compatible");
+ if (parameter_count == 1 && (in.type() == T_LONG || in.type() ==
T_DOUBLE)) {
+ ++parameter_count; // need room for return value
+ }
assem.invokespecial(target());
if (in.is_object() && in.as_symbol(THREAD) != out.as_symbol(THREAD)) {
-----------------------------------------------------------------
--
- Keith
On 7/17/2012 6:15 AM, Deepak S Patwardhan wrote:
> Hello,
>
> I have a (pet lambda) Maven project which builds fine with Lambda build 39.
> However, with Build 48, I get the following error :
>
> [deepak at verne lambda]$ mvn clean
> ---------------------------------------------------
> constituent[0]: file:/opt/apache-maven-3.0.4/lib/aether-impl-1.13.1.jar
> constituent[1]:
> file:/opt/apache-maven-3.0.4/lib/plexus-interpolation-1.14.jar
> constituent[2]: file:/opt/apache-maven-3.0.4/lib/maven-model-3.0.4.jar
> constituent[3]: file:/opt/apache-maven-3.0.4/lib/wagon-http-2.2-shaded.jar
> constituent[4]:
> file:/opt/apache-maven-3.0.4/lib/sisu-inject-plexus-2.3.0.jar
> constituent[5]: file:/opt/apache-maven-3.0.4/lib/maven-core-3.0.4.jar
> constituent[6]:
> file:/opt/apache-maven-3.0.4/lib/maven-aether-provider-3.0.4.jar
> constituent[7]: file:/opt/apache-maven-3.0.4/lib/sisu-guice-3.1.0-no_aop.jar
> constituent[8]: file:/opt/apache-maven-3.0.4/lib/aether-spi-1.13.1.jar
> constituent[9]:
> file:/opt/apache-maven-3.0.4/lib/maven-model-builder-3.0.4.jar
> constituent[10]:
> file:/opt/apache-maven-3.0.4/lib/plexus-sec-dispatcher-1.3.jar
> constituent[11]: file:/opt/apache-maven-3.0.4/lib/aether-api-1.13.1.jar
> constituent[12]: file:/opt/apache-maven-3.0.4/lib/maven-settings-3.0.4.jar
> constituent[13]:
> file:/opt/apache-maven-3.0.4/lib/maven-repository-metadata-3.0.4.jar
> constituent[14]:
> file:/opt/apache-maven-3.0.4/lib/maven-settings-builder-3.0.4.jar
> constituent[15]: file:/opt/apache-maven-3.0.4/lib/sisu-inject-bean-2.3.0.jar
> constituent[16]: file:/opt/apache-maven-3.0.4/lib/plexus-utils-2.0.6.jar
> constituent[17]: file:/opt/apache-maven-3.0.4/lib/maven-compat-3.0.4.jar
> constituent[18]:
> file:/opt/apache-maven-3.0.4/lib/aether-connector-wagon-1.13.1.jar
> constituent[19]: file:/opt/apache-maven-3.0.4/lib/plexus-cipher-1.7.jar
> constituent[20]: file:/opt/apache-maven-3.0.4/lib/sisu-guava-0.9.9.jar
> constituent[21]: file:/opt/apache-maven-3.0.4/lib/wagon-provider-api-2.2.jar
> constituent[22]: file:/opt/apache-maven-3.0.4/lib/commons-cli-1.2.jar
> constituent[23]: file:/opt/apache-maven-3.0.4/lib/maven-embedder-3.0.4.jar
> constituent[24]:
> file:/opt/apache-maven-3.0.4/lib/plexus-component-annotations-1.5.5.jar
> constituent[25]: file:/opt/apache-maven-3.0.4/lib/maven-artifact-3.0.4.jar
> constituent[26]: file:/opt/apache-maven-3.0.4/lib/maven-plugin-api-3.0.4.jar
> constituent[27]: file:/opt/apache-maven-3.0.4/lib/aether-util-1.13.1.jar
> constituent[28]: file:/opt/apache-maven-3.0.4/lib/wagon-file-2.2.jar
> ---------------------------------------------------
> Exception in thread "main" java.lang.VerifyError: (class:
> org/sonatype/guice/bean/locators/RankedSequence, method: count signature:
> ()J) Stack size too large
> at
> org.sonatype.guice.bean.locators.DefaultBeanLocator.<init>(DefaultBeanLocato
> r.java:52)
> at
> org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.jav
> a:119)
> at
> org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.jav
> a:160)
> at org.apache.maven.cli.MavenCli.container(MavenCli.java:375)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:191)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57
> )
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> .java:43)
> at java.lang.reflect.Method.invoke(Method.java:474)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.ja
> va:290)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.
> java:409)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
>
> The OS is Fedora 16, 64 bit and I am using the Linux 64bit build of Lambda.
> I believe I had the same problem with Build 45 as well. Is anyone else also
> facing this problem ? Any suggestions?
>
> Regards,
> Deepak S Patwardhan.
>
>
More information about the lambda-dev
mailing list