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

Fix java.lang.IllegalStateException: jstl facade bundle can not be located #12417

Closed
DaBusyB opened this issue May 28, 2020 · 0 comments · Fixed by #14912
Closed

Fix java.lang.IllegalStateException: jstl facade bundle can not be located #12417

DaBusyB opened this issue May 28, 2020 · 0 comments · Fixed by #14912
Assignees
Labels
in:Web Components release bug This bug is present in a released version of Open Liberty release:21001 team:Sirius

Comments

@DaBusyB
Copy link
Contributor

DaBusyB commented May 28, 2020

Build breaks have encountered the following error occasionally (see defect 274796) :

SRVE0280E: Extension processor failed to initialize in factory [com.ibm.ws.jsp.webcontainerext.JSPExtensionFactory@12cc15ad]: java.lang.IllegalStateException: jstl facade bundle can not be located from its capability

Problem as described by Tom Watson:

It appears this issue could be avoided if the com.ibm.ws.jsp.jstl.facade bundle could be uninstalled after the com.ibm.ws.jsp bundle.

The issue is the com.ibm.ws.jsp bundle registers a com.ibm.wsspi.webcontainer.extension.ExtensionFactory with com.ibm.ws.jsp.webcontainerext.JSPExtensionFactory but the JSPExtensionFactory tries to find the com.ibm.ws.jsp.jstl.facade bundle in its implementation of createJspClassloaderContext. This leaves a window of time when the JSPExtensionFactory is still registered and used by the web container after the com.ibm.ws.jsp.jstl.facade has been uninstalled. If the com.ibm.ws.jsp was first stopped before uninstalling com.ibm.ws.jsp.jstl.facade then the JSPExtensionFactory would be unregistered and no longer in use by the web container. At that point it should be safe to uninstall the com.ibm.ws.jsp.jstl.facade bundle. To do this we should simply be able to give the com.ibm.ws.jsp.jstl.facade bundle a start phase of CONTAINER_EARLY

The following should be set for the facade bundle for all the jsp feature versions.

com.ibm.ws.jsp.jstl.facade; start-phase:=CONTAINER_EARLY

The default start-phase is CONTAINER, having CONTAINER_EARLY will cause the facade to start before the jsp bundle AND cause it to be stopped after the jsp bundle is stopped on shutdown or when the jsp feature is removed dynamically while the server is running.

@pnicolucci pnicolucci added this to General Issues in Web Tier Team via automation Jul 15, 2020
@pnicolucci pnicolucci added the release bug This bug is present in a released version of Open Liberty label Nov 17, 2020
@volosied volosied changed the title Change facade bundle start-phase #274796 java.lang.IllegalStateException: jstl facade bundle can not be located Nov 17, 2020
@volosied volosied changed the title java.lang.IllegalStateException: jstl facade bundle can not be located Fix java.lang.IllegalStateException: jstl facade bundle can not be located Nov 17, 2020
Web Tier Team automation moved this from General Issues to Completed Tasks Nov 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment