Bug 6399
Summary: | http://www.theregister.com hangs on TOT in JavaScript code | ||
---|---|---|---|
Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> |
Component: | JavaScriptCore | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Blocker | ||
Priority: | P1 | ||
Version: | 420+ | ||
Hardware: | Mac | ||
OS: | OS X 10.4 | ||
URL: | http://www.theregister.com |
Eric Seidel (no email)
http://www.theregister.com hangs on TOT in JavaScript code
Also reported in Radar:
<rdar://problem/4400943> REGRESSION (420+): TOT hangs in JavaScript code at www.theregister.com
Sample:
Analysis of sampling pid 5804 every 10.000000 milliseconds
Call graph:
96 Thread_0f0f
96 start
96 _start
96 main
96 NSApplicationMain
96 -[NSApplication run]
96 -[BrowserApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
96 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
96 _DPSNextEvent
96 BlockUntilNextEventMatchingListInMode
96 ReceiveNextEventCommon
96 RunCurrentEventLoopInMode
96 CFRunLoopRunSpecific
96 __CFRunLoopRun
96 __CFRunLoopDoSources0
96 _sendCallbacks
96 -[NSURLConnection(NSURLConnectionInternal) _sendCallbacks]
96 -[NSURLConnection(NSURLConnectionInternal)
_sendDidFinishLoadingCallback]
96 -[WebLoader connectionDidFinishLoading:]
96 -[WebSubresourceLoader didFinishLoading]
96 -[KWQResourceLoader finishWithData:]
96 -[KWQResourceLoader finishJobAndHandle:]
96 KIO::TransferJob::emitResult(NSData*)
96 KWQSignal::callWithData(KIO::Job*, NSData*) const
96 KWQSlot::callWithData(KIO::Job*, NSData*) const
96 khtml::Loader::slotFinished(KIO::Job*, NSData*)
96 khtml::CachedScript::data(QBuffer&, bool)
96 khtml::CachedScript::checkNotify()
96 khtml::HTMLTokenizer::notifyFinished(khtml::CachedObject*)
96 khtml::HTMLTokenizer::write(khtml::TokenizerString
const&, bool)
96 khtml::HTMLTokenizer::parseTag(khtml::TokenizerString&,
khtml::HTMLTokenizer::State)
96 khtml::HTMLTokenizer::parseSpecial
(khtml::TokenizerString&, khtml::HTMLTokenizer::State)
96 khtml::HTMLTokenizer::scriptHandler
(khtml::HTMLTokenizer::State)
96 khtml::CachedScript::ref(khtml::CachedObjectClient*)
96 khtml::HTMLTokenizer::notifyFinished
(khtml::CachedObject*)
96 khtml::HTMLTokenizer::scriptExecution(QString
const&, khtml::HTMLTokenizer::State, QString, int)
96 KHTMLPart::executeScript(QString, int,
DOM::NodeImpl*, QString const&)
96 KJSProxyImpl::evaluate(DOM::DOMString const&,
int, DOM::DOMString const&, DOM::NodeImpl*)
96 KJS::Interpreter::evaluate(KJS::UString const&,
int, KJS::UChar const*, int, KJS::JSValue*)
96 KJS::InterpreterImp::evaluate(KJS::UChar const*,
int, KJS::JSValue*, KJS::UString const&, int)
96 KJS::BlockNode::execute(KJS::ExecState*)
96 KJS::SourceElementsNode::execute
(KJS::ExecState*)
96 KJS::ExprStatementNode::execute
(KJS::ExecState*)
96 KJS::FunctionCallValueNode::evaluate
(KJS::ExecState*)
96 KJS::JSObject::call(KJS::ExecState*,
KJS::JSObject*, KJS::List const&)
96 KJS::FunctionImp::callAsFunction
(KJS::ExecState*, KJS::JSObject*, KJS::List const&)
96 KJS::DeclaredFunctionImp::execute
(KJS::ExecState*)
96 KJS::BlockNode::execute
(KJS::ExecState*)
96 KJS::SourceElementsNode::execute
(KJS::ExecState*)
96 KJS::ExprStatementNode::execute
(KJS::ExecState*)
96
KJS::FunctionCallResolveNode::evaluate(KJS::ExecState*)
96 KJS::JSObject::call
(KJS::ExecState*, KJS::JSObject*, KJS::List const&)
96
KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&)
96
KJS::DeclaredFunctionImp::execute(KJS::ExecState*)
96 KJS::BlockNode::execute
(KJS::ExecState*)
96
KJS::SourceElementsNode::execute(KJS::ExecState*)
96 KJS::IfNode::execute
(KJS::ExecState*)
96
KJS::EqualNode::evaluate(KJS::ExecState*)
96 KJS::equal
(KJS::ExecState*, KJS::JSValue*, KJS::JSValue*)
96
KJS::JSValue::toPrimitive(KJS::ExecState*, KJS::Type) const
96
KJS::JSObject::toPrimitive(KJS::ExecState*, KJS::Type) const
96
KJS::JSObject::defaultValue(KJS::ExecState*, KJS::Type) const
96 KJS::JSObject::call
(KJS::ExecState*, KJS::JSObject*, KJS::List const&)
96
KJS::ArrayProtoFunc::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&)
86
KJS::JSObject::get(KJS::ExecState*, unsigned) const
86
KJS::JSObject::getPropertySlot(KJS::ExecState*, unsigned, KJS::PropertySlot&)
51
KJS::ArrayInstance::getOwnPropertySlot(KJS::ExecState*, unsigned, KJS::PropertySlot&)
50
KJS::JSObject::getOwnPropertySlot(KJS::ExecState*, unsigned, KJS::PropertySlot&)
29
KJS::Identifier::from(unsigned)
17
KJS::Identifier::Identifier[in-charge](KJS::UString const&)
15
KJS::Identifier::add(KJS::UString::Rep*)
15
KXMLCore::HashSet<KJS::UString::Rep*, KXMLCore::DefaultHash<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::insert(KJS::UString::Rep* const&)
13
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::insert(KJS::UString::Rep* const&)
12
std::pair<KXMLCore::HashTableIterator<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep*
const& KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >, bool> KXMLCore::HashTable<KJS::UString::Rep*,
KJS::UString::Rep*, &(KJS::UString::Rep* const& KXMLCore::identityExtract<KJS::UString::Rep*>
(KJS::UString::Rep* const&)), KXMLCore::DefaultHash<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>
>::insert<KJS::UString::Rep*, KJS::UString::Rep*, KXMLCore::IdentityHashTranslator<KJS::UString::Rep*,
KJS::UString::Rep*, KXMLCore::DefaultHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&,
KJS::UString::Rep* const&)
9
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::expand()
9
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::rehash(int)
6
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::reinsert(KJS::UString::Rep*&)
6
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::lookup(KJS::UString::Rep* const&)
6 std::pair<KXMLCore::DefaultHash<KJS::UString::Rep*><KJS::UString::Rep**, bool>, unsigned>
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::lookup<KJS::UString::Rep*,
KXMLCore::IdentityHashTranslator<KJS::UString::Rep*, KJS::UString::Rep*,
KXMLCore::DefaultHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&)
3 KXMLCore::IdentityHashTranslator<KJS::UString::Rep*, KJS::UString::Rep*,
KXMLCore::DefaultHash<KJS::UString::Rep*> >::hash(KJS::UString::Rep* const&)
3 KXMLCore::DefaultHash<KJS::UString::Rep*>::hash(KJS::UString::Rep const*)
2 KJS::UString::Rep::hash() const
2 KJS::UString::Rep::hash() const
1 KXMLCore::DefaultHash<KJS::UString::Rep*>::hash(KJS::UString::Rep const*)
1 KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::isEmptyBucket(KJS::UString::Rep* const&)
1 KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::isEmptyBucket(KJS::UString::Rep* const&)
1 KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::makeLookupResult(KJS::UString::Rep**, bool, unsigned)
1 std::pair<std::pair<KJS::UString::Rep**, bool>, unsigned>::pair[in-charge]
(std::pair<KJS::UString::Rep**, bool> const&, unsigned const&)
1 std::pair<std::pair<KJS::UString::Rep**, bool>, unsigned>::pair[in-charge]
(std::pair<KJS::UString::Rep**, bool> const&, unsigned const&)
1 std::pair<KXMLCore::DefaultHash<KJS::UString::Rep*><KJS::UString::Rep**, bool>, unsigned>
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::lookup<KJS::UString::Rep*,
KXMLCore::IdentityHashTranslator<KJS::UString::Rep*, KJS::UString::Rep*,
KXMLCore::DefaultHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&)
2
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::isEmptyOrDeletedBucket(KJS::UString::Rep* const&)
1
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::isEmptyBucket(KJS::UString::Rep* const&)
1 KJS::UString::Rep* const& KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)
1 KJS::UString::Rep* const& KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)
1
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::reinsert(KJS::UString::Rep*&)
1 KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::isDeletedBucket(KJS::UString::Rep* const&)
1 KXMLCore::HashTraits<KJS::UString::Rep*>::deletedValue()
1 KXMLCore::HashTraits<KJS::UString::Rep*>::deletedValue()
1
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::rehash(int)
2
std::pair<KXMLCore::DefaultHash<KJS::UString::Rep*><KJS::UString::Rep**, bool>, unsigned>
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::lookup<KJS::UString::Rep*,
KXMLCore::IdentityHashTranslator<KJS::UString::Rep*, KJS::UString::Rep*,
KXMLCore::DefaultHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&)
2
std::pair<KXMLCore::DefaultHash<KJS::UString::Rep*><KJS::UString::Rep**, bool>, unsigned>
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::lookup<KJS::UString::Rep*,
KXMLCore::IdentityHashTranslator<KJS::UString::Rep*, KJS::UString::Rep*,
KXMLCore::DefaultHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&)
1
std::pair<KXMLCore::HashTableIterator<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep*
const& KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >, bool> KXMLCore::HashTable<KJS::UString::Rep*,
KJS::UString::Rep*, &(KJS::UString::Rep* const& KXMLCore::identityExtract<KJS::UString::Rep*>
(KJS::UString::Rep* const&)), KXMLCore::DefaultHash<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>
>::insert<KJS::UString::Rep*, KJS::UString::Rep*, KXMLCore::IdentityHashTranslator<KJS::UString::Rep*,
KJS::UString::Rep*, KXMLCore::DefaultHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&,
KJS::UString::Rep* const&)
1
__stub_getrealaddr
1
__stub_getrealaddr
1
KXMLCore::HashSet<KJS::UString::Rep*, KXMLCore::DefaultHash<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::insert(KJS::UString::Rep* const&)
1
std::pair<KXMLCore::HashTableIterator<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep*
const& KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >, bool> KXMLCore::HashTable<KJS::UString::Rep*,
KJS::UString::Rep*, &(KJS::UString::Rep* const& KXMLCore::identityExtract<KJS::UString::Rep*>
(KJS::UString::Rep* const&)), KXMLCore::DefaultHash<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>
>::insert<KJS::UString::Rep*, KJS::UString::Rep*, KXMLCore::IdentityHashTranslator<KJS::UString::Rep*,
KJS::UString::Rep*, KXMLCore::DefaultHash<KJS::UString::Rep*> > >(KJS::UString::Rep* const&,
KJS::UString::Rep* const&)
1
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::shouldExpand() const
1
KXMLCore::HashTable<KJS::UString::Rep*, KJS::UString::Rep*, &(KJS::UString::Rep* const&
KXMLCore::identityExtract<KJS::UString::Rep*>(KJS::UString::Rep* const&)),
KXMLCore::DefaultHash<KJS::UString::Rep*>, KXMLCore::HashTraits<KJS::UString::Rep*>,
KXMLCore::HashTraits<KJS::UString::Rep*> >::shouldExpand() const
2
KJS::UString::UString[in-charge](KXMLCore::PassRefPtr<KJS::UString::Rep>)
2
KXMLCore::RefPtr<KJS::UString::Rep>::RefPtr[in-charge]<KJS::UString::Rep>
(KXMLCore::PassRefPtr<KJS::UString::Rep> const&)
2
KXMLCore::RefPtr<KJS::UString::Rep>::RefPtr[in-charge]<KJS::UString::Rep>
(KXMLCore::PassRefPtr<KJS::UString::Rep> const&)
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Eric Seidel (no email)
*** This bug has been marked as a duplicate of 6373 ***
Joost de Valk (AlthA)
Removing keyword(s) since bug is fixed.
Joost de Valk (AlthA)
Ignore my previous comment.
Joost de Valk (AlthA)
Removing keyword(s) since bug is fixed.
Eric Seidel (no email)
Removing Regression keyword from bugs already fixed.