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

DevUI: Endpoints error using Quarkus MyFaces extension (works in 3.8.4 LTS) #41372

Closed
melloware opened this issue Jun 23, 2024 · 5 comments · Fixed by #41448
Closed

DevUI: Endpoints error using Quarkus MyFaces extension (works in 3.8.4 LTS) #41372

melloware opened this issue Jun 23, 2024 · 5 comments · Fixed by #41448
Assignees
Labels
area/dev-ui env/windows Impacts Windows machines kind/bug Something isn't working
Milestone

Comments

@melloware
Copy link
Contributor

melloware commented Jun 23, 2024

Describe the bug

Original report on Quarkus PrimeFaces: quarkiverse/quarkus-primefaces#212

When using primefaces extension, quarkus dev-ui endpoints menu does not work anymore :

It just displays : 'Fetching information...' :

image

And in the logs I get this error :

2024-06-23 14:34:27,720 SEVERE [org.apa.myf.con.MyFacesExceptionHandlerWrapperImpl] (executor-thread-11) java.lang.IllegalArgumentException occured while processing RENDER_RESPONSE [Location=]: java.lang.IllegalArgumentException: ContentTypeList does not contain a supported content type: application/json
	at org.apache.myfaces.renderkit.html.HtmlRenderKitImpl.createResponseWriter(HtmlRenderKitImpl.java:311)
	at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.createResponseWriter(FaceletViewDeclarationLanguage.java:2116)
	at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1751)
	at org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:316)
	at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:122)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:241)
	at jakarta.faces.webapp.FacesServlet.service(FacesServlet.java:225)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:63)
	at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:67)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:229)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchToPath(ServletInitialHandler.java:164)
	at io.undertow.servlet.spec.RequestDispatcherImpl.error(RequestDispatcherImpl.java:494)
	at io.undertow.servlet.spec.RequestDispatcherImpl.error(RequestDispatcherImpl.java:419)
	at io.undertow.servlet.spec.HttpServletResponseImpl.doErrorDispatch(HttpServletResponseImpl.java:151)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:254)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:111)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:108)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$9$1.call(UndertowDeploymentRecorder.java:630)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:227)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleRequest(ServletInitialHandler.java:152)
	at io.undertow.server.handlers.CanonicalPathHandler.handleRequest(CanonicalPathHandler.java:49)
	at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$1.handleRequest(UndertowDeploymentRecorder.java:126)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:284)
	at io.undertow.server.DefaultExchangeHandler.handle(DefaultExchangeHandler.java:18)
	at io.quarkus.undertow.runtime.UndertowDeploymentRecorder$5$2.run(UndertowDeploymentRecorder.java:445)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:599)
	at org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2516)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2495)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1521)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:11)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:11)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:1583)

Quarkus version : 3.11.0
Primefaces extension version : 3.14.1

Expected behavior

Endpoints UI works

Actual behavior

Endpoints UI throws a error

How to Reproduce?

  1. git clone https://github.com/quarkiverse/quarkus-primefaces
  2. Change root pom.xml to Quarkus 3.12.0
  3. mvn clean install
  4. go to /primefaces/integration-tests and run mvn quarkus:dev
  5. Go to DevUI and click on Endpoints to see the error.

Back the pom.xml to 3.8.4 LTS and see it work.

Output of uname -a or ver

Microsoft Windows [Version 10.0.22631.3737]

Output of java -version

OpenJDK 64-Bit Server VM Temurin-17.0.11+9 (build 17.0.11+9, mixed mode, sharing)

Quarkus version or git rev

3.12.0

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

Apache Maven 3.9.7 (8b094c9513efc1b9ce2d952b3b9c8eaedaf8cbf0) Maven home: C:\tools\apache-maven-3.9.7 Java version: 17.0.11, vendor: Eclipse Adoptium, runtime: C:\tools\jdk-17.0.6+10 Default locale: en_US, platform encoding: Cp1252 OS name: "windows 11", version: "10.0", arch: "amd64", family: "windows"

Additional information

Important

If I use Quarkus 3.8.4 LTS the Endpoints UI works fine so something in the 3.11.X branch and forward has changed how the Dev UI works.

@melloware melloware added the kind/bug Something isn't working label Jun 23, 2024
@quarkus-bot quarkus-bot bot added area/dev-ui env/windows Impacts Windows machines labels Jun 23, 2024
@quarkus-bot
Copy link

quarkus-bot bot commented Jun 23, 2024

/cc @cescoffier (devui), @phillip-kruger (devui)

@phillip-kruger
Copy link
Member

Does the extension provide their own 404 page ? Probably not needed anymore. I'll have a look

@melloware
Copy link
Contributor Author

No I don't declare any 404 page. The one thing to note is because JSF requires servlet it is using Undertow. I don't know if that throws a wrinkle in it?

@phillip-kruger
Copy link
Member

Yup, that is it, I started working on it yesterday. So the plan is to get Undertow also render a nice 404 page like all the others, that will fix both the not found page in Undertow and the Dev UI issue. I also made the Dev UI fail better (nice error message). I should have a PR ready soon.

@melloware
Copy link
Contributor Author

You rock!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dev-ui env/windows Impacts Windows machines kind/bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants