pwm icon indicating copy to clipboard operation
pwm copied to clipboard

Error during new user registration: can not read new user profile until profile is selected

Open watery opened this issue 6 years ago • 3 comments

We're using PWM to create accounts on behalf of our users.

When filling the new user form several times, it occasionally comes out the following exception (it usually happens every four or five account creations); the only workaround is to close and reopen the browser.

Here's the stacktrace:

java.lang.IllegalStateException: can not read new user profile until profile is selected
        at password.pwm.http.servlet.newuser.NewUserServlet.getNewUserProfile(NewUserServlet.java:781)
        at password.pwm.http.servlet.newuser.NewUserServlet.getFormDefinition(NewUserServlet.java:772)
        at password.pwm.http.servlet.newuser.NewUserFormUtils.readFromJsonRequest(NewUserFormUtils.java:82)
        at password.pwm.http.servlet.newuser.NewUserServlet.restValidateForm(NewUserServlet.java:379)
        at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at password.pwm.http.servlet.ControlledPwmServlet.dispatchMethod(ControlledPwmServlet.java:121)
        at password.pwm.http.servlet.ControlledPwmServlet.processAction(ControlledPwmServlet.java:161)
        at password.pwm.http.servlet.AbstractPwmServlet.handleRequest(AbstractPwmServlet.java:125)
        at password.pwm.http.servlet.AbstractPwmServlet.doPost(AbstractPwmServlet.java:75)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at password.pwm.http.filter.AbstractPwmFilter$PwmFilterChain.doFilter(AbstractPwmFilter.java:155)
        at password.pwm.http.filter.SessionFilter.processFilter(SessionFilter.java:113)
        at password.pwm.http.filter.AbstractPwmFilter.doFilter(AbstractPwmFilter.java:99)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at password.pwm.http.filter.AbstractPwmFilter$PwmFilterChain.doFilter(AbstractPwmFilter.java:155)
        at password.pwm.http.filter.ApplicationModeFilter.processFilter(ApplicationModeFilter.java:82)
        at password.pwm.http.filter.AbstractPwmFilter.doFilter(AbstractPwmFilter.java:99)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at password.pwm.http.filter.AbstractPwmFilter$PwmFilterChain.doFilter(AbstractPwmFilter.java:155)
        at password.pwm.http.filter.ObsoleteUrlFilter.processFilter(ObsoleteUrlFilter.java:52)
        at password.pwm.http.filter.AbstractPwmFilter.doFilter(AbstractPwmFilter.java:99)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at password.pwm.http.filter.RequestInitializationFilter.initializeServletRequest(RequestInitializationFilter.java:238)
        at password.pwm.http.filter.RequestInitializationFilter.doFilter(RequestInitializationFilter.java:162)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at com.github.ziplet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:263)
        at password.pwm.http.filter.GZIPFilter.doFilter(GZIPFilter.java:81)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)

watery avatar May 31 '18 08:05 watery

I started getting similar complains form my users and the error in the log is pretty much the same.

muppeth avatar Oct 26 '18 22:10 muppeth

We're seeing the same things here.

MarkJaroski avatar May 24 '19 10:05 MarkJaroski

After extensive testing it turns out that this happens when the user follows the link in the HTML email on a different device from the one that they're actually doing the registration on.

With the popularity of mobile devices I think this is probably a pretty common use case.

MarkJaroski avatar May 24 '19 14:05 MarkJaroski