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

Broken Util.java (NoSuchElementException) #5429

Closed
TomasHofman opened this issue Mar 26, 2024 · 2 comments
Closed

Broken Util.java (NoSuchElementException) #5429

TomasHofman opened this issue Mar 26, 2024 · 2 comments
Milestone

Comments

@TomasHofman
Copy link
Contributor

Describe the bug

PR #5385 introduced a problem in Util.java class:
https://github.com/eclipse-ee4j/mojarra/pull/5385/files#diff-6e59848a7dc34c64f4c25e5afc623099e1262d1161223a33eec9570569242aebR1680

In the method getResponseEncoding(FacesContext context, Optional<String> defaultEncoding) the defaultEncoding Optional.get() is called without checking its non-emptiness, while in the same PR a code is introduced that is calling this method with an empty Optional (https://github.com/eclipse-ee4j/mojarra/pull/5385/files#diff-6e59848a7dc34c64f4c25e5afc623099e1262d1161223a33eec9570569242aebR1629).

To Reproduce

Causes TCK failures on Wildfly:

[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/application/navigationcase/URLClient.java#navigationCaseGetBookmarkableURLTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/application/navigationcase/URLClient.java#navigationCaseGetRedirectURLTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/html/htmlform/URLClient.java#uiComponentEncodeBeginELTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/html/htmlform/URLClient.java#uiComponentEncodeEndELTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/html/htmlform/URLClient.java#uiComponentGetCurrentComponentNullTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/html/htmlform/URLClient.java#uiComponentGetCurrentComponentTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/html/htmlform/URLClient.java#uiComponentGetCurrentCompositeComponentNullTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/html/htmlform/URLClient.java#uiComponentPopComponentFromELTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/html/htmlform/URLClient.java#uiComponentPushComponentToELTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/uiform/URLClient.java#uiComponentEncodeBeginELTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/uiform/URLClient.java#uiComponentEncodeEndELTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/uiform/URLClient.java#uiComponentGetCurrentComponentNullTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/uiform/URLClient.java#uiComponentGetCurrentComponentTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/uiform/URLClient.java#uiComponentGetCurrentCompositeComponentNullTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/uiform/URLClient.java#uiComponentPopComponentFromELTest
[javatest.batch] FAILED........com/sun/ts/tests/jsf/api/jakarta_faces/component/uiform/URLClient.java#uiComponentPushComponentToELTest
Caused by: java.util.NoSuchElementException: No value present
	at java.base/java.util.Optional.get(Optional.java:143)
	at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.util.Util.getResponseEncoding(Util.java:1680)
	at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.util.Util.getResponseEncoding(Util.java:1629)
	at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.context.ExternalContextImpl.encodeBookmarkableURL(ExternalContextImpl.java:976)
	at jakarta.faces.impl@4.0.6.redhat-00001//com.sun.faces.application.view.MultiViewHandler.getBookmarkableURL(MultiViewHandler.java:327)
	at jakarta.faces.impl@4.0.6.redhat-00001//jakarta.faces.application.ViewHandlerWrapper.getBookmarkableURL(ViewHandlerWrapper.java:293)
	at org.jboss.as.jsf-injection//org.jboss.weld.module.jsf.ConversationAwareViewHandler.getBookmarkableURL(ConversationAwareViewHandler.java:138)
	at jakarta.faces.impl@4.0.6.redhat-00001//jakarta.faces.application.NavigationCase.getBookmarkableURL(NavigationCase.java:189)
	at com.sun.ts//com.sun.ts.tests.jsf.api.jakarta_faces.application.navigationcase.TestServlet.navigationCaseGetBookmarkableURLTest(TestServlet.java:150)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at com.sun.ts//com.sun.ts.tests.jsf.common.servlets.HttpTCKServlet.invokeTest(HttpTCKServlet.java:163)
	... 45 more
@TomasHofman
Copy link
Contributor Author

It turns out there is a fix for this in the 4.1 branch, I created a backport: #5430

@TomasHofman
Copy link
Contributor Author

Backport has been merged 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants