Closed Bug 50930 Opened 25 years ago Closed 25 years ago

Mozilla.org page hangs composer

Categories

(Core :: DOM: Editor, defect, P3)

x86
Windows 98
defect

Tracking

()

VERIFIED DUPLICATE of bug 50910

People

(Reporter: rubydoo123, Assigned: cmanske)

References

()

Details

1. open browser and load above url (http://www.mozilla.org) 2. select File|Edit Page page loads in composer, then app freezes. In dos window I get this: stdout directed to dynamic console stderr directed to dynamic console WEBSHELL+ = 1 WEBSHELL+ = 2 WEBSHELL+ = 3 Setting content window *** Pulling out the charset in SetSecurityButton has multiple monitor apis is 1 Document http://www.mozilla.org/ loaded successfully WEBSHELL+ = 4 WEBSHELL+ = 5 failed to get command manager number 3 failed to get command manager number 2 Registering commands Have Find = true Have SpellChecker = false Hiding spell checker items *** EditorSharedStartup: gDefaultTextColor=#000000, gDefaultBackgroundColor= FFFF No talkback because it hangs, not crash. Using the zip file from 20000831 folder
I figured out why it is hanging -- I selected HTML Source, selecting Show All Tags does not hang the app. Reassigning to Charley
Assignee: sfraser → cmanske
Blocks: 50808
adding plus
Keywords: nsbeta3
Whiteboard: [nsbeta3+]
Target Milestone: --- → M18
It's not specifically HTML Source, but any HTML output of just about any page with content from Composer. You get the same error using Debug menu: "Output HTML" or File menu: "Save As". It's a string problem building the HTML output - it's choking here: NS_ASSERTION(count_copied > 0, "|copy_string| will never terminate"); count_copied is 0. I also tested "Save Page As" directly from the browser window, but it doesn't go through the same code path (doesn't go through the XIF converter code). Scott: could you please give us a hand here? (Umm, unable to add "scc" to CC list!) Here's the stack: nsDebug::Assertion(const char * 0x100c4620 ??_C@_0CD@LMHB@?$HMcopy_string?$HM?5will?5never?5termina@, const char * 0x100c464c ??_C@_0BB@HMLA@count_copied?5?$DO?50?$AA@, const char * 0x100c4660 ??_C@_0CB@FPEE@?4?4?2?4?4?2dist?2include?2nsAlgorithm?4h@, int 73) line 253 + 13 bytes copy_string(nsReadingIterator<unsigned short> {...}, nsReadingIterator<unsigned short> {...}, nsWritingIterator<unsigned short> {...}) line 73 + 28 bytes basic_nsAWritableString<unsigned short>::do_AppendFromReadable(const basic_nsAReadableString<unsigned short> & {...}) line 583 + 98 bytes basic_nsAWritableString<unsigned short>::AppendFromPromise(const basic_nsAReadableString<unsigned short> & {...}) line 563 basic_nsAWritableString<unsigned short>::Append(const nsPromiseReadable<unsigned short> & {...}) line 335 + 19 bytes nsXIFConverter::AppendEntity(nsXIFConverter * const 0x050744c0, const unsigned short 38, basic_nsAWritableString<unsigned short> * 0x0012dddc, basic_nsAReadableString<unsigned short> * 0x00000000) line 383 + 84 bytes nsXIFConverter::AppendWithEntityConversion(nsXIFConverter * const 0x050744c0, const basic_nsAReadableString<unsigned short> & {...}, basic_nsAWritableString<unsigned short> & {...}) line 332 + 29 bytes nsXIFConverter::AddAttribute(nsXIFConverter * const 0x050744c0, const basic_nsAReadableString<unsigned short> & {...}, const basic_nsAReadableString<unsigned short> & {...}) line 178 nsXIFConverter::AddHTMLAttribute(nsXIFConverter * const 0x050744c0, const basic_nsAReadableString<unsigned short> & {...}, const basic_nsAReadableString<unsigned short> & {...}) line 189 nsGenericHTMLContainerElement::BeginConvertToXIF(nsIXIFConverter * 0x050744c0) line 3386 nsHTMLAnchorElement::BeginConvertToXIF(const nsHTMLAnchorElement * const 0x04f656c0, nsIXIFConverter * 0x050744c0) line 96 + 18 bytes nsDocument::BeginConvertToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04f656b0) line 3286 nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04f656b0) line 3349 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04f65274) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04f65274) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04f66ba0) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04f66ba0) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fac8d0) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fac8d0) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04facb20) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04facb20) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04facda4) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04facda4) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04face10) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04face10) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04face80) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04face80) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab0d0) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab0d0) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab254) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab254) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab2c0) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab2c0) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab330) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab330) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab500) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab500) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab774) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab774) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab7e0) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab7e0) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab850) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fab850) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fabaa0) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04fabaa0) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04ef5070) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04ef5070) line 3350 nsDocument::ConvertChildrenToXIF(nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04b837e0) line 3301 + 28 bytes nsDocument::ToXIF(nsDocument * const 0x0487de80, nsIXIFConverter * 0x050744c0, nsIDOMNode * 0x04b837e0) line 3350 nsDocument::CreateXIF(nsDocument * const 0x0487de80, basic_nsAWritableString<unsigned short> & {...}, nsIDOMSelection * 0x00000000) line 3480 + 33 bytes nsTextEncoder::EncodeToString(nsTextEncoder * const 0x04e41b40, basic_nsAWritableString<unsigned short> & {...}) line 182 nsHTMLEditor::OutputToString(nsHTMLEditor * const 0x0500cec0, basic_nsAWritableString<unsigned short> & {...}, const basic_nsAReadableString<unsigned short> & {...}, unsigned int 2) line 5701 + 39 bytes nsEditorShell::GetContentsAs(nsEditorShell * const 0x04f4d5e0, const unsigned short * 0x02fa67a0, unsigned int 2, unsigned short * * 0x0012e0d4) line 3163 + 53 bytes
No longer blocks: 50808
Keywords: nsbeta3
Whiteboard: [nsbeta3+]
Target Milestone: M18 → ---
Sorry, but I got a mid-air collision and didn't want to loose what I wrote above, so I wiped out whomever was changing whiteboard status.
Blocks: 50808
Another infinite loop in string code, ccing scc. charley, this is almost certainly because of bad input. Can you find out where?
I mailed scc a stack trace very similar to this yesterday ... If you update to mozilla/xpcom/ds/nsAReadableString.h revision 1.72, does it fix the problem?
You just beat me - I was going to dup it! I guess I'll test the fix first.
Updating to mozilla/xpcom/ds/nsAReadableString.h revision 1.72 fixes this for me.
Scott's central string fix works for all related bugs *** This bug has been marked as a duplicate of 50910 ***
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
verified in 8/31 build.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.