snowdrop-zen / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
1 stars 0 forks source link

fails to start in production with Duplicate method name "<init>" with signature "()V" #214

Closed snowdrop-bot closed 3 years ago

snowdrop-bot commented 3 years ago

Describe the bug I create an ApplicationScoped class twice through a separate Dependent config. It works in dev mode, but fails in production

Expected behavior Either fail in dev mode or work everywhere

Actual behavior fails in production with error

Exception in thread "main" java.lang.ExceptionInInitializerError
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at java.base/java.lang.Class.newInstance(Unknown Source)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:61)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:38)
        at io.quarkus.runtime.Quarkus.run(Quarkus.java:104)
        at io.quarkus.runner.GeneratedMain.main(GeneratedMain.zig:29)
Caused by: java.lang.RuntimeException: Failed to start quarkus
        at io.quarkus.runner.ApplicationImpl.<clinit>(ApplicationImpl.zig:135)
        ... 9 more
Caused by: java.lang.RuntimeException: Failed to initialize Arc
        at io.quarkus.arc.Arc.initialize(Arc.java:26)
        at io.quarkus.arc.runtime.ArcRecorder.getContainer(ArcRecorder.java:24)
        at io.quarkus.deployment.steps.ArcProcessor$generateResources-1025303321.deploy_0(ArcProcessor$generateResources-1025303321.zig:76)
        at io.quarkus.deployment.steps.ArcProcessor$generateResources-1025303321.deploy(ArcProcessor$generateResources-1025303321.zig:40)
        at io.quarkus.runner.ApplicationImpl.<clinit>(ApplicationImpl.zig:115)
        ... 9 more
Caused by: java.lang.ClassFormatError: Duplicate method name "<init>" with signature "()V" in class file org/acme/commandmode/SomeClass
        at java.base/java.lang.ClassLoader.defineClass1(Native Method)
        at java.base/java.lang.ClassLoader.defineClass(Unknown Source)
        at java.base/java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(Unknown Source)
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Unknown Source)
        at org.acme.commandmode.SomeClassConfig_ProducerMethod_someClass2_3bf5c39e53a0326c125a8f6a544d05f7a852b9db_Bean.<init>(SomeClassConfig_ProducerMethod_someClass2_3bf5c39e53a0326c125a8f6a544d05f7a852b9db_Bean.zig:80)
        at io.quarkus.arc.setup.Default_ComponentsProvider.addBeans1(Default_ComponentsProvider.zig:148)
        at io.quarkus.arc.setup.Default_ComponentsProvider.getComponents(Default_ComponentsProvider.zig:38)
        at io.quarkus.arc.impl.ArcContainerImpl.<init>(ArcContainerImpl.java:113)
        at io.quarkus.arc.Arc.initialize(Arc.java:20)
        ... 13 more

To Reproduce

  1. checkout https://github.com/Shohou/quarkus_bug
  2. run ./gradlew clean quarkusDev and see that someClass2\n someClass1 message is printed
  3. run ./gradlew clean build, then docker build --tag test -f ./docker/Dockerfile . and docker run -it --rm test and see the exception

Environment (please complete the following information):

Additional context (Add any other context about the problem here.)


https://github.com/quarkusio/quarkus/issues/13372


$upstream:13372$