Closed Bug 1276721 Opened 4 years ago Closed 4 years ago

Unable to use QueryInterface with proxy accessibles.

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: yzen, Unassigned)

References

Details

Right now it's not possible to use QueryInterface functionality with proxy accessibles. For example browser_caching_value.js test shows how when e10s is enabled, that call returns the following exception:
Uncaught exception - [Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]"  nsresult: "0x80004002 (NS_NOINTERFACE)"
Depends on: 1278004
Seem to still be getting this assertion failure (even with bug 1278004):

[GFX1-]: Receive IPC close with reason=AbnormalShutdown
Assertion failure: mDestroyed, at /Users/yzenevich/Github/gecko/gfx/layers/IPDLActor.h:43
[Child 23610] ###!!! ABORT: Aborting on channel error.: file /Users/yzenevich/Github/gecko/ipc/glue/MessageChannel.cpp, line 2053
#01: mozilla::ipc::ProcessLink::OnChannelError() (Monitor.h:36, in XUL)
#01: mozilla::layers::CompositableClient::DestroyIPDLActor(mozilla::layers::PCompositableChild*) (CompositableClient.cpp:82, in XUL)
#02: event_base_loop (event.c:1355, in XUL)
#02: mozilla::layers::PLayerTransactionChild::DeallocSubtree() (PLayerTransactionChild.cpp:1143, in XUL)
#03: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:364, in XUL)
#03: mozilla::layers::PCompositorBridgeChild::DeallocSubtree() (PCompositorBridgeChild.cpp:1754, in XUL)
#04: MessageLoop::Run() (message_loop.cc:493, in XUL)
#04: mozilla::layers::PCompositorBridgeChild::OnChannelError() (__hash_table:1529, in XUL)
#05: base::Thread::ThreadMain() (thread.cc:183, in XUL)
#05: mozilla::ipc::MessageChannel::NotifyMaybeChannelError() (MessageChannel.cpp:2079, in XUL)
#06: ThreadFunc(void*) (platform_thread_posix.cc:38, in XUL)
#06: nsRunnableMethodImpl<void (mozilla::ipc::MessageChannel::*)(), false, true>::Run() (nsThreadUtils.h:722, in XUL)
#07: _pthread_body (in libsystem_pthread.dylib) + 131
#07: nsThread::ProcessNextEvent(bool, bool*) (nsCOMPtr.h:403, in XUL)
#08: _pthread_body (in libsystem_pthread.dylib) + 0
[Child 23610] ###!!! ABORT: Aborting on channel error.: file /Users/yzenevich/Github/gecko/ipc/glue/MessageChannel.cpp, line 2053
Hit MOZ_CRASH() at /Users/yzenevich/Github/gecko/memory/mozalloc/mozalloc_abort.cpp:33
Here's a longer long:

0 INFO *** Start BrowserChrome Test Results ***
[90246] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Users/yzenevich/Github/gecko/xpcom/base/nsTraceRefcnt.cpp, line 174
[90246] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Users/yzenevich/Github/gecko/xpcom/base/nsTraceRefcnt.cpp, line 174
[90246] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Users/yzenevich/Github/gecko/xpcom/base/nsTraceRefcnt.cpp, line 174
[90246] WARNING: XPCOM objects created/destroyed from static ctor/dtor: file /Users/yzenevich/Github/gecko/xpcom/base/nsTraceRefcnt.cpp, line 174
### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /var/folders/jn/q_vyg0sn4wj1jkdtb48kz9fm0000gn/T/tmpLsThyk.mozrunner/runtests_leaks_tab_pid90246.log
1 INFO checking window state
++DOCSHELL 0x1329d2000 == 7 [pid = 90245] [id = 7]
++DOMWINDOW == 15 (0x12f779800) [pid = 90245] [serial = 15] [outer = 0x0]
++DOMWINDOW == 16 (0x1329e7000) [pid = 90245] [serial = 16] [outer = 0x12f779800]
2 INFO TEST-START | accessible/tests/browser/browser_caching_value.js
3 INFO Entering test bound 
++DOMWINDOW == 17 (0x132be1000) [pid = 90245] [serial = 17] [outer = 0x12f779800]
[Child 90246] WARNING: '!compMgr', file /Users/yzenevich/Github/gecko/xpcom/glue/nsComponentManagerUtils.cpp, line 63
[Child 90246] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /Users/yzenevich/Github/gecko/toolkit/xre/nsXREDirProvider.cpp, line 1536
++DOCSHELL 0x11da88800 == 1 [pid = 90246] [id = 1]
++DOMWINDOW == 1 (0x11dadb400) [pid = 90246] [serial = 1] [outer = 0x0]
[Child 90246] WARNING: No inner window available!: file /Users/yzenevich/Github/gecko/dom/base/nsGlobalWindow.cpp, line 10032
[Child 90246] WARNING: No inner window available!: file /Users/yzenevich/Github/gecko/dom/base/nsGlobalWindow.cpp, line 10032
++DOMWINDOW == 2 (0x11dd08400) [pid = 90246] [serial = 2] [outer = 0x11dadb400]
++DOCSHELL 0x11e1cd000 == 2 [pid = 90246] [id = 2]
++DOMWINDOW == 3 (0x11dc9b000) [pid = 90246] [serial = 3] [outer = 0x0]
[Child 90246] WARNING: No inner window available!: file /Users/yzenevich/Github/gecko/dom/base/nsGlobalWindow.cpp, line 10032
[Child 90246] WARNING: No inner window available!: file /Users/yzenevich/Github/gecko/dom/base/nsGlobalWindow.cpp, line 10032
++DOMWINDOW == 4 (0x11dc9e800) [pid = 90246] [serial = 4] [outer = 0x11dc9b000]
[Child 90246] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /Users/yzenevich/Github/gecko/dom/xbl/nsXBLDocumentInfo.cpp, line 198
[Child 90246] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /Users/yzenevich/Github/gecko/dom/xbl/nsXBLDocumentInfo.cpp, line 265
[Child 90246] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /Users/yzenevich/Github/gecko/dom/xbl/nsXBLDocumentInfo.cpp, line 198
[Child 90246] WARNING: NS_ENSURE_TRUE(startupCache) failed: file /Users/yzenevich/Github/gecko/dom/xbl/nsXBLDocumentInfo.cpp, line 265
4 INFO TEST-PASS | accessible/tests/browser/browser_caching_value.js | Accessible document present. - 
[Child 90246] WARNING: TabChild::SetFocus not supported in TabChild: file /Users/yzenevich/Github/gecko/dom/ipc/TabChild.cpp, line 1106
5 INFO Initially value is set to 1st element of select
6 INFO TEST-PASS | accessible/tests/browser/browser_caching_value.js | Correct value for [DOM node id: select, role: combobox, address: 0x133029a40] - 
7 INFO Value should update to 3rd when 3 is pressed
8 INFO TEST-PASS | accessible/tests/browser/browser_caching_value.js | Accessible document present. - 
9 INFO TEST-PASS | accessible/tests/browser/browser_caching_value.js | Correct value for [DOM node id: select, role: combobox, address: 0x133029a40] - 
10 INFO Initially value is set to @aria-valuenow for slider
11 INFO TEST-PASS | accessible/tests/browser/browser_caching_value.js | Wrong value of [DOM node id: slider, role: slider, address: 0x133029940] - 
[GFX1-]: Receive IPC close with reason=AbnormalShutdown
Assertion failure: mDestroyed, at /Users/yzenevich/Github/gecko/gfx/layers/IPDLActor.h:43
[Child 90246] ###!!! ABORT: Aborting on channel error.: file /Users/yzenevich/Github/gecko/ipc/glue/MessageChannel.cpp, line 2053
#01: mozilla::layers::CompositableClient::DestroyIPDLActor(mozilla::layers::PCompositableChild*) (CompositableClient.cpp:83, in XUL)
#01: mozilla::ipc::ProcessLink::OnChannelError() (Monitor.h:36, in XUL)
#02: mozilla::layers::PLayerTransactionChild::DeallocSubtree() (PLayerTransactionChild.cpp:1143, in XUL)
#02: event_base_loop (event.c:1355, in XUL)
#03: mozilla::layers::PCompositorBridgeChild::DeallocSubtree() (PCompositorBridgeChild.cpp:1754, in XUL)
#03: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:364, in XUL)
#04: mozilla::layers::PCompositorBridgeChild::OnChannelError() (__hash_table:1529, in XUL)
#04: MessageLoop::Run() (message_loop.cc:493, in XUL)
#05: mozilla::ipc::MessageChannel::NotifyMaybeChannelError() (MessageChannel.cpp:2079, in XUL)
#05: base::Thread::ThreadMain() (thread.cc:183, in XUL)
#06: mozilla::detail::RunnableMethodImpl<void (mozilla::ipc::MessageChannel::*)(), false, true>::Run() (nsThreadUtils.h:729, in XUL)
#06: ThreadFunc(void*) (platform_thread_posix.cc:38, in XUL)
#07: nsThread::ProcessNextEvent(bool, bool*) (nsCOMPtr.h:403, in XUL)
#07: _pthread_body (in libsystem_pthread.dylib) + 131
#08: _pthread_body (in libsystem_pthread.dylib) + 0
#08: NS_ProcessPendingEvents(nsIThread*, unsigned int) (nsThreadUtils.cpp:232, in XUL)
[Child 90246] ###!!! ABORT: Aborting on channel error.: file /Users/yzenevich/Github/gecko/ipc/glue/MessageChannel.cpp, line 2053
Hit MOZ_CRASH() at /Users/yzenevich/Github/gecko/memory/mozalloc/mozalloc_abort.cpp:33
When accessing currentValue property of the interface getting this:

[Child 19243] ###!!! ABORT: Aborting on channel error.: file /Users/yzenevich/Github/gecko/ipc/glue/MessageChannel.cpp, line 2053
#01: mozilla::ipc::ProcessLink::OnChannelError() (Monitor.h:36, in XUL)
#02: event_base_loop (event.c:1355, in XUL)
#03: base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) (message_pump_libevent.cc:364, in XUL)
#04: MessageLoop::Run() (message_loop.cc:493, in XUL)
#05: base::Thread::ThreadMain() (thread.cc:183, in XUL)
#06: ThreadFunc(void*) (platform_thread_posix.cc:38, in XUL)
#07: _pthread_body (in libsystem_pthread.dylib) + 131
#08: _pthread_body (in libsystem_pthread.dylib) + 0
[Child 19243] ###!!! ABORT: Aborting on channel error.: file /Users/yzenevich/Github/gecko/ipc/glue/MessageChannel.cpp, line 2053
Hit MOZ_CRASH() at /Users/yzenevich/Github/gecko/memory/mozalloc/mozalloc_abort.cpp:33
Depends on: 1285643
No longer depends on: 1278004
This should be fixed now, browser_caching_value.js passes all tests in e10s mode.
Bug 1287123 has been checked in so this is fixed in central.
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.