Closed Bug 329410 Opened 15 years ago Closed 15 years ago

<select style="-moz-binding: url(#t)"> hangs the browser (iExploder test 10030070)

Categories

(Core :: XBL, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla1.9alpha1

People

(Reporter: j.moz, Assigned: bzbarsky)

References

()

Details

(Keywords: fixed1.8.1, hang, testcase)

Attachments

(3 files, 1 obsolete file)

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060303
Firefox/1.6a1

<select style="-moz-binding: url(#t)"> hangs the browser (iExploder test 10030070)

(Filing as a new bug, see bug 324465 comment 7)

Found using http://toadstool.se/software/iexploder/
Attached file testcase
Test case, the same as bug 324465 attachment 214071 [details]

The source is <select style="-moz-binding: url(#t)">
So...  nsXBLService::FetchBindingDocument forces a sync load if the bound element is an <html:select>.  This was added to fix the XBL form controls issue in bug 128408.

So we try to do a sync HTTP load of a URI we're in the middle of loading, and I bet we end up blocking on the cache in HTTP, leading to deadlock.  Darin, biesi, am I correct that that's what would happen?

I figure the right thing to do is to change the XBL form controls code to only happen when XBL form controls are enabled.  Or better yet, remove that special-case altogether; shouldn't it be covered by the IsResourceURI check we do here anyway?
Flags: blocking1.9a1+
Attachment #214140 - Flags: superreview?(bryner)
Attachment #214140 - Flags: review?(bugmail)
it's presumably waiting for the cache entry to become valid, which never happens, as the original load is blocked by this sync call.
Right.  That makes sense...
Comment on attachment 214140 [details] [diff] [review]
This fixes it for me

this might change some performance characteristics of startup, watch out for that, but looks ok.
Attachment #214140 - Flags: superreview?(bryner) → superreview+
Fixed.  Ts seems to be ok.
Assignee: general → bzbarsky
OS: Windows XP → All
Priority: -- → P1
Hardware: PC → All
Target Milestone: --- → mozilla1.9alpha
Fixed.  Note that this is basically a deadlock hang, so I'm not sure we care enough to put this on branches...  sicking, bryner, what do you think?
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
The 1.8.1 maybe, other then that I'm not sure if it's worth it. a=me if you want to do that.
Attached patch 1.8.1 branch patch (obsolete) — Splinter Review
I'll remove it on trunk too...
Attachment #217175 - Attachment is obsolete: true
Fixed on 1.8.1 branch.
Keywords: fixed1.8.1
You need to log in before you can comment on or make changes to this bug.