Description
The <<FullSearch>> macro causes a script error in Internet Explorer 8 on page load. Inclusion of FullSearch causes the page to load very slowly, and eventually IE8 presents a dialog box prompting the user to stop the script.
UPDATED: Appears only to occur when FullSearch resides in a {{{#!wiki someclass }}} block.
IE8 warning dialog: "A script on this page is causing your web browser to run slowly. If it continues to run, your computer might become unresponsive."
Steps to reproduce
Include the macro <<FullSearch>> on any wiki page UPDATED: inside a {{{#!wiki someclass }}} block
- Load the wiki page in Internet Explorer 8
Example
{{{
#!wiki someclass
<<FullSearch>>}}}
Component selection
Macro <<FullSearch>>
Details
MoinMoin Version |
1.9.3 |
OS and Version |
CentOS 5.5 |
Python Version |
2.4 |
Server Setup |
|
Server Details |
|
Language you are using the wiki in (set in the browser/UserPreferences) |
en-US |
Workaround
Discussion
This is likely not a moin bug. Fullsearch takes some time to do its job, if IE doesn't wait that long and displays misleading warnings, this is not moin's fault.
You say Fullsearch takes some time to do its job ... Are you referring to fullsearch returning results? This bug occurs when FullSearch initially displays its search form, not when returning results. Doesn't appear to be a question of IE not waiting long enough. Rather, while IE is drawing the search form before searching, some script is causing IE to rise to 100% CPU and eventually to offer to timeout the errant script. Declining IE's offer to stop the script will cause it to continue spinning at 100% CPU, and whatever task it is trying to complete will never finish.
If the script is halted, you can complete a search and display results without issue.
UPDATED: I just ran the JS profiler in IE8 and narrowed the problem to the while loop at line 633 (v 1.9.3) of MoinMoin/web/static/htdocs/common/common.js. In our case, FullSearch exists inside a {{{ }}} block to apply a special class. walkDom() does not exit its while loop when encountering FullSearch in that context.
Plan
- Priority:
- Assigned to:
- Status:
