You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Bill Lucy (JIRA)" <de...@myfaces.apache.org> on 2019/06/07 17:51:00 UTC
[jira] [Commented] (MYFACES-4292) String Out of Bounds Exception
Thrown
[ https://issues.apache.org/jira/browse/MYFACES-4292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16858859#comment-16858859 ]
Bill Lucy commented on MYFACES-4292:
------------------------------------
I was able to reproduce this by following along with [https://github.com/OpenLiberty/open-liberty/issues/5898]
What's happening is a similar case to the existing comment - so I think the patch is fine.
_// This can happen if the classloader provided us a URL that it thinks exists_
_// but really doesn't. In particular, if a JAR contains META-INF/MANIFEST.MF_
_// but not META-INF/, some classloaders may incorrectly report that META-INF/_
_// exists and we'll end up here. Just ignore this case._
> String Out of Bounds Exception Thrown
> -------------------------------------
>
> Key: MYFACES-4292
> URL: https://issues.apache.org/jira/browse/MYFACES-4292
> Project: MyFaces Core
> Issue Type: Bug
> Components: JSR-344
> Affects Versions: 2.2.12
> Reporter: Volodymyr Siedlecki
> Priority: Minor
> Fix For: 2.2.13
>
> Attachments: MYFACES-4292.diff
>
>
> When deploying an application, the placement of the MANIFEST.MF file in a loose application xml can cause a java.lang.StringIndexOutOfBoundsException during MyFaces initialization. This problem occurs with the following path: /tmp/war/MANIFEST.MF
> This issue was solved in JSF 2.3 with MYFACES-4273, but not in JSF 2.2.
> By moving the catch block to the outer try block in myfaces/view/facelets/util/Classpath.java, the StringIndexOutOfBoundsException will be caught, and the faces initialization will continue normally.
> Stack Trace:
> Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
> at java.base/java.lang.String.substring(String.java:2628)
> at org.apache.myfaces.view.facelets.util.Classpath._searchFromURL(Classpath.java:246)
> at org.apache.myfaces.view.facelets.util.Classpath._searchResource(Classpath.java:119)
> at org.apache.myfaces.view.facelets.util.Classpath.search(Classpath.java:69)
> at org.apache.myfaces.config.DefaultFacesConfigResourceProvider.getMetaInfConfigurationResources(DefaultFacesConfigResourceProvider.java:90)
> at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getClassloaderFacesConfig(DefaultFacesConfigurationProvider.java:312)
> … 21 more
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)