[
https://issues.jboss.org/browse/JBSEAM-4932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12691504#comment-12691504
]
Marek Schmidt commented on JBSEAM-4932:
---------------------------------------
I can reproduce it on three different JDKs...
After adding a few additional logging statements, the problem seems to be that
sometimes there is a non-null instance of FacesContext available in
org.jboss.seam.faces.ResourceLoader, which isn't (yet?) initialized, so the
org.jboss.seam.util.Resources::getResourceAsStream(String resource, String
stripped) is used to read the resource, which doesn't read from servlet
context, instead of the usual org.jboss.seam.core.ResourceLoader, which uses
servlet context. I suspect this used to work on previous AS versions, as the
content of WEB-INF used to be available through Classloader.
Not working log (note that the NPE is normally silently eaten in
org.jboss.seam.util.FacesResources)
{noformat}
18:02:20,924 DEBUG [org.jboss.seam.faces.ResourceLoader] (MSC service thread
1-4) reading resource as stream from faces external context:
com.sun.faces.config.InitFacesContext$ServletContextAdapter@50876af1
18:02:20,925 DEBUG [org.jboss.seam.util.FacesResources] (MSC service thread
1-4) exception calling context.getResourceAsStream::
java.lang.NullPointerException
at
com.sun.faces.config.InitFacesContext$ServletContextAdapter.getResourceAsStream(InitFacesContext.java:422)
[jsf-impl-2.1.7-redhat-1.jar:2.1.7-redhat-1]
at
org.jboss.seam.util.FacesResources.getResourceAsStream(FacesResources.java:26)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at
org.jboss.seam.faces.ResourceLoader.getResourceAsStream(ResourceLoader.java:39)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.navigation.Pages.initialize(Pages.java:134)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.navigation.Pages.create(Pages.java:111)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[rt.jar:1.7.0]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[rt.jar:1.7.0]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0]
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.Component.callComponentMethod(Component.java:2275)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.Component.callCreateMethod(Component.java:2198)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.Component.newInstance(Component.java:2158)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:343)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.contexts.Contexts.startup(Contexts.java:317)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at
org.jboss.seam.contexts.ServletLifecycle.endInitialization(ServletLifecycle.java:143)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at org.jboss.seam.init.Initialization.init(Initialization.java:744)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at
org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36)
[jboss-seam.jar:2.3.0.Beta2-SNAPSHOT]
at
org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392)
[jbossweb-7.0.15.Final-redhat-1.jar:]
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:3850)
[jbossweb-7.0.15.Final-redhat-1.jar:]
at
org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90)
[jboss-as-web-7.1.1.Final-redhat-1.jar:7.1.1.Final-redhat-1]
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
[rt.jar:1.7.0]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
[rt.jar:1.7.0]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]
18:02:20,927 DEBUG [org.jboss.seam.util.FacesResources] (MSC service thread
1-4) stream is null, fallback to Resources.getResourceAsStream
18:02:20,927 DEBUG [org.jboss.seam.util.Resources] (MSC service thread 1-4)
stream is still null, resource not loaded
18:02:20,927 DEBUG [org.jboss.seam.navigation.Pages] (MSC service thread 1-4)
no pages.xml file found: /WEB-INF/pages.xml
{noformat}
Working log:
{noformat}
17:59:57,797 DEBUG [org.jboss.seam.contexts.Contexts] (MSC service thread 1-1)
starting up: org.jboss.seam.navigation.pages
17:59:57,799 TRACE [org.jboss.seam.Component] (MSC service thread 1-1)
instantiating Seam component: org.jboss.seam.navigation.pages
17:59:57,799 TRACE [org.jboss.seam.core.Events] (MSC service thread 1-1)
Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.navigation.pages
17:59:57,800 TRACE [org.jboss.seam.core.Events] (MSC service thread 1-1)
Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.navigation.pages
17:59:57,800 TRACE [org.jboss.seam.Component] (MSC service thread 1-1)
initializing new instance of: org.jboss.seam.navigation.pages
17:59:57,800 TRACE [org.jboss.seam.Component] (MSC service thread 1-1) done
initializing: org.jboss.seam.navigation.pages
17:59:57,800 TRACE [org.jboss.seam.Component] (MSC service thread 1-1)
instantiating Seam component: org.jboss.seam.core.resourceLoader
17:59:57,800 TRACE [org.jboss.seam.Component] (MSC service thread 1-1)
initializing new instance of: org.jboss.seam.core.resourceLoader
17:59:57,800 TRACE [org.jboss.seam.Component] (MSC service thread 1-1) done
initializing: org.jboss.seam.core.resourceLoader
17:59:57,800 DEBUG [org.jboss.seam.faces.ResourceLoader] (MSC service thread
1-1) faces external context is null.
17:59:57,801 DEBUG [org.jboss.seam.core.ResourceLoader] (MSC service thread
1-1) reading resource as stream from /jboss-seam-jpa
17:59:57,801 DEBUG [org.jboss.seam.util.Resources] (MSC service thread 1-1)
getResourceAsStream pre servlet context
17:59:57,801 DEBUG [org.jboss.seam.util.Resources] (MSC service thread 1-1)
Loaded resource from servlet context: /WEB-INF/pages.xml
17:59:57,801 DEBUG [org.jboss.seam.util.Resources] (MSC service thread 1-1)
getResourceAsStream post servlet context
17:59:57,801 DEBUG [org.jboss.seam.navigation.Pages] (MSC service thread 1-1)
reading pages.xml file: /WEB-INF/pages.xml
{noformat}
> pages.xml is sometimes not loaded
> ---------------------------------
>
> Key: JBSEAM-4932
> URL: https://issues.jboss.org/browse/JBSEAM-4932
> Project: Seam 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.3.0.BETA1
> Environment: AS7.1.1.Final
> Reporter: Marek Schmidt
> Fix For: 2.3.0.BETA2
>
> Attachments: server.log
>
>
> Sometimes on deployment of examples on AS7.1.1.Final the pages.xml is not
> loaded and navigation doesn't work in the example. Redeploying seems to fix
> the problem.
> Attaching a DEBUG log where the following line is found during the last
> deployment of the jpa example:
> {noformat}
> 18:32:09,163 DEBUG [org.jboss.seam.navigation.Pages] (MSC service thread 1-2)
> no pages.xml file found: /WEB-INF/pages.xml
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues