quarkus: java.lang.StackOverflowError

non functional resource merging

cause: path collision with PanacheEntityResource

resources: image image image image image

error:

Error restarting Quarkus
java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
The stacktrace below has been reversed to show the root cause first. Click Here to see the original stacktrace

java.lang.StackOverflowError
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:82)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
Resulted in: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor#build threw an exception: java.lang.StackOverflowError
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:82)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)

	at io.quarkus.builder.Execution.run(Execution.java:123)
	at io.quarkus.builder.BuildExecutionBuilder.execute(BuildExecutionBuilder.java:79)
	at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:160)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:331)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.reloadExistingApplication(AugmentActionImpl.java:265)
	at io.quarkus.runner.bootstrap.AugmentActionImpl.reloadExistingApplication(AugmentActionImpl.java:60)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.restartApp(IsolatedDevModeMain.java:220)
	at io.quarkus.deployment.dev.IsolatedDevModeMain.restartCallback(IsolatedDevModeMain.java:203)
	at io.quarkus.deployment.dev.RuntimeUpdatesProcessor.doScan(RuntimeUpdatesProcessor.java:537)
	at io.quarkus.deployment.dev.RuntimeUpdatesProcessor.doScan(RuntimeUpdatesProcessor.java:437)
	at io.quarkus.vertx.http.runtime.devmode.VertxHttpHotReplacementSetup$4.handle(VertxHttpHotReplacementSetup.java:152)
	at io.quarkus.vertx.http.runtime.devmode.VertxHttpHotReplacementSetup$4.handle(VertxHttpHotReplacementSetup.java:139)
	at io.vertx.core.impl.ContextBase.lambda$null$0(ContextBase.java:137)
	at io.vertx.core.impl.ContextInternal.dispatch(ContextInternal.java:264)
	at io.vertx.core.impl.ContextBase.lambda$executeBlocking$1(ContextBase.java:135)
	at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:833)
Resulted in: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkus.smallrye.openapi.deployment.SmallRyeOpenApiProcessor#build threw an exception: java.lang.StackOverflowError
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:82)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)
	at io.smallrye.openapi.api.util.MergeUtil.mergeObjects(MergeUtil.java:104)

	at io.quarkus.runner.bootstrap.AugmentActionImpl.runAugment(AugmentActionImpl.java:335)
	... 18 more

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

No response

Output of uname -a or ver

No response

Output of java -version

No response

GraalVM version (if different from Java)

No response

Quarkus version or git rev

No response

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

No response

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 22 (6 by maintainers)

Commits related to this issue

Most upvoted comments

but this cant happen because of the stackoverflow occurring first?

exactly

If you disable OpenAPI, quarkus actually complains about the JAX-RS mappings you’ve created:

 Runtime java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
        [error]: Build step io.quarkus.resteasy.reactive.server.deployment.ResteasyReactiveProcessor#setupEndpoints threw an exception: io.quarkus.deployment.configuration.ConfigurationError: GET /my-people2 is declared by :
org.acme.hibernate.orm.panache.rest.entity.FruitResource#get consumes application/json, produces application/json
org.acme.hibernate.orm.panache.rest.entity.FruitResource#getSingle consumes application/json, produces application/json