Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Quarkus 3 native image fail to start with Hibernate.generator error #32725

Closed
omar-zahid opened this issue Apr 18, 2023 · 5 comments
Closed

Quarkus 3 native image fail to start with Hibernate.generator error #32725

omar-zahid opened this issue Apr 18, 2023 · 5 comments
Labels
area/hibernate-orm Hibernate ORM area/jbang Issues related to when using jbang.dev with Quarkus area/persistence kind/bug Something isn't working

Comments

@omar-zahid
Copy link

Describe the bug

Getting error Failed to start application (with profile [prod]): java.lang.NoSuchMethodException: org.hibernate.generator.internal.GeneratedGeneration.<init>() on application startup after migrating to Quarkus 3.

Expected behavior

Application should run

Actual behavior

Getting runtime error:

2023-04-18 19:13:46,989 ERROR [io.qua.run.Application] (main) Failed to start application (with profile [prod]): java.lang.NoSuchMethodException: org.hibernate.generator.internal.GeneratedGeneration.<init>()
        at java.base@17.0.6/java.lang.Class.getConstructor0(DynamicHub.java:3585)
        at java.base@17.0.6/java.lang.Class.newInstance(DynamicHub.java:626)
        at org.hibernate.boot.model.internal.GeneratorBinder.instantiateGenerator(GeneratorBinder.java:419)
        at org.hibernate.boot.model.internal.GeneratorBinder.lambda$generatorCreator$0(GeneratorBinder.java:362)
        at org.hibernate.mapping.Property.createGenerator(Property.java:482)
        at org.hibernate.tuple.entity.EntityMetamodel.buildGenerator(EntityMetamodel.java:477)
        at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:312)
        at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:486)
        at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:139)
        at java.base@17.0.6/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
        at java.base@17.0.6/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
        at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:92)
        at org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:75)
        at org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl.processBootEntities(MappingMetamodelImpl.java:247)
        at org.hibernate.metamodel.model.domain.internal.MappingMetamodelImpl.finishInitialization(MappingMetamodelImpl.java:185)
        at org.hibernate.internal.SessionFactoryImpl.initializeMappingModel(SessionFactoryImpl.java:319)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:269)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:200)
        at io.quarkus.hibernate.orm.runtime.boot.FastBootEntityManagerFactoryBuilder.build(FastBootEntityManagerFactoryBuilder.java:79)
        at io.quarkus.hibernate.orm.runtime.FastBootHibernatePersistenceProvider.createEntityManagerFactory(FastBootHibernatePersistenceProvider.java:74)
        at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:80)
        at jakarta.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
        at io.quarkus.hibernate.orm.runtime.JPAConfig$LazyPersistenceUnit.get(JPAConfig.java:156)
        at io.quarkus.hibernate.orm.runtime.JPAConfig$1.run(JPAConfig.java:64)
        at java.base@17.0.6/java.lang.Thread.run(Thread.java:833)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)

How to Reproduce?

  1. Build native image
  2. Hibernate ORM as the dependency
  3. Run ./mvnw package -Pnative
  4. Execute runner.

Output of uname -a or ver

Linux MASTER 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Output of java -version

openjdk version "17.0.6" 2023-01-17 OpenJDK Runtime Environment Temurin-17.0.6+10 (build 17.0.6+10) OpenJDK 64-Bit Server VM Temurin-17.0.6+10 (build 17.0.6+10, mixed mode, sharing)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

2.16.6.Final

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537) Maven home: /home/omar/.m2/wrapper/dists/apache-maven-3.8.4-bin/52ccbt68d252mdldqsfsn03jlf/apache-maven-3.8.4 Java version: 17.0.6, vendor: Eclipse Adoptium, runtime: /home/omar/.jbang/cache/jdks/17 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.15.90.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"

Additional information

No response

@omar-zahid omar-zahid added the kind/bug Something isn't working label Apr 18, 2023
@quarkus-bot quarkus-bot bot added area/hibernate-orm Hibernate ORM area/jbang Issues related to when using jbang.dev with Quarkus area/persistence labels Apr 18, 2023
@quarkus-bot
Copy link

quarkus-bot bot commented Apr 18, 2023

/cc @Sanne (hibernate-orm), @gsmet (hibernate-orm), @maxandersen (jbang), @quarkusio/devtools (jbang), @yrodiere (hibernate-orm)

@gsmet
Copy link
Member

gsmet commented Apr 18, 2023

Thanks for the report. I suppose you updated to 3.0.0.CR2 right? If so, the issue has been fixed for the Final here: #32433 .

@omar-zahid
Copy link
Author

Thanks @gsmet Yes, I was using 3.0.0.CR2. Is it possible to upgrade to 3.0.0.Final now? I'm getting an error saying its not available in the maven repo https://repo.maven.apache.org/maven2

@gsmet
Copy link
Member

gsmet commented Apr 18, 2023

The 3.0.0.Final release is planned for next Wednesday.

If you want to check this is fixed, you can adjust your platform property to use io.quarkus instead of io.quarkus.platform and report back. But please go back to the io.quarkus.platform after your tests and wait for Wednesday.

@omar-zahid
Copy link
Author

Thanks @gsmet. 3.0.0.Final fixed the issue. I'm closing out this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/hibernate-orm Hibernate ORM area/jbang Issues related to when using jbang.dev with Quarkus area/persistence kind/bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants