Bug Tracker

Opened 14 years ago

Closed 14 years ago

Last modified 13 years ago

#764 closed bug (fixed)

Some selector cause a crash in Safari

Reported by: mathieuma@… Owned by:
Priority: undecided Milestone: 1.1a
Component: core Version: 1.1a
Keywords: Cc:
Blocked by: Blocking:

Description

After an upgrade to 1.1a I experience crashes in Safari (latest safari public release (2.0.4 build 419.3)).

Those are caused by the following code - the crash occurs only when an external link is found in the page.

$("a[@href^=http://]").not("[@href*='mysite.com/']").each(function() {
	$(this).html( $(this).html() + " <img src="/images/external.png" width="10" height="10" />" );
});

Attachments (2)

crash.txt (31.2 KB) - added by mathieuma@… 14 years ago.
Safari crash report
crash.2.txt (31.2 KB) - added by mathieuma@… 14 years ago.
Safari crash report

Download all attachments as: .zip

Change History (8)

Changed 14 years ago by mathieuma@…

Attachment: crash.txt added

Safari crash report

Changed 14 years ago by mathieuma@…

Attachment: crash.2.txt added

Safari crash report

comment:1 Changed 14 years ago by mathieuma@…

In case this helps, here is a piece of the crash report :

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x0000004d

Thread 0 Crashed:
0   com.apple.WebCore        	0x9586e83c DOM::operator==(DOM::DOMString const&, DOM::DOMString const&) + 28
1   <<00000000>> 	0x00000000 0 + 0
2   com.apple.WebCore        	0x95a0e15c DOM::NodeListImpl::itemById(DOM::DOMString const&) const + 256
3   com.apple.WebCore        	0x95a83d54 DOM::NodeList::itemById(DOM::DOMString const&) const + 56
4   com.apple.WebCore        	0x959475b8 KJS::DOMNodeList::tryGet(KJS::ExecState*, KJS::Identifier const&) const + 372
5   com.apple.WebCore        	0x958b11e0 KJS::DOMObject::get(KJS::ExecState*, KJS::Identifier const&) const + 60
6   com.apple.JavaScriptCore 	0x957869cc KJS::Reference::getValue(KJS::ExecState*) const + 584
7   com.apple.JavaScriptCore 	0x957864e8 KJS::AccessorNode2::evaluate(KJS::ExecState*) + 60
8   com.apple.JavaScriptCore 	0x95790ac4 KJS::IfNode::execute(KJS::ExecState*) + 136
9   com.apple.JavaScriptCore 	0x957859ac KJS::SourceElementsNode::execute(KJS::ExecState*) + 544
10  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
11  com.apple.JavaScriptCore 	0x95795214 KJS::ForNode::execute(KJS::ExecState*) + 592
12  com.apple.JavaScriptCore 	0x957859ac KJS::SourceElementsNode::execute(KJS::ExecState*) + 544
13  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
14  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
15  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
16  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
17  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
18  com.apple.JavaScriptCore 	0x95785e80 KJS::AssignExprNode::evaluate(KJS::ExecState*) + 40
19  com.apple.JavaScriptCore 	0x95785d88 KJS::VarDeclNode::evaluate(KJS::ExecState*) + 100
20  com.apple.JavaScriptCore 	0x95785cbc KJS::VarDeclListNode::evaluate(KJS::ExecState*) + 72
21  com.apple.JavaScriptCore 	0x95785b78 KJS::VarStatementNode::execute(KJS::ExecState*) + 120
22  com.apple.JavaScriptCore 	0x957859ac KJS::SourceElementsNode::execute(KJS::ExecState*) + 544
23  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
24  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
25  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
26  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
27  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
28  com.apple.JavaScriptCore 	0x95793b48 KJS::ReturnNode::execute(KJS::ExecState*) + 156
29  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
30  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
31  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
32  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
33  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
34  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
35  com.apple.JavaScriptCore 	0x957933bc KJS::ConditionalNode::evaluate(KJS::ExecState*) + 200
36  com.apple.JavaScriptCore 	0x95793b48 KJS::ReturnNode::execute(KJS::ExecState*) + 156
37  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
38  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
39  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
40  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
41  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
42  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
43  com.apple.JavaScriptCore 	0x9578aeac KJS::ExprStatementNode::execute(KJS::ExecState*) + 120
44  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
45  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
46  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
47  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
48  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
49  com.apple.JavaScriptCore 	0x957a22d8 KJS::FunctionProtoFuncImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 2556
50  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
51  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
52  com.apple.JavaScriptCore 	0x9578b808 KJS::EqualNode::evaluate(KJS::ExecState*) + 60
53  com.apple.JavaScriptCore 	0x95790ac4 KJS::IfNode::execute(KJS::ExecState*) + 136
54  com.apple.JavaScriptCore 	0x95795214 KJS::ForNode::execute(KJS::ExecState*) + 592
55  com.apple.JavaScriptCore 	0x95790bf4 KJS::IfNode::execute(KJS::ExecState*) + 440
56  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
57  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
58  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
59  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
60  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
61  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
62  com.apple.JavaScriptCore 	0x95793b48 KJS::ReturnNode::execute(KJS::ExecState*) + 156
63  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
64  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
65  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
66  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
67  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
68  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
69  com.apple.JavaScriptCore 	0x9578aeac KJS::ExprStatementNode::execute(KJS::ExecState*) + 120
70  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
71  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
72  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
73  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
74  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
75  com.apple.JavaScriptCore 	0x957a22d8 KJS::FunctionProtoFuncImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 2556
76  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
77  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
78  com.apple.JavaScriptCore 	0x9578aeac KJS::ExprStatementNode::execute(KJS::ExecState*) + 120
79  com.apple.JavaScriptCore 	0x95795214 KJS::ForNode::execute(KJS::ExecState*) + 592
80  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
81  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
82  com.apple.JavaScriptCore 	0x95790bf4 KJS::IfNode::execute(KJS::ExecState*) + 440
83  com.apple.JavaScriptCore 	0x957859ac KJS::SourceElementsNode::execute(KJS::ExecState*) + 544
84  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
85  com.apple.JavaScriptCore 	0x95790bf4 KJS::IfNode::execute(KJS::ExecState*) + 440
86  com.apple.JavaScriptCore 	0x9578585c KJS::SourceElementsNode::execute(KJS::ExecState*) + 208
87  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
88  com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
89  com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
90  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
91  com.apple.JavaScriptCore 	0x957a22d8 KJS::FunctionProtoFuncImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 2556
92  com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
93  com.apple.JavaScriptCore 	0x957862a8 KJS::FunctionCallNode::evaluate(KJS::ExecState*) + 1040
94  com.apple.JavaScriptCore 	0x9578b808 KJS::EqualNode::evaluate(KJS::ExecState*) + 60
95  com.apple.JavaScriptCore 	0x95790ac4 KJS::IfNode::execute(KJS::ExecState*) + 136
96  com.apple.JavaScriptCore 	0x957859ac KJS::SourceElementsNode::execute(KJS::ExecState*) + 544
97  com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
98  com.apple.JavaScriptCore 	0x95796ff8 KJS::ForInNode::execute(KJS::ExecState*) + 1572
99  com.apple.JavaScriptCore 	0x957859ac KJS::SourceElementsNode::execute(KJS::ExecState*) + 544
100 com.apple.JavaScriptCore 	0x9578571c KJS::BlockNode::execute(KJS::ExecState*) + 140
101 com.apple.JavaScriptCore 	0x9579260c KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 44
102 com.apple.JavaScriptCore 	0x95791e88 KJS::FunctionImp::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 408
103 com.apple.JavaScriptCore 	0x95787988 KJS::Object::call(KJS::ExecState*, KJS::Object&, KJS::List const&) + 136
104 com.apple.WebCore        	0x959cdf8c KJS::JSAbstractEventListener::handleEvent(DOM::Event&, bool) + 492
105 com.apple.WebCore        	0x95a08c64 DOM::DocumentImpl::handleWindowEvent(DOM::EventImpl*, bool) + 212
106 com.apple.WebCore        	0x959077a4 DOM::NodeImpl::dispatchWindowEvent(int, bool, bool) + 200
107 com.apple.WebCore        	0x95a0789c DOM::DocumentImpl::implicitClose() + 392
108 com.apple.WebCore        	0x958f9fac KHTMLPart::checkEmitLoadEvent() + 524
109 com.apple.WebCore        	0x959b31dc KHTMLPart::checkCompleted() + 212
110 com.apple.WebCore        	0x95897108 KWQSignal::call(khtml::DocLoader*, khtml::CachedObject*) const + 136
111 com.apple.WebCore        	0x958a2198 khtml::Loader::slotFinished(KIO::Job*, NSData*) + 476
112 com.apple.WebCore        	0x95a1ba88 KWQSignal::callWithData(KIO::Job*, NSData*) const + 136
113 com.apple.WebCore        	0x958a1f5c -[KWQResourceLoader finishJobAndHandle:] + 80
114 com.apple.WebKit         	0x9569f494 -[WebSubresourceClient didFinishLoading] + 72
115 com.apple.WebKit         	0x9569e71c -[WebBaseResourceHandleDelegate connectionDidFinishLoading:] + 48
116 com.apple.Foundation     	0x9299184c -[NSURLConnection(NSURLConnectionInternal) _sendDidFinishLoadingCallback] + 188
117 com.apple.Foundation     	0x9298fab8 -[NSURLConnection(NSURLConnectionInternal) _sendCallbacks] + 556
118 com.apple.Foundation     	0x9298f810 _sendCallbacks + 156
119 com.apple.CoreFoundation 	0x907dd584 __CFRunLoopDoSources0 + 568
120 com.apple.CoreFoundation 	0x907dc9fc __CFRunLoopRun + 452
121 com.apple.CoreFoundation 	0x907dc47c CFRunLoopRunSpecific + 268
122 com.apple.HIToolbox      	0x93205740 RunCurrentEventLoopInMode + 264
123 com.apple.HIToolbox      	0x93204d4c ReceiveNextEventCommon + 244
124 com.apple.HIToolbox      	0x93204c40 BlockUntilNextEventMatchingListInMode + 96
125 com.apple.AppKit         	0x936e7ae4 _DPSNextEvent + 384
126 com.apple.AppKit         	0x936e77a8 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 116
127 com.apple.Safari         	0x00006740 0x1000 + 22336
128 com.apple.AppKit         	0x936e3cec -[NSApplication run] + 472
129 com.apple.AppKit         	0x937d487c NSApplicationMain + 452
130 com.apple.Safari         	0x0005c77c 0x1000 + 374652
131 com.apple.Safari         	0x0005c624 0x1000 + 374308

comment:2 Changed 14 years ago by Jason

I'm glad to see that this has been reported. I am also experiencing problems with 'this' and 'html()' in Safari. Crashes every time. Looks like the same errors that have been lised above so I won't list them. Works fine in 1.0.x though.

comment:3 Changed 14 years ago by john

Priority: majorblocker

comment:4 Changed 14 years ago by john

Type: enhancementbug

comment:5 Changed 14 years ago by john

Fixed in SVN.

comment:6 Changed 14 years ago by john

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.