To many unclosed option tag's in RTL schema lead to lockup

NEW
Unassigned

Status

()

Core
Layout: Block and Inline
--
critical
15 years ago
7 years ago

People

(Reporter: Ruslan Ismailov, Unassigned)

Tracking

({hang, rtl, testcase})

Trunk
x86
All
hang, rtl, testcase
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(URL)

Attachments

(3 attachments)

(Reporter)

Description

15 years ago
Working on bug 213245 I found, that form on that page locked my Mozilla down. I
simplify page and found, that source of locking up is to manu unclosed <option>
tag's in RTL direction. If number of unclosed <option> tag's is less than 10,
page always work correctly, but with 20-30-40 unclosed tag it become locking.

To produce this effect you need open following testcase and try to use select
menu  several time (but try to switching fast, I don't clearly understand, but
if I selected option slow, with big pause, everything could be normal). It take
me 2-10 clicks to lock-up Mozilla's. CPU usage is over 100% and task is not
answered, same picture in Linux Mozilla.
(Reporter)

Updated

15 years ago
(Reporter)

Comment 1

15 years ago
Created attachment 128156 [details]
Manu unclosed option tag lead to mozilla lock-up

Updated

15 years ago
Severity: major → critical
Keywords: hang, testcase
OS: Windows XP → All
Created attachment 128467 [details]
Same as attachment 128156 [details], but with the closing tags

This seems very surprising. I don't see why omitting the closing tags should
have any effect, but I can reproduce the hang with attachment 128156 [details] and not
with this one.

The hang seems to be a mutually recursive loop of
nsFrame::GetNextPrevLineFromeBlockFrame() and nsFrame::PeekOffset()
Created attachment 128476 [details]
Stack after breaking in the debugger

Updated

14 years ago
Component: Layout: Form Controls → Layout: Block & Inline
.
Assignee: form → block-and-inline
QA Contact: desale → ian

Comment 5

10 years ago
Mass-assigning the new rtl keyword to RTL-related (see bug 349193).
Keywords: rtl
Assignee: layout.block-and-inline → nobody
QA Contact: ian → layout.block-and-inline
You need to log in before you can comment on or make changes to this bug.