wolfd / pwm

PWM is an open source password self service application for LDAP directories. - exported from code.google.com/p/pwm
http://pwmdemo.weisberg.net/
0 stars 1 forks source link

Crash after "Import LDAP Server Certificates" #514

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Login to PWM as admin user, go to cfg. editor / settings / ldap directory
2. Click Menu / Actions/ Import LDAP Server Certificates
3. Click "OK" in dialog " Success / Certificates imported"
4. Error occures: PWM 5015 - Unexpected error. If this error occurs repeatedly 
please contact your helpdesk.

When i manually insert certificate into PwmConfiguration.xml, and restart 
Tomcat, it fails to start PWM app. context.
Certificate causing the problem is attached to the issue.

What version of PWM are you using?
1.7.0

What ldap directory and version are you using?
Microsoft AD

Please paste any error log messages below:
2013-11-20 10:18:30, WARN , servlet.TopServlet, {0,mpe} unexpected error during 
page generation: An exception occurred processing JSP page 
/WEB-INF/jsp/configmanager-editor.jsp at line 418 
[172.16.0.25/mpenb.forrest.local]

415: </form>
416: <div id="mainContentPane" style="width: 600px">
417:     <% if (configManagerBean.getEditMode() == 
ConfigManagerServlet.EDIT_MODE.SETTINGS) { %>
418:     <jsp:include page="configmanager-editor-settings.jsp"/>
419:     <% } else if (configManagerBean.getEditMode() == 
ConfigManagerServlet.EDIT_MODE.LOCALEBUNDLE) { %>
420:     <jsp:include page="configmanager-editor-localeBundle.jsp"/>
421:     <% } %>

Stacktrace:
org.apache.jasper.JasperException: An exception occurred processing JSP page 
/WEB-INF/jsp/configmanager-editor.jsp at line 418

415: </form>
416: <div id="mainContentPane" style="width: 600px">
417:     <% if (configManagerBean.getEditMode() == 
ConfigManagerServlet.EDIT_MODE.SETTINGS) { %>
418:     <jsp:include page="configmanager-editor-settings.jsp"/>
419:     <% } else if (configManagerBean.getEditMode() == 
ConfigManagerServlet.EDIT_MODE.LOCALEBUNDLE) { %>
420:     <jsp:include page="configmanager-editor-localeBundle.jsp"/>
421:     <% } %>

Stacktrace:
    at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    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.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    at password.pwm.servlet.ConfigManagerServlet.forwardToJSP(ConfigManagerServlet.java:704)
    at password.pwm.servlet.ConfigManagerServlet.processRequest(ConfigManagerServlet.java:137)
    at password.pwm.servlet.TopServlet.handleRequest(TopServlet.java:83)
    at password.pwm.servlet.TopServlet.doGet(TopServlet.java:66)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    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 password.pwm.AuthorizationFilter.processFilter(AuthorizationFilter.java:85)
    at password.pwm.AuthorizationFilter.doFilter(AuthorizationFilter.java:62)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at password.pwm.AuthenticationFilter.processAuthenticatedSession(AuthenticationFilter.java:139)
    at password.pwm.AuthenticationFilter.doFilter(AuthenticationFilter.java:78)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at password.pwm.SessionFilter.processFilter(SessionFilter.java:224)
    at password.pwm.SessionFilter.doFilter(SessionFilter.java:90)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at password.pwm.GZIPFilter.doFilter(GZIPFilter.java:45)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at password.pwm.ApplicationModeFilter.doFilter(ApplicationModeFilter.java:63)
    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.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:632)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
    at java.lang.Thread.run(Thread.java:744)
Caused by: org.apache.jasper.JasperException: javax.servlet.ServletException: 
java.lang.StackOverflowError
    at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:491)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:401)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    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.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
    at org.apache.jsp.WEB_002dINF.jsp.configmanager_002deditor_jsp._jspService(configmanager_002deditor_jsp.java:742)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    ... 47 more
Caused by: javax.servlet.ServletException: java.lang.StackOverflowError
    at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:862)
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
    at org.apache.jsp.WEB_002dINF.jsp.configmanager_002deditor_002dsettings_jsp._jspService(configmanager_002deditor_002dsettings_jsp.java:520)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    ... 60 more
Caused by: java.lang.StackOverflowError
    at java.util.LinkedHashMap$LinkedHashIterator.<init>(LinkedHashMap.java:366)
    at java.util.LinkedHashMap$LinkedHashIterator.<init>(LinkedHashMap.java:366)
    at java.util.LinkedHashMap$ValueIterator.<init>(LinkedHashMap.java:408)
    at java.util.LinkedHashMap$ValueIterator.<init>(LinkedHashMap.java:408)
    at java.util.LinkedHashMap.newValueIterator(LinkedHashMap.java:418)
    at java.util.HashMap$Values.iterator(HashMap.java:1042)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:192)
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)

Original issue reported on code.google.com by petruze...@fg.cz on 20 Nov 2013 at 9:36

Attachments:

GoogleCodeExporter commented 9 years ago
A workaround is to import the certs into the java keystore and not PWM's 
configuration.

Original comment by jrivard on 21 Nov 2013 at 6:24

GoogleCodeExporter commented 9 years ago
Can you please try with a nightly build, and share the log output?  The newer 
build has more debug code around the certificate output process.  Be sure the 
log level is set to TRACE.

Original comment by jrivard on 21 Nov 2013 at 6:28

GoogleCodeExporter commented 9 years ago
This should be fixed in the nightlies.  The problem was due to a circular 
reference and Gson would throw StackOverFlow inside toJson.  If your still 
having this issue with a nightly build, please re-open this issue.

Original comment by jrivard on 2 Dec 2013 at 7:17

GoogleCodeExporter commented 9 years ago
This should be fixed in the nightlies.  The problem was due to a circular 
reference and Gson would throw StackOverFlow inside toJson.  If your still 
having this issue with a nightly build, please re-open this issue.

Original comment by jrivard on 2 Dec 2013 at 7:18