If you attempt to paste a LOT of text, (such as a system profiler report saved in RTF) into a text field on battle.net forums. Safari just goes into an endless beachball. Here is a sample from beachball. Analysis of sampling pid 330 every 10.000000 milliseconds Call graph: 95 Thread_0f07 95 0x4f1b0 95 0x246c 95 NSApplicationMain 95 -[NSApplication run] 95 0x16444 95 -[NSApplication sendEvent:] 95 -[NSApplication _handleKeyEquivalent:] 95 -[NSMenu performKeyEquivalent:] 95 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] 95 -[NSMenu performActionForItemAtIndex:] 95 0x1a020 95 -[NSApplication sendAction:to:from:] 95 WebCore::Editor::pasteAsPlainTextWithPasteboard(WebCore::Pasteboard*) 95 WebCore::Editor::replaceSelectionWithText(WebCore::String const&, bool, bool) 95 WebCore::Editor::replaceSelectionWithFragment(WTF::PassRefPtr<WebCore::DocumentFragment>, bool, bool, bool) 95 WebCore::applyCommand(WTF::PassRefPtr<WebCore::EditCommand>) 95 WebCore::EditCommand::apply() 95 WebCore::ReplaceSelectionCommand::doApply() 95 WebCore::ReplaceSelectionCommand::completeHTMLReplacement(WebCore::Position const&) 95 WebCore::CompositeEditCommand::applyStyle(WebCore::CSSStyleDeclaration*, WebCore::Position const&, WebCore::Position const&, WebCore::EditAction) 95 WebCore::CompositeEditCommand::applyCommandToComposite(WTF::PassRefPtr<WebCore::EditCommand>) 95 WebCore::EditCommand::apply() 95 WebCore::ApplyStyleCommand::doApply() 95 WebCore::ApplyStyleCommand::applyBlockStyle(WebCore::CSSMutableStyleDeclaration*) 50 WebCore::VisiblePosition::next(bool) const 32 WebCore::nextVisuallyDistinctCandidate(WebCore::Position const&) 23 WebCore::Position::downstream() const 23 WebCore::Position::downstream() const 9 WebCore::Position::isCandidate() const 9 WebCore::Position::inRenderedText() const 9 WebCore::Position::inRenderedText() const 18 WebCore::VisiblePosition::init(WebCore::Position const&, WebCore::EAffinity) 18 WebCore::VisiblePosition::canonicalPosition(WebCore::Position const&) 10 WebCore::Position::upstream() const 10 WebCore::Position::upstream() const 8 WebCore::Position::isCandidate() const 8 WebCore::Position::inRenderedText() const 4 WebCore::InlineTextBox::containsCaretOffset(int) const 4 WebCore::InlineTextBox::containsCaretOffset(int) const 4 WebCore::Position::inRenderedText() const 29 WebCore::endOfParagraph(WebCore::VisiblePosition const&) 17 WebCore::VisiblePosition::VisiblePosition[in-charge](WebCore::Node*, int, WebCore::EAffinity) 17 WebCore::VisiblePosition::init(WebCore::Position const&, WebCore::EAffinity) 17 WebCore::VisiblePosition::canonicalPosition(WebCore::Position const&) 9 WebCore::Position::upstream() const 9 WebCore::Position::upstream() const 8 WebCore::Position::isCandidate() const 7 WebCore::Position::inRenderedText() const 5 WebCore::InlineTextBox::containsCaretOffset(int) const 5 WebCore::InlineTextBox::containsCaretOffset(int) const 2 WebCore::Position::inRenderedText() const 1 WebCore::RenderText::nextOffset(int) const 1 WebCore::RenderText::nextOffset(int) const 12 WebCore::RenderText::caretMaxRenderedOffset() const 12 WebCore::RenderText::caretMaxRenderedOffset() const 14 WebCore::Position::downstream() const 14 WebCore::Position::downstream() const 2 WebCore::StyleChange::StyleChange[in-charge](WebCore::CSSStyleDeclaration*, WebCore::Position const&, WebCore::StyleChange::ELegacyHTMLStyles) 1 WebCore::StyleChange::StyleChange[in-charge](WebCore::CSSStyleDeclaration*, WebCore::Position const&, WebCore::StyleChange::ELegacyHTMLStyles) 1 WebCore::StyleChange::init(WTF::PassRefPtr<WebCore::CSSStyleDeclaration>, WebCore::Position const&) 1 WebCore::StyleChange::currentlyHasStyle(WebCore::Position const&, WebCore::CSSProperty const*) 1 WebCore::CSSPrimitiveValue::cssText() const 1 WebCore::String::number(double) 1 WebCore::String::format(char const*, ...) 1 vsnprintf$LDBL128 1 __vfprintf$LDBL128 1 __vfprintf$LDBL128 95 Thread_1003 95 _pthread_body 95 forkThreadForFunction 95 -[AsyncDB _run:] 95 -[NSConditionLock lockWhenCondition:] 95 pthread_cond_wait 95 semaphore_wait_signal_trap 95 semaphore_wait_signal_trap 95 Thread_1103 95 _pthread_body 95 forkThreadForFunction 95 +[NSURLConnection(NSURLConnectionInternal) _resourceLoadLoop:] 95 CFRunLoopRunSpecific 95 __CFRunLoopRun 95 mach_msg 95 mach_msg_trap 95 mach_msg_trap 95 Thread_1203 95 _pthread_body 95 forkThreadForFunction 95 +[NSURLCache _diskCacheSyncLoop:] 95 CFRunLoopRunSpecific 95 __CFRunLoopRun 95 mach_msg 95 mach_msg_trap 95 mach_msg_trap 95 Thread_1303 95 _pthread_body 95 __CFSocketManager 95 select 95 select 95 Thread_1403 95 _pthread_body 95 native_ShockwaveFlash_TCallFrame 95 mach_msg 95 mach_msg_trap 95 mach_msg_trap Total number in stack (recursive counted multiple, when >=5): 5 _pthread_body Sort by top of stack, same collapsed (when >= 5): mach_msg_trap 285 select 95 semaphore_wait_signal_trap 95 WebCore::Position::downstream() const 37 WebCore::Position::upstream() const 19 WebCore::Position::inRenderedText() const 15 WebCore::RenderText::caretMaxRenderedOffset() const 12 WebCore::InlineTextBox::containsCaretOffset(int) const 9 Sample analysis of process 330 written to file /dev/stdout Sampling process 330 each 10 msecs 100 times
It only hangs for about 30 seconds on my machine, but that is clearly a lot longer than one would expect.
<rdar://problem/5317143>
Dupe of <rdar://problem/5195056>
r27369