Issue Details (XML | Word | Printable)

Key: CONTINUUM-1868
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: apache maillist
Votes: 1
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Continuum

Click any link in the Role List brings you to a blank page with java.lang.NullPointerException in the log

Created: 02/Sep/08 07:00 PM   Updated: 16/Oct/08 11:50 AM   Resolved: 16/Oct/08 11:50 AM
Component/s: Web - UI
Affects Version/s: 1.2
Fix Version/s: 1.2

Time Tracking:
Not Specified

Environment: Linux

Complexity: Intermediate


 Description  « Hide

Log in as Admin, click "Roles", and then click any links from the "Role List" brings you to a blank page with java.lang.NullPointerException in the log:

428651 [btpool0-0] ERROR org.mortbay.log - Nested in org.apache.jasper.JasperException: Exception in JSP: /WEB-INF/jsp/redback/include/securityLinks.jsp:44

41: <link rel="shortcut icon" href="<ww:url value="/favicon.ico" includeParams="none"/>" type="image/x-icon"/>
42:
43: <script src="<ww:url value="/scripts/tigris.js" includeParams="none"/>" type="text/javascript"></script>
44: </head>
45:
46: <body onload="focus()" marginwidth="0" marginheight="0" class="composite">
47: <%@ include file="/WEB-INF/jsp/navigations/DefaultTop.jsp" %>

Stacktrace::
java.lang.NullPointerException
at org.codehaus.plexus.redback.taglib.jsp.IsNotReadOnlyUserManagerTag.condition(IsNotReadOnlyUserManagerTag.java:44)
at javax.servlet.jsp.jstl.core.ConditionalTagSupport.doStartTag(ConditionalTagSupport.java:84)
at org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp._jspx_meth_redback_isNotReadOnlyUserManager_1(org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp:1135)
at org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp._jspx_meth_c_otherwise_1(org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp:890)
at org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp._jspx_meth_c_choose_1(org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp:626)
at org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp._jspx_meth_ww_i18n_1(org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp:547)
at org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp._jspx_meth_ww_i18n_0(org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp:189)
at org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.error.httpError_jsp:119)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:285)
at org.mortbay.jetty.servlet.Dispatcher.error(Dispatcher.java:135)
at org.mortbay.jetty.servlet.ErrorPageErrorHandler.handle(ErrorPageErrorHandler.java:121)
at org.mortbay.jetty.Response.sendError(Response.java:274)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:433)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:829)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)



Damien Lecan added a comment - 13/Oct/08 07:20 AM

Same thing for me.
Other use case : force a user to change his password. On next login, when user tries to change password, 500 error

It's a blocker issue for me.

Continuum 1.2 was migrated from 1.1.


Emmanuel Venisse added a comment - 13/Oct/08 07:28 AM

What are the lines in logs before this stacktrace? Without them, we can't work on this issue


Damien Lecan added a comment - 13/Oct/08 10:16 AM

> What are the lines in logs before this stacktrace?
> Without them, we can't work on this issue

5594481 [btpool0-0] ERROR org.mortbay.log - /continuum/security/password.action
java.lang.IllegalArgumentException: fromIndex(0) > toIndex(-1)
at java.util.SubList.<init>(AbstractList.java:604)
at java.util.RandomAccessSubList.<init>(AbstractList.java:758)
at java.util.AbstractList.subList(AbstractList.java:468)
at org.codehaus.plexus.redback.policy.DefaultUserSecurityPolicy.extensionChangePassword(DefaultUserSecurityPolicy.java:250)
at org.codehaus.plexus.redback.users.jdo.JdoUserManager.updateUser(JdoUserManager.java:363)
at org.codehaus.plexus.redback.users.cached.CachedUserManager.updateUser(CachedUserManager.java:207)
at org.codehaus.plexus.redback.users.configurable.ConfigurableUserManager.updateUser(ConfigurableUserManager.java:161)
at org.codehaus.plexus.redback.xwork.action.PasswordAction.submit(PasswordAction.java:163)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
at org.codehaus.plexus.redback.xwork.interceptor.SecureActionInterceptor.intercept(SecureActionInterceptor.java:178)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at org.codehaus.plexus.redback.xwork.interceptor.PolicyEnforcementInterceptor.intercept(PolicyEnforcementInterceptor.java:149)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at org.codehaus.plexus.redback.xwork.interceptor.AutoLoginInterceptor.intercept(AutoLoginInterceptor.java:156)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at org.codehaus.plexus.redback.xwork.interceptor.ForceAdminUserInterceptor.intercept(ForceAdminUserInterceptor.java:76)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at org.codehaus.plexus.redback.xwork.interceptor.EnvironmentCheckInterceptor.intercept(EnvironmentCheckInterceptor.java:122)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.webwork.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:174)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.webwork.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:169)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)


Damien Lecan added a comment - 13/Oct/08 10:36 AM

When I look at the code of DefaultUserSecurityPolicy class, i see that it depends heavily on redback configuration.

Time ago, for Continuum 1.1, I configured Redback param security.policy.password.previous.count to 0(zero). It worked great, but not now with Continuum 1.2
Archiva seems to have the same problem : http://jira.codehaus.org/browse/MRM-957


Wendy Smoak added a comment - 15/Oct/08 07:49 PM

> Log in as Admin, click "Roles", and then click any links from the "Role List"

This works fine for me in Continuum 1.2 on Mac OS X.

Please check the 'About' button and make sure you have the final 1.2, which is revision 697023.

You might want to open a separate issue for the problem with forcing a user to change his password as it's not related to the summary of this one and may get lost.


apache maillist added a comment - 16/Oct/08 11:50 AM

works on final 1.2 release build number 697023. was using 1.2 earlier release