Closed
Bug 404461
Opened 17 years ago
Closed 17 years ago
when I open JavaScript Debugger I get assertion: Can't get mTree or mTreeView
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: vasiliy.potapenko, Assigned: evan.yan)
References
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
1.31 KB,
patch
|
surkov
:
review+
mtschrep
:
approval1.9+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b2pre) Gecko/2007112010 SeaMonkey/2.0a1pre When I open JavaScript Debugger or DOMI view AccessibleObject I get assertion: Can't get mTree or mTreeView! : 'mTree && mTreeView', file mozilla/accessible/src/xul/nsXULTreeAccessible.cpp, line 518 Reproducible: Always Steps to Reproduce: 1. Start Seamonkey 2. Open Tools->Web Development->JavaScript Debugger
Comment 1•17 years ago
|
||
ntdll.dll!7c901230()
> xpcom_core.dll!Break(const char * aMsg=0x0012f280) Line 480 C++
xpcom_core.dll!NS_DebugBreak_P(unsigned int aSeverity=0x00000001, const char * aStr=0x01af1e64, const char * aExpr=0x01af1e50, const char * aFile=0x01af1e10, int aLine=0x00000206) Line 358 + 0xc C++
accessibility.dll!nsXULTreeAccessible::GetCachedTreeitemAccessible(int aRow=0x00000000, nsITreeColumn * aColumn=0x05e6c188, nsIAccessible * * aAccessible=0x0012f770) Line 518 + 0x3a C++
accessibility.dll!nsXULTreeColumnsAccessible::GetNextSibling(nsIAccessible * * aNextSibling=0x0012f770) Line 1085 + 0x26 C++
accessibility.dll!nsAccessible::Shutdown() Line 524 + 0x2f C++
accessibility.dll!nsXULSelectableAccessible::Shutdown() Line 73 C++
accessibility.dll!nsXULTreeAccessible::Shutdown() Line 235 C++
accessibility.dll!nsDocAccessible::RefreshNodes(nsIDOMNode * aStartNode=0x05ebc91c) Line 1704 C++
accessibility.dll!nsDocAccessible::FlushPendingEvents() Line 1652 C++
accessibility.dll!nsDocAccessible::FlushEventsCallback(nsITimer * aTimer=0x05f04300, void * aClosure=0x05614ee0) Line 1665 C++
xpcom_core.dll!nsTimerImpl::Fire() Line 400 + 0xe C++
xpcom_core.dll!nsTimerEvent::Run() Line 489 C++
xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=0x00000001, int * result=0x0012f9b0) Line 491 C++
xpcom_core.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x00b3a140, int mayWait=0x00000001) Line 227 + 0x14 C++
gkwidget.dll!nsBaseAppShell::Run() Line 154 + 0xc C++
tkitcmps.dll!nsAppStartup::Run() Line 170 + 0x1a C++
xul.dll!XRE_main(int argc=0x00000001, char * * argv=0x00b38228, const nsXREAppData * aAppData=0x00b38610) Line 3142 + 0x23 C++
seamonkey.exe!main(int argc=0x00000001, char * * argv=0x00b38228) Line 99 + 0x12 C++
seamonkey.exe!mainCRTStartup() Line 398 + 0x11 C
kernel32.dll!7c816fd7()
Status: UNCONFIRMED → NEW
Ever confirmed: true
Updated•17 years ago
|
Keywords: regression
I also encountered this bug when I simply invoke bookmarks.
Blocks: fox3access
OS: Windows XP → All
Reporter | ||
Comment 3•17 years ago
|
||
I have an idea.
Attachment #289610 -
Flags: review?(aaronleventhal)
Comment 4•17 years ago
|
||
can you describe your patch?
Reporter | ||
Comment 5•17 years ago
|
||
(In reply to comment #4) > can you describe your patch? > ntdll.dll!7c901230() > xpcom_core.dll!Break(const char * aMsg=0x0012f280) Line 480 C++ xpcom_core.dll!NS_DebugBreak_P(unsigned int aSeverity=0x00000001, const char * aStr=0x01af1e64, const char * aExpr=0x01af1e50, const char * aFile=0x01af1e10, int aLine=0x00000206) Line 358 + 0xc C++ in function GetCachedTreeitemAccessible we have NS_ASSERTION(mTree && mTreeView, "Can't get mTree or mTreeView!\n"); accessibility.dll!nsXULTreeAccessible::GetCachedTreeitemAccessible(int aRow=0x00000000, nsITreeColumn * aColumn=0x05e6c188, nsIAccessible * * aAccessible=0x0012f770) Line 518 + 0x3a C++ accessibility.dll!nsXULTreeColumnsAccessible::GetNextSibling(nsIAccessible * * aNextSibling=0x0012f770) Line 1085 + 0x26 C++ accessibility.dll!nsAccessible::Shutdown() Line 524 + 0x2f C++ accessibility.dll!nsXULSelectableAccessible::Shutdown() Line 73 C++ in function Shutdown we have mTree = nsnull; mTreeView = nsnull; accessibility.dll!nsXULTreeAccessible::Shutdown() Line 235 C++ accessibility.dll!nsDocAccessible::RefreshNodes(nsIDOMNode * aStartNode=0x05ebc91c) Line 1704 C++ accessibility.dll!nsDocAccessible::FlushPendingEvents() Line 1652 C++ accessibility.dll!nsDocAccessible::FlushEventsCallback(nsITimer * aTimer=0x05f04300, void * aClosure=0x05614ee0) Line 1665 C++ xpcom_core.dll!nsTimerImpl::Fire() Line 400 + 0xe C++ xpcom_core.dll!nsTimerEvent::Run() Line 489 C++ xpcom_core.dll!nsThread::ProcessNextEvent(int mayWait=0x00000001, int * result=0x0012f9b0) Line 491 C++ xpcom_core.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x00b3a140, int mayWait=0x00000001) Line 227 + 0x14 C++ gkwidget.dll!nsBaseAppShell::Run() Line 154 + 0xc C++ tkitcmps.dll!nsAppStartup::Run() Line 170 + 0x1a C++ xul.dll!XRE_main(int argc=0x00000001, char * * argv=0x00b38228, const nsXREAppData * aAppData=0x00b38610) Line 3142 + 0x23 C++ seamonkey.exe!main(int argc=0x00000001, char * * argv=0x00b38228) Line 99 + 0x12 C++ seamonkey.exe!mainCRTStartup() Line 398 + 0x11 C kernel32.dll!7c816fd7() i.e. we give mTree and mTreeView nsnull value in function nsXULTreeAccessible::Shutdown and we check them in function nsXULTreeAccessible::GetCachedTreeitemAccessible
Reporter | ||
Comment 6•17 years ago
|
||
I have transffered 'mTree = nsnull and mTreeView = nsnull' down
Comment 7•17 years ago
|
||
Possibly I should be more clear when I asked to describe a patch. I meant what's happen there i.e. why do we need to call GetCachedTreeitemAccessible duirng shutdown phase. When nsAccessible::Shutdown is called on the tree then we run trough his children (columns and treeitems) and set theirs parent on nsnull. After that it looks RefreshChildren() will run through treeitems and shoutdown them too. But since tree has own children cache then is it ok we try to create treeitems accessibles to set theirs parents on nsnull when tree is going (gone) away?
Comment 8•17 years ago
|
||
Comment on attachment 289610 [details] [diff] [review] patch Surkov, can you look?
Attachment #289610 -
Flags: review?(aaronleventhal) → review?(surkov.alexander)
Comment 9•17 years ago
|
||
Ah, Surkov is already looking. Vasiliy, please add a comment before the 2 lines of code saying something like: // This must occur after blah blah to avoid blah blah blah
Assignee | ||
Comment 10•17 years ago
|
||
I think the problem is we shouldn't call GetNextSibling() in nsAccessible::Shutdown(). GetNextSibling() could be overrided. And in that situation, derived accessible should take care of its own cache. We cleared child accessible's mParent in InvalidateChildren(). So don't need to do that one more time in nsAccessible::Shutdown().
Attachment #289610 -
Attachment is obsolete: true
Attachment #289767 -
Flags: review?(surkov.alexander)
Attachment #289610 -
Flags: review?(surkov.alexander)
Comment 11•17 years ago
|
||
Comment on attachment 289767 [details] [diff] [review] remove GetNextSibling in nsAccessible::Shutdown() correct, r=me
Attachment #289767 -
Flags: review?(surkov.alexander) → review+
Updated•17 years ago
|
Assignee: aaronleventhal → Evan.Yan
Attachment #289767 -
Flags: approval1.9?
Updated•17 years ago
|
Attachment #289767 -
Flags: approval1.9? → approval1.9+
Assignee | ||
Comment 12•17 years ago
|
||
/cvsroot/mozilla/accessible/src/base/nsAccessible.cpp,v <-- nsAccessible.cpp new revision: 1.338; previous revision: 1.337 done
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•