[
https://issues.jboss.org/browse/GTNPORTAL-1893?page=com.atlassian.jira.pl...
]
Minh Hoang TO commented on GTNPORTAL-1893:
------------------------------------------
The CookieTokenService wrappes each create/get/delete token action in a TokenTask task.
The following code snippet yields that if multiple TokenTask tasks are executed within the
scope of the same HTTP request, they works on the same ChromatticSession.
{code:java}
protected final TokenContainer getTokenContainer() {
SessionContext ctx = chromatticLifeCycle.getContext();
ChromatticSession session = ctx.getSession();
...................
}
{code}
As TokenTask subclasses ContextualTask, once a TokenTask task is executed, the JCR Session
associated with this shared Chromattic session is closed.
In our case, there are calls to getToken() and deleteToken() in
UIResetPassword.SaveActionListener.execute(). The second call leads to NPE exception as
the first call to getToken() closes JCR session.
Forgot password - Unknown error when input new pwd and submit
-------------------------------------------------------------
Key: GTNPORTAL-1893
URL:
https://issues.jboss.org/browse/GTNPORTAL-1893
Project: GateIn Portal
Issue Type: Bug
Security Level: Public(Everyone can see)
Reporter: Nguyen Thanh Cong
Assignee: Minh Hoang TO
Labels: backlogs, portal-s52, portal-s54, review_julien, worked
Fix For: 3.2.0-GA
Attachments: UnknownError.png
Original Estimate: 3 hours
Time Spent: 1 day
Remaining Estimate: 0 minutes
- Click sign in
- Click Forgot password
- Input username to get forgot password
- Check password reminder mail
- Click on the link to request pass
- A form displayed to input pass
- Save >> Unknown Error
Exception:
SEVERE: Error during the processAction phase
java.lang.NullPointerException
at org.chromattic.core.DomainSessionImpl._getRoot(DomainSessionImpl.java:755)
at org.chromattic.core.DomainSessionImpl._findByPath(DomainSessionImpl.java:115)
at org.chromattic.core.DomainSession.findByPath(DomainSession.java:200)
at
org.chromattic.core.api.ChromatticSessionImpl.findByPath(ChromatticSessionImpl.java:231)
at
org.exoplatform.web.security.security.CookieTokenService$TokenTask.getTokenContainer(CookieTokenService.java:178)
at
org.exoplatform.web.security.security.CookieTokenService$3.execute(CookieTokenService.java:122)
at
org.exoplatform.web.security.security.CookieTokenService$3.execute(CookieTokenService.java:118)
at
org.exoplatform.web.security.security.CookieTokenService$TokenTask.execute(CookieTokenService.java:189)
at
org.exoplatform.commons.chromattic.ContextualTask.executeWith(ContextualTask.java:54)
at
org.exoplatform.web.security.security.CookieTokenService.deleteToken(CookieTokenService.java:118)
at
org.exoplatform.portal.webui.login.UIResetPassword$SaveActionListener.execute(UIResetPassword.java:132)
at org.exoplatform.webui.event.Event.broadcast(Event.java:89)
at
org.exoplatform.webui.core.lifecycle.UIFormLifecycle.processAction(UIFormLifecycle.java:123)
at
org.exoplatform.webui.core.lifecycle.UIFormLifecycle.processAction(UIFormLifecycle.java:40)
at org.exoplatform.webui.core.UIComponent.processAction(UIComponent.java:133)
at
org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processAction(UIPortalApplicationLifecycle.java:78)
at
org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processAction(UIPortalApplicationLifecycle.java:37)
at org.exoplatform.webui.core.UIComponent.processAction(UIComponent.java:133)
at org.exoplatform.webui.core.UIApplication.processAction(UIApplication.java:120)
at
org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:110)
at org.exoplatform.web.WebAppController.service(WebAppController.java:165)
at
org.exoplatform.portal.application.PortalController.onService(PortalController.java:127)
at
org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:110)
at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:80)
at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:79)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:116)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:88)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.login.ClusteredSSOFilter.doFilter(ClusteredSSOFilter.java:72)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:85)
at org.exoplatform.web.login.RememberMeFilter.doFilter(RememberMeFilter.java:53)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:69)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira