Open Bug 1530875 Opened 5 years ago Updated 2 years ago

MOZ_ASSERT(hooked) failure in TIPMessageHandler::TIPMessageHandler() on Windows on ARM64

Categories

(Core :: Widget: Win32, defect, P3)

defect

Tracking

()

People

(Reporter: cpearce, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: inputmethod, regression)

I updated mozilla-central, first time in about a week or so, and my Windows on ARM64 build fails in this assertion:

https://searchfox.org/mozilla-central/rev/dbddac86aadf1d4871fb350bbe66db43728a9f81/widget/windows/nsWindow.cpp#456

Stack trace:

 # Child-SP          RetAddr           Call Site
00 00000004`15b7d640 00007ff8`f0b20ef4 xul!mozilla::TIPMessageHandler::TIPMessageHandler+0x3bc [c:\Users\chris\src\firefox\widget\windows\nsWindow.cpp @ 456] 
01 00000004`15b7d7c0 00007ff8`f0b33ed8 xul!nsWindow::nsWindow+0x4a4 [c:\Users\chris\src\firefox\widget\windows\nsWindow.cpp @ 637] 
02 00000004`15b7d940 00007ff8`f1d3e0fc xul!nsIWidget::CreateTopLevelWindow+0x38 [c:\Users\chris\src\firefox\widget\windows\nsWindow.cpp @ 8115] 
03 00000004`15b7d980 00007ff8`f1d3b778 xul!nsWebShellWindow::Initialize+0x1a8 [c:\Users\chris\src\firefox\xpfe\appshell\nsWebShellWindow.cpp @ 0] 
04 00000004`15b7db60 00007ff8`f1d3c000 xul!nsAppShellService::JustCreateTopWindow+0x6bc [c:\Users\chris\src\firefox\xpfe\appshell\nsAppShellService.cpp @ 667] 
05 00000004`15b7dc60 00007ff8`f20dbe4c xul!nsAppShellService::CreateTopLevelWindow+0x84 [c:\Users\chris\src\firefox\xpfe\appshell\nsAppShellService.cpp @ 187] 
06 00000004`15b7dce0 00007ff8`f219a11c xul!nsAppStartup::CreateChromeWindow2+0x258 [c:\Users\chris\src\firefox\toolkit\components\startup\nsAppStartup.cpp @ 637] 
07 00000004`15b7dd70 00007ff8`f219953c xul!nsWindowWatcher::CreateChromeWindow+0x100 [c:\Users\chris\src\firefox\toolkit\components\windowwatcher\nsWindowWatcher.cpp @ 411] 
08 00000004`15b7ddf0 00007ff8`f2196a5c xul!nsWindowWatcher::OpenWindowInternal+0x283c [c:\Users\chris\src\firefox\toolkit\components\windowwatcher\nsWindowWatcher.cpp @ 866] 
09 00000004`15b7e120 00007ff8`ecffe020 xul!nsWindowWatcher::OpenWindow+0x100 [c:\Users\chris\src\firefox\toolkit\components\windowwatcher\nsWindowWatcher.cpp @ 296] 
0a 00000004`15b7e1b0 00007ff8`edd67764 xul!XPTC__InvokebyIndex+0x60
0b 00000004`15b7e200 00007ff8`edd674d4 xul!CallMethodHelper::Call+0x1c0 [c:\Users\chris\src\firefox\js\xpconnect\src\XPCWrappedNative.cpp @ 1188] 
0c 00000004`15b7e230 00007ff8`edd68ef0 xul!XPCWrappedNative::CallMethod+0x74 [c:\Users\chris\src\firefox\js\xpconnect\src\XPCWrappedNative.cpp @ 1153] 
0d 00000004`15b7e3a0 00007ff8`f2301228 xul!XPC_WN_CallMethod+0x344 [c:\Users\chris\src\firefox\js\xpconnect\src\XPCWrappedNativeJSOps.cpp @ 947] 
0e 00000004`15b7e4f0 00007ff8`f2300a80 xul!CallJSNative+0x10c [c:\Users\chris\src\firefox\js\src\vm\Interpreter.cpp @ 440] 
0f 00000004`15b7e540 00007ff8`f2301d0c xul!js::InternalCallOrConstruct+0x37c [c:\Users\chris\src\firefox\js\src\vm\Interpreter.cpp @ 532] 
10 00000004`15b7e5d0 00007ff8`f22fb644 xul!InternalCall+0x104 [c:\Users\chris\src\firefox\js\src\vm\Interpreter.cpp @ 587] 
11 00000004`15b7e610 00007ff8`f22f34c4 xul!Interpret+0x7b7c [c:\Users\chris\src\firefox\js\src\vm\Interpreter.cpp @ 3051] 
12 00000004`15b7eb00 00007ff8`f23035e0 xul!js::RunScript+0x18c [c:\Users\chris\src\firefox\js\src\vm\Interpreter.cpp @ 420] 
13 00000004`15b7eb50 00007ff8`f235fd28 xul!js::ExecuteKernel+0x43c [c:\Users\chris\src\firefox\js\src\vm\Interpreter.cpp @ 783] 
14 00000004`15b7ec50 00007ff8`f23603c4 xul!ExecuteInExtensibleLexicalEnvironment+0x210 [c:\Users\chris\src\firefox\js\src\builtin\Eval.cpp @ 466] 
15 00000004`15b7ecc0 00007ff8`f2360194 xul!js::ExecuteInJSMEnvironment+0x1a8 [c:\Users\chris\src\firefox\js\src\builtin\Eval.cpp @ 573] 
16 00000004`15b7ed10 00007ff8`edce6770 xul!js::ExecuteInJSMEnvironment+0x9c [c:\Users\chris\src\firefox\js\src\builtin\Eval.cpp @ 527] 
17 00000004`15b7ee40 00007ff8`edceaa20 xul!mozJSComponentLoader::ObjectForLocation+0x574 [c:\Users\chris\src\firefox\js\xpconnect\loader\mozJSComponentLoader.cpp @ 925] 
18 00000004`15b7f130 00007ff8`ecf9ec50 xul!mozJSComponentLoader::Import+0xa2c [c:\Users\chris\src\firefox\js\xpconnect\loader\mozJSComponentLoader.cpp @ 1334] 
19 00000004`15b7f2d0 00007ff8`ecf9bf94 xul!mozilla::xpcom::ConstructJSMComponent+0xc0 [c:\Users\chris\src\firefox\obj-aarch64-dbg\xpcom\components\StaticComponents.cpp @ 1583] 
1a 00000004`15b7f3f0 00007ff8`ecfb1a48 xul!mozilla::xpcom::CreateInstanceImpl+0x75b8 [c:\Users\chris\src\firefox\obj-aarch64-dbg\xpcom\components\StaticComponents.cpp @ 0] 
1b 00000004`15b7f460 00007ff8`ecfad73c xul!nsComponentManagerImpl::GetServiceLocked+0x3c8 [c:\Users\chris\src\firefox\xpcom\components\nsComponentManager.cpp @ 1398] 
1c 00000004`15b7f4f0 00007ff8`ecfb57dc xul!nsComponentManagerImpl::GetServiceByContractID+0x134 [c:\Users\chris\src\firefox\xpcom\components\nsComponentManager.cpp @ 1586] 
1d 00000004`15b7f570 00007ff8`ecefbf64 xul!nsGetServiceByContractIDWithError::operator()+0x30 [c:\Users\chris\src\firefox\xpcom\components\nsComponentManagerUtils.cpp @ 254] 
1e 00000004`15b7f590 00007ff8`f21e61c4 xul!nsCOMPtr_base::assign_from_gs_contractid_with_error+0x30 [c:\Users\chris\src\firefox\xpcom\base\nsCOMPtr.cpp @ 91] 
1f 00000004`15b7f5c0 00007ff8`f21dbeb8 xul!nsAppStartupNotifier::NotifyObservers+0x364 [c:\Users\chris\src\firefox\toolkit\xre\nsAppStartupNotifier.cpp @ 53] 
20 00000004`15b7f760 00007ff8`f21dd4ec xul!XREMain::XRE_mainRun+0x66c [c:\Users\chris\src\firefox\toolkit\xre\nsAppRunner.cpp @ 4543] 
21 00000004`15b7f950 00007ff8`f21de41c xul!XREMain::XRE_main+0x3e0 [c:\Users\chris\src\firefox\toolkit\xre\nsAppRunner.cpp @ 4860] 
22 00000004`15b7fa00 00007ff7`361b16fc xul!XRE_main+0xa4 [c:\Users\chris\src\firefox\toolkit\xre\nsAppRunner.cpp @ 4944] 
23 00000004`15b7fbb0 00007ff7`361b1250 firefox!NS_internal_main+0x3e8 [c:\Users\chris\src\firefox\browser\app\nsBrowserApp.cpp @ 293] 
24 00000004`15b7fd30 00007ff7`3621217c firefox!wmain+0x250 [c:\Users\chris\src\firefox\toolkit\xre\nsWindowsWMain.cpp @ 134] 
25 00000004`15b7fdb0 00007ff7`36212220 firefox!__scrt_common_main_seh+0x124 [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288] 
26 00000004`15b7fdf0 00007ff9`2ee85ba4 firefox!wmainCRTStartup+0x10 [d:\agent\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_wmain.cpp @ 16] 
27 00000004`15b7fe00 00007ff9`2f1624a4 KERNEL32!BaseThreadInitThunk+0x34
28 00000004`15b7fe40 00000000`00000000 ntdll!RtlUserThreadStart+0x44

This is a regression from the past couple of weeks, as my build which I think was based on b9187fa10f13 from Feb 11 doesn't fail this assertion.

My build is a debug+optimize build.

Aaron: any ideas here?

Flags: needinfo?(aklotz)

AFAIK this assertion has failed since the beginning of arm64 builds, because we have no interceptor (bug 1513293).

So I guess the thing that made this start failing for me was a11y must have been enabled for aarch64 over the past couple of weeks?

Yeah a11y was bug 1516214. It's possible that bug 1526383 may have played a role too.

In bug 1526383, I enabled basic interceptor support that covers us for ARM64 milestones 2 and 3.

This particular hook is not yet supported by the ARM64 interceptor, and is slated for M4.

Flags: needinfo?(aklotz)

Some background on this: a11y itself wasn't expected to be working until M4, so interceptor work for a11y was also slated for M4. Then Jamie suddenly got a11y working, and a11y was then enabled ahead of the a11y interceptor work.

OK, disabling a11y via ac_add_options --disable-accessibility is working around this for me.

disable-a11y is a pretty big hammer for this. Feel free to just zap the assert locally. If you care very strongly, maybe you can convince someone to land an ifdef on the assert.

Keywords: inputmethod
Priority: -- → P3

Moving all open keyboard/IME handling bugs to DOM: UI Events & Focus Handling component.

Component: Widget: Win32 → DOM: UI Events & Focus Handling

Looks like that this is an a11y issue. Moving back to Widget: Win32. Sorry for the spam.

Component: DOM: UI Events & Focus Handling → Widget: Win32

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.