zzOzz / pwm

Automatically exported from code.google.com/p/pwm
0 stars 0 forks source link

Guest registration page locks the browser when an error is displayed and the user scrolls #480

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
If the browser window is small enough that it cannot display the entire page 
and a vertical scrollbar appears on the edge of the browser window, any input 
that triggers an error can cause the browser to hang indefinitely requiring it 
to be forcibly terminated.  The behavior can be reproduced as follows:

- Access the guest registration page with the browser window sized such the 
entire form doesn't fit and there is a vertical scrollbar on the edge of the 
browser window.

- Evoke an error message.  It turns out this is pretty easy if you opt to leave 
the default expiration date (leave the selection list alone), as the 
'__expirationDate__' form variable is POSTed with an empty value in this case 
(I'll open a separate issue for this).  The following error message is 
displayed:

  '%1% is required { 5100 ERROR_FIELD_REQUIRED (unable to read expiration date value: Unparseable date: "") }'

- If one then scrolls the browser window, the error message that's displayed 
changes slightly.  In IE an extra blank line appears below the error message 
within the message box.  In Firefox and Safari some stray HTML appears appended 
to the original error message:

  '%1% is required { 5100 ERROR_FIELD_REQUIRED (unable to read expiration date value: Unparseable date: "") }<div class="message undefined" style="visibility: hidden; " id="tempDivElement"></div>'

- In either case the browser locks up at this point.  After a very long while 
IE recovers, slightly.  Other browsers might as well, but I haven't been 
patient enough to find out.  In the case of IE, the browser window eventually 
fills with about 2.5MB of the following repeating sequence:

'&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;am
p;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;div 
class="message undefined" id="tempDivElement" style="visibility: hidden;"'

I'm seeing this with Firefox 23.0.1 and Safari 5.1.9 on MacOS and with IE10 on 
Win7.

What version of PWM are you using?

PWM: 1.7.0 (release)

What ldap directory and version are you using?

OpenLDAP: 2.3.43

Plus:

RHEL: 5.9 x86_64
Tomcat: 6.0.36

Please paste any error log messages below:

2013-09-16 17:20:31, ERROR, servlet.GuestRegistrationServlet, 
{lt,<someguestadmin>} 5100 ERROR_FIELD_REQUIRED (unable to read expiration date 
value: Unparseable date: "") [<someipaddress>/]

Original issue reported on code.google.com by rjaf...@gmail.com on 16 Sep 2013 at 10:43

GoogleCodeExporter commented 9 years ago
Fixed in current builds.

Original comment by jrivard on 18 Nov 2013 at 11:01