J
Jay Schlackman
I have been dealing with an interesting problem one of my users brought to me
which I believe has exposed a bug that has appeared in Word 2007 with SP1.
SUMMARY:
Documents containing conditional hyphens can cause Word to hang and consume
100% CPU when using the Find or Find & Replace command.
VERSIONS FOUND AFFECTED:
Word 2007 SP1
Specific build tested Microsoft Office Word 2007 (12.0.6212.1000) SP1 MSO
(12.0.6213.1000) running on Vista Enterprise, Vista Enterprise SP1 RC v.688,
and XP Professional SP2
VERSIONS NOT AFFECTED:
Word 2003 (SP1 and SP2)
Word 2007 (No SP)
VERSIONS UNTESTED:
All other versions.
REPRODUCIBLE: 100% with identified versions.
STEPS TO REPRODUCE:
1. Open the identified affected version of Word.
2. (Optional for readability, does not affect test case) On the Home tab, in
the Paragraph group, click Show/Hide to show formatting marks.
3. Type the word "Test"
4. Press the Enter key
5. Press the Tab key
6. Press the Enter key
7. Press Ctrl+- (Control + Hyphen) twice.
8. Press the Enter key
9. On the Home tab, in the Editing group, click Replace.
10. For 'Find what', enter "Test", and for 'Replace with', enter "Testing"
11. Click Replace All.
12. Observe that Word stops responding. Task Manager can be used to verify
that Word is consuming as much CPU as possible (up to 100%)
BACKGROUND:
The user had a number of documents that she frequently re-used by opening an
existing document, executing a Find & Replace > Replace All on a name in the
document, and saving the modified file as a new document. We recently
released Office 2007 SP1 through our WSUS server, and since then, the user
had found that her normal Find & Replace method was causing Word to hang and
consume 100% CPU, until Word was forcibly terminated using Task Manager.
After some investigation, I found that this behaviour can be reproduced when
you have more than 1 consecutive conditional hyphen in the document at any
point AFTER some other non-printing character (tested with tab and page
break), and the Find function is used to the point where it passes the
conditional hyphens. So, if Find All or Replace All is used, it will fail
immediately, or if the single Find or Replace commands are used, it will fail
as soon as it tries to search beyond the conditional hyphens.
In this case, the conditional hyphens had been entered accidentally,
possibly years ago given the amount of time the user has been producing these
documents. Removing them corrected her problem.
So far I have found this behaviour is only exhibited in Word 2007 SP1. I
can't say for certain that I've narrowed it down completely; other
non-printing characters may trigger this other than tab and page break,
possibly other characters than conditional hyphens will trigger it too, but
the above test case works for me every time.
I'd appreciate any input anyone can give!
----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.
http://www.microsoft.com/office/com...9&dg=microsoft.public.word.application.errors
which I believe has exposed a bug that has appeared in Word 2007 with SP1.
SUMMARY:
Documents containing conditional hyphens can cause Word to hang and consume
100% CPU when using the Find or Find & Replace command.
VERSIONS FOUND AFFECTED:
Word 2007 SP1
Specific build tested Microsoft Office Word 2007 (12.0.6212.1000) SP1 MSO
(12.0.6213.1000) running on Vista Enterprise, Vista Enterprise SP1 RC v.688,
and XP Professional SP2
VERSIONS NOT AFFECTED:
Word 2003 (SP1 and SP2)
Word 2007 (No SP)
VERSIONS UNTESTED:
All other versions.
REPRODUCIBLE: 100% with identified versions.
STEPS TO REPRODUCE:
1. Open the identified affected version of Word.
2. (Optional for readability, does not affect test case) On the Home tab, in
the Paragraph group, click Show/Hide to show formatting marks.
3. Type the word "Test"
4. Press the Enter key
5. Press the Tab key
6. Press the Enter key
7. Press Ctrl+- (Control + Hyphen) twice.
8. Press the Enter key
9. On the Home tab, in the Editing group, click Replace.
10. For 'Find what', enter "Test", and for 'Replace with', enter "Testing"
11. Click Replace All.
12. Observe that Word stops responding. Task Manager can be used to verify
that Word is consuming as much CPU as possible (up to 100%)
BACKGROUND:
The user had a number of documents that she frequently re-used by opening an
existing document, executing a Find & Replace > Replace All on a name in the
document, and saving the modified file as a new document. We recently
released Office 2007 SP1 through our WSUS server, and since then, the user
had found that her normal Find & Replace method was causing Word to hang and
consume 100% CPU, until Word was forcibly terminated using Task Manager.
After some investigation, I found that this behaviour can be reproduced when
you have more than 1 consecutive conditional hyphen in the document at any
point AFTER some other non-printing character (tested with tab and page
break), and the Find function is used to the point where it passes the
conditional hyphens. So, if Find All or Replace All is used, it will fail
immediately, or if the single Find or Replace commands are used, it will fail
as soon as it tries to search beyond the conditional hyphens.
In this case, the conditional hyphens had been entered accidentally,
possibly years ago given the amount of time the user has been producing these
documents. Removing them corrected her problem.
So far I have found this behaviour is only exhibited in Word 2007 SP1. I
can't say for certain that I've narrowed it down completely; other
non-printing characters may trigger this other than tab and page break,
possibly other characters than conditional hyphens will trigger it too, but
the above test case works for me every time.
I'd appreciate any input anyone can give!
----------------
This post is a suggestion for Microsoft, and Microsoft responds to the
suggestions with the most votes. To vote for this suggestion, click the "I
Agree" button in the message pane. If you do not see the button, follow this
link to open the suggestion in the Microsoft Web-based Newsreader and then
click "I Agree" in the message pane.
http://www.microsoft.com/office/com...9&dg=microsoft.public.word.application.errors