You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by "David Sean Taylor (JIRA)" <je...@portals.apache.org> on 2008/06/04 18:27:45 UTC

[jira] Resolved: (JS2-849) NullPointerException in org.apache.jetspeed.prefs.impl.NodeImplProxy.getFullPath(NodeImplProxy.java:45)

     [ https://issues.apache.org/jira/browse/JS2-849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

David Sean Taylor resolved JS2-849.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2

Removed the backup code on reset, since we never actually restore the backed values for an entity. This code was not only not thread safe, but was also causing additional CPU usage.
I believe the PrefsPreferenceSetImpl.PortletPrefsIterator inner class is also not thread safe. It is used in other parts of the code.
We will be refactoring all of this out in 2.2

> NullPointerException in org.apache.jetspeed.prefs.impl.NodeImplProxy.getFullPath(NodeImplProxy.java:45)
> -------------------------------------------------------------------------------------------------------
>
>                 Key: JS2-849
>                 URL: https://issues.apache.org/jira/browse/JS2-849
>             Project: Jetspeed 2
>          Issue Type: Bug
>    Affects Versions: 2.1.2
>         Environment: tomcat 5.5.20, SuSe Linux 10.1, MsSqlServer 2005 as jetspeed database
>            Reporter: Vitaly Baranovsky
>            Assignee: David Sean Taylor
>             Fix For: 2.2
>
>
> Today I've seen this error in all entities of one of our portlet.
> I've never seen this error before.
> Here is a stack dump:
> java.lang.NullPointerException in:
>     * org.apache.jetspeed.prefs.impl.NodeImplProxy.getFullPath(NodeImplProxy.java:45)
>     * org.apache.jetspeed.prefs.impl.PersistenceBrokerPreferencesProvider.getChildren(PersistenceBrokerPreferencesProvider.java:342)
>     * sun.reflect.GeneratedMethodAccessor154.invoke(Unknown Source)
>     * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     * java.lang.reflect.Method.invoke(Method.java:597)
>     * org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
>     * org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:172)
>     * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:139)
>     * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:107)
>     * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
>     * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>     * $Proxy8.getChildren(Unknown Source)
>     * org.apache.jetspeed.prefs.impl.PreferencesImpl.childrenNamesSpi(PreferencesImpl.java:131)
>     * java.util.prefs.AbstractPreferences.childrenNames(AbstractPreferences.java:699)
>     * org.apache.jetspeed.om.preference.impl.PrefsPreferenceSetImpl.size(PrefsPreferenceSetImpl.java:269)
>     * org.apache.jetspeed.om.preference.impl.FragmentPortletPreferenceSet.<init>(FragmentPortletPreferenceSet.java:51)
>     * org.apache.jetspeed.om.portlet.impl.FragmentPortletDefinition.getPreferenceSet(FragmentPortletDefinition.java:230)
>     * org.apache.pluto.core.impl.PortletPreferencesImpl.<init>(PortletPreferencesImpl.java:73)
>     * org.apache.pluto.factory.impl.PortletPreferencesFactoryImpl.getPortletPreferences(PortletPreferencesFactoryImpl.java:39)
>     * org.apache.pluto.factory.PortletObjectAccess.getPortletPreferences(PortletObjectAccess.java:127)
>     * org.apache.pluto.core.impl.RenderRequestImpl.getPreferences(RenderRequestImpl.java:74)
>     * $PortletRequest_117205f7f81.getPreferences($PortletRequest_117205f7f81.java)
>     * $PortletRequest_117205f7f7f.getPreferences($PortletRequest_117205f7f7f.java)
>     * net.liga.commons.tapestry.GeneralPortletPage.pageBeginRender(GeneralPortletPage.java:116)
>     * net.liga.commons.tapestry.GeneralPortletViewPage.pageBeginRender(GeneralPortletViewPage.java:8)
>     * net.liga.portal.news.NewsGeneralViewPage.pageBeginRender(NewsGeneralViewPage.java:436)
>     * net.liga.portal.news.newslist.NewsListPage.pageBeginRender(NewsListPage.java:1020)
>     * org.apache.tapestry.AbstractPage.firePageBeginRender(AbstractPage.java:478)
>     * org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:268)
>     * org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:366)
>     * org.apache.tapestry.portlet.PortletRendererImpl.renderPage(PortletRendererImpl.java:75)
>     * $PortletRenderer_117205f7f76.renderPage($PortletRenderer_117205f7f76.java)
>     * org.apache.tapestry.portlet.PortletHomeService.service(PortletHomeService.java:80)
>     * $IEngineService_117205f7f60.service($IEngineService_117205f7f60.java)
>     * org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServiceOuterProxy.java:66)
>     * org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248)
>     * org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
>     * $WebRequestServicer_117205f7f2e.service($WebRequestServicer_117205f7f2e.java)
>     * $WebRequestServicer_117205f7f2c.service($WebRequestServicer_117205f7f2c.java)
>     * org.apache.tapestry.portlet.RenderRequestServicerToWebRequestServicerBridge.service(RenderRequestServicerToWebRequestServicerBridge.java:49)
>     * $RenderRequestServicer_117205f7f26.service($RenderRequestServicer_117205f7f26.java)
>     * $RenderRequestServicer_117205f7da8.service($RenderRequestServicer_117205f7da8.java)
>     * org.apache.tapestry.portlet.ApplicationPortlet.render(ApplicationPortlet.java:161)
>     * org.apache.jetspeed.factory.JetspeedPortletInstance.render(JetspeedPortletInstance.java:103)
>     * org.apache.jetspeed.container.JetspeedContainerServlet.doGet(JetspeedContainerServlet.java:265)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>     * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>     * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>     * org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
>     * org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
>     * org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
>     * org.apache.jetspeed.container.invoker.ServletPortletInvoker.invoke(ServletPortletInvoker.java:245)
>     * org.apache.jetspeed.container.invoker.ServletPortletInvoker.render(ServletPortletInvoker.java:128)
>     * org.apache.pluto.PortletContainerImpl.renderPortlet(PortletContainerImpl.java:119)
>     * org.apache.jetspeed.container.JetspeedPortletContainerWrapper.renderPortlet(JetspeedPortletContainerWrapper.java:121)
>     * org.apache.jetspeed.aggregator.impl.RenderingJobImpl.execute(RenderingJobImpl.java:242)
>     * org.apache.jetspeed.aggregator.impl.PortletRendererImpl.renderNow(PortletRendererImpl.java:226)
>     * org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:147)
>     * org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:143)
>     * org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.aggregateAndRender(PageAggregatorImpl.java:143)
>     * org.apache.jetspeed.aggregator.impl.PageAggregatorImpl.build(PageAggregatorImpl.java:78)
>     * org.apache.jetspeed.aggregator.AggregatorValve.invoke(AggregatorValve.java:46)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.aggregator.HeaderAggregatorValve.invoke(HeaderAggregatorValve.java:53)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.decoration.DecorationValve.invoke(DecorationValve.java:130)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.resource.ResourceValveImpl.invoke(ResourceValveImpl.java:130)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.pipeline.valve.impl.ActionValveImpl.invoke(ActionValveImpl.java:184)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.container.ContainerValve.invoke(ContainerValve.java:104)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.profiler.impl.ProfilerValveImpl.invoke(ProfilerValveImpl.java:248)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.security.impl.LoginValidationValveImpl.invoke(LoginValidationValveImpl.java:159)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.security.impl.PasswordCredentialValveImpl.invoke(PasswordCredentialValveImpl.java:150)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.localization.impl.LocalizationValveImpl.invoke(LocalizationValveImpl.java:170)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.security.impl.AbstractSecurityValve$1.run(AbstractSecurityValve.java:138)
>     * java.security.AccessController.doPrivileged(Native Method)
>     * javax.security.auth.Subject.doAsPrivileged(Subject.java:454)
>     * org.apache.jetspeed.security.JSSubject.doAsPrivileged(JSSubject.java:179)
>     * org.apache.jetspeed.security.impl.AbstractSecurityValve.invoke(AbstractSecurityValve.java:132)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.container.url.impl.PortalURLValveImpl.invoke(PortalURLValveImpl.java:66)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.capabilities.impl.CapabilityValveImpl.invoke(CapabilityValveImpl.java:126)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline$Invocation.invokeNext(JetspeedPipeline.java:167)
>     * org.apache.jetspeed.pipeline.JetspeedPipeline.invoke(JetspeedPipeline.java:146)
>     * org.apache.jetspeed.engine.JetspeedEngine.service(JetspeedEngine.java:227)
>     * org.apache.jetspeed.engine.JetspeedServlet.doGet(JetspeedServlet.java:242)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>     * javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>     * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>     * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>     * org.apache.jetspeed.engine.servlet.XXSUrlAttackFilter.doFilter(XXSUrlAttackFilter.java:52)
>     * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>     * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>     * net.sf.ehcache.constructs.web.filter.CachingFilter.buildPage(CachingFilter.java:211)
>     * net.sf.ehcache.constructs.web.filter.CachingFilter.buildPageInfo(CachingFilter.java:164)
>     * net.sf.ehcache.constructs.web.filter.CachingFilter.doFilter(CachingFilter.java:130)
>     * net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:92)
>     * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>     * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>     * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>     * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>     * org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
>     * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>     * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>     * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>     * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>     * org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>     * org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>     * org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>     * org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>     * org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>     * java.lang.Thread.run(Thread.java:619)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org