Closed Bug 492961 Opened 15 years ago Closed 15 years ago

Crash [@ nsHTMLTableHeaderAccessible::GetRoleInternal(unsigned int*) ]

Categories

(Core :: Disability Access APIs, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- beta4-fixed

People

(Reporter: surkov, Assigned: surkov)

References

(Blocks 1 open bug, )

Details

(5 keywords)

Crash Data

Attachments

(2 files)

Attached patch patchSplinter Review
Just crach fix, not actual problem what lies in invalidation problems I would guess.

aja: surkov: noticed latest crash when tab with tindexboxpushlog finished a load.
Assignee: nobody → surkov.alexander
Status: NEW → ASSIGNED
Attachment #377401 - Flags: review?(marco.zehe)
Attachment #377401 - Flags: review?(david.bolter)
OS: Mac OS X → Linux
Comment on attachment 377401 [details] [diff] [review]
patch

r=me

(Still need to figure out underlying issue of course)
Attachment #377401 - Flags: review?(david.bolter) → review+
(In reply to comment #2)
> (From update of attachment 377401 [details] [diff] [review])
> r=me
> 
> (Still need to figure out underlying issue of course)

Wanna play with Orca on Linux? If I get right then originally problem was reproduced by this way.
(In reply to comment #1)
> Just crach fix, not actual problem what lies in invalidation problems I would
> guess.

Let's IRC about this.
Crashes 
* with aforementioned extension,disabled
* with aforementioned extension uninstalled
* with all other extensions disabled via -safe-mode startup parm
* even with Orca uninstalled: http://crash-stats.mozilla.com/report/index/6004fbf7-3d8c-4564-b0fe-1c0f92090514

No crashes with prior nitely: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2a1pre) Gecko/20090513 Minefield/3.6a1pre ID:20090513030859
Did some additional testing to narrow down STR.

Seems that running
http://tests.themasta.com/tinderboxpushlog/
til it updates seems to be all it takes.

Removing tab with that URL allowed running for hours without crashing.
Version: unspecified → Trunk
Results of regression tests on trunk hourlies:

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2a1pre) Gecko/20090513 Minefield/3.6a1pre ID:20090513204509 no crashes

20090513213927 crashes

Regression range URL:
http://hg.mozilla.org/mozilla-central/pushloghtml?startdate=2009-05-13+20%3A45%3A09+&enddate=2009-05-13+21%3A39%3A27

I'd bet it's regression from
changeset 2322a5800d59	 Bug 491851 - implement relations inside HTML table
Depends on: 491851
so, you really shouldn't have both an ASSERTION and an ENSURE_. Instead after the assertion, use a normal:
 if (...)
  return ...;

It's also a bit odd to use an assertion for something you *know* will happen. There should be a bug number open for fixing it. assertions should be limited to things you don't think can happen....
CC'ing Roc

Roc, it seems we have a problem in nsHTMLTableHeaderAccessible::GetRoleInternal (see Alex's attachment 377401 [details] [diff] [review]) where our nsIContent doesn't have a parent. Do you think this is a situation where we need to call FlushPendingNotifications on the doc pres shell? Can you think of other reasons GetParent might fail?
Really cc'ing Roc this time. Please see comment #10
Comment on attachment 377401 [details] [diff] [review]
patch

r=me. Sorry for the dealy, was out of the office.
Attachment #377401 - Flags: review?(marco.zehe) → review+
(In reply to comment #9)
> so, you really shouldn't have both an ASSERTION and an ENSURE_. Instead after
> the assertion, use a normal:
>  if (...)
>   return ...;

ok

> It's also a bit odd to use an assertion for something you *know* will happen.
> There should be a bug number open for fixing it. assertions should be limited
> to things you don't think can happen....

Just assertions shows dialog on windows and it makes easier to see when the problem happens.
I get this crash with this testcase.
Thanks Martijn for testcase. The testcase clearly shows the problem is we can't operate with accessible if it's pending to be invalidated. I think we should follow idea from bug 398021 to fix the bug.
Keywords: crash, testcase
BTW, I consistently hit this crash from simply:
 1. load http://tests.themasta.com/tinderboxpushlog/ (in a fresh profile)
 2. Wait 2-3 minutes
 3. *crash*
http://crash-stats.mozilla.com/report/index/ab51770f-1c04-4bdf-8a12-002762090522
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2a1pre) Gecko/20090522 Minefield/3.6a1pre

 --> adding 'regression' keyword because tinderboxpushlog didn't used to crash
 --> adding 'dogfood' keyword because it's a pretty important tool for developers
Keywords: dogfood, regression
(In reply to comment #15)
> Thanks Martijn for testcase. The testcase clearly shows the problem is we can't
> operate with accessible if it's pending to be invalidated. I think we should
> follow idea from bug 398021 to fix the bug.

Tree freezing?
(In reply to comment #17)
> (In reply to comment #15)
> > Thanks Martijn for testcase. The testcase clearly shows the problem is we can't
> > operate with accessible if it's pending to be invalidated. I think we should
> > follow idea from bug 398021 to fix the bug.
> 
> Tree freezing?

Exactly. In the mantime we should check parent on null and return ROLE_CELL as stub I think
Blocks: eventa11y
This is crashing 3.6beta1 (~80th crasher)

(Maybe a null check?)
(In reply to comment #19)
> This is crashing 3.6beta1 (~80th crasher)
> 
> (Maybe a null check?)

Let's land the patch and leave the bug open to fix real problem later.
landed on 1.9.3 - http://hg.mozilla.org/mozilla-central/rev/259c8a2fbef4
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment on attachment 377401 [details] [diff] [review]
patch

See chofman's comments in bug 529233 which was since marked as a duplicate of this one.
Attachment #377401 - Flags: approval1.9.2?
Requesting blocking since this is the #5 topcrasher on 1.9.2b2 and later.
Flags: blocking1.9.2?
Keywords: topcrash
Comment on attachment 377401 [details] [diff] [review]
patch

a192=beltzner; we need to figure out why this is such a high topcrash if it's in a11y code :(
Attachment #377401 - Flags: approval1.9.2? → approval1.9.2+
(In reply to comment #25)
> (From update of attachment 377401 [details] [diff] [review])
> a192=beltzner; we need to figure out why this is such a high topcrash if it's
> in a11y code :(

Agreed and the a11y code is being exercised in unfortunate ways. Some evangelism is needed. Would a minidump help here?
Pushed to 1.9.2 on Alexander's behalf in changeset: http://hg.mozilla.org/releases/mozilla-1.9.2/rev/bfb57bd90f06
Flags: blocking1.9.2? → blocking1.9.2+
Crash Signature: [@ nsHTMLTableHeaderAccessible::GetRoleInternal(unsigned int*) ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: