Open Bug 1492066 Opened 6 years ago Updated 2 years ago

Assertion failure: false (MOZ_ASSERT_UNREACHABLE: We should be able to map a raw rule to a rule)

Categories

(Core :: CSS Parsing and Computation, defect, P4)

60 Branch
defect

Tracking

()

UNCONFIRMED

People

(Reporter: petr.sumbera, Unassigned)

References

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
Build ID: 20180830143136

Steps to reproduce:

This is Solaris sparc issue with Firefox 60.2.0esr:

console.error: "Error writing response to: getUniqueSelector"
console.error: (new Error("undefined passed where a value is required", "resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js", 113))
identityWrite@resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js:113:11
write@resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js:566:12
write/<@resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js:723:16
write@resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js:721:23
sendReturn@resource://devtools/shared/base-loader.js -> resource://devtools/shared/protocol.js:1116:24
process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:928:23
walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:812:7
scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:748:11
Assertion failure: false (MOZ_ASSERT_UNREACHABLE: We should be able to map a raw rule to a rule), at /scratch/userland-gate/components/desktop/firefox/firefox-60.2.0/layout/inspector/InspectorUtils.cpp:275
Hit MOZ_CRASH(Aborting on channel error.) at /scratch/userland-gate/components/desktop/firefox/firefox-60.2.0/ipc/glue/MessageChannel.cpp:2562
Hit MOZ_CRASH(Aborting on channel error.) at /scratch/userland-gate/components/desktop/firefox/firefox-60.2.0/ipc/glue/MessageChannel.cpp:2562

Stack is:

00000000f28b9581 libc.so.1`__lwp_sigqueue+8(b, f28b9ee0, 0, a, 0, ee12eb80)
00000000f28b9631 libxul.so`nsProfileLock::FatalSignalHandler+0x124(b, f28ba5e0, f28ba300, 8, 1, f28b9ee0)
00000000f28b96f1 libxul.so`WasmFaultHandler+0x5cc(b, f28ba5e0, f28ba300, 0, e4fd75e0, 0)
00000000f28b97f1 libc.so.1`__sighndlr+0xc(b, f28ba5e0, f28ba300, e65996f4, 0, ee126000)
00000000f28b98a1 libc.so.1`call_user_handler+0x354(0, f28ba5e0, 0, ee1d2a40, b, 0)
00000000f28b9991 libc.so.1`sigacthandler+0x54(b, f28ba5e0, f28ba300, 20, fefbafb8, ee126000)
00000000f28b9ee1 libxul.so`mozilla::dom::InspectorUtils::GetCSSStyleRules+0xb00(1, 0, cc70aaa0, f28ba9a0, 0, be4db608)
00000000f28ba061 libxul.so`mozilla::dom::InspectorUtilsBinding::getCSSStyleRules+0x128(1, 2, f28baf60, 8, 1, f28ba9a0)
00000000f28ba2b1 libxul.so`js::CallJSNative+0x80(d1e27000, e39253d0, f28baf10, 0, f28bab68, f28baf80)
00000000f28ba371 libxul.so`js::InternalCallOrConstruct+0x438(d1e27000, f28baf10, 0, d1e27000, f28baf1d, e39253d0)
00000000f28ba481 libxul.so`InternalCall+0x5c(d1e27000, f28baf10, d8, 0, f28bafd0, f28baf60)
00000000f28ba541 libxul.so`js::Call+0x28(d1e27000, f28bafb8, bed915e0, f28baf10, bed915d8, 2)
00000000f28ba5f1 libxul.so`js::ForwardingProxyHandler::callconst+0x198(1, d1e27000, f28bb270, f28bb278, d1eba100, 0)
00000000f28ba7c1 libxul.so`js::CrossCompartmentWrapper::callconst+0xec(e7668080, b775c000, f28bb270, f28bb278, d1e27000, 2)
00000000f28ba8a1 libxul.so`js::Proxy::call+0x8c(d1e27000, f28bb270, f28bb278, 9, fffaffffffffffff, e7668080)
00000000f28ba9b1 libxul.so`js::proxy_Call+0x7c(d1e27000, 2, bed915d8, 8, f26df801, 1)
00000000f28baa91 libxul.so`js::CallJSNative+0x80(d1e27000, e61e41dc, f28bb6a8, 0, f28bb348, bed915f8)
00000000f28bab51 libxul.so`js::InternalCallOrConstruct+0x304(d1e27000, f28bb6a8, 0, d1e27000, f28bb6b5, 3)
00000000f28bac61 libxul.so`InternalCall+0x5c(d1e27000, f28bb6a8, 37, 37, bed915f8, bed915d8)
00000000f28bad21 libxul.so`Interpret+0x6d88(d1e27000, f28bc650, d1e27040, fffaffffffffffff, d1e02180, d1e27020)
00000000f28bbcc1 libxul.so`js::RunScript+0x10c(d1e27000, f28bc650, f28bc9b0, 0, f28bc668, 1)
00000000f28bbd91 libxul.so`js::InternalCallOrConstruct+0x3e4(d1e27000, f28bc9b0, 0, d1e27000, f28bc9bd, 2)
00000000f28bbea1 libxul.so`InternalCall+0x5c(d1e27000, f28bc9b0, 2b4, 2, 0, f28bc9e0)
00000000f28bbf61 libxul.so`js::Call+0x28(d1e27000, f28bc8d8, f28bcc70, f28bc9b0, f28bc9a8, 1)
00000000f28bc011 libxul.so`js::CallSelfHostedFunction+0x8c(d1e27000, d1e29468, f28bcc70, f28bc9b0, f28bc9a8, 1)
00000000f28bc0e1 libxul.so`AsyncFunctionResume+0x1c4(d1e27000, f28bcb38, f28bcc70, d1e29468, e1668218, f28bc9e0)
00000000f28bc271 libxul.so`WrappedAsyncFunction+0xd90(0, 2, f28bd3c0, fffaffffffffffff, 8, 1)
00000000f28bc521 libxul.so`js::CallJSNative+0x80(d1e27000, e6203c60, f28bd370, 0, f28bcdd8, f28bd3e0)
00000000f28bc5e1 libxul.so`js::InternalCallOrConstruct+0x438(d1e27000, f28bd370, 0, d1e27000, f28bd37d, e6203c60)
00000000f28bc6f1 libxul.so`InternalCall+0x5c(d1e27000, f28bd370, 3d1, 0, f28bd370, f28bd3c0)
00000000f28bc7b1 libxul.so`js::Call+0x28(d1e27000, bed912c0, bed912c8, f28bd370, bed912b8, 1fff5)
00000000f28bc861 libxul.so`js::fun_apply+0x270(0, 2, bed912b8, 8, d1e27000, bed912c0)
00000000f28bcc21 libxul.so`js::CallJSNative+0x80(d1e27000, e63132a0, f28bd838, 0, f28bd4d8, bed912d8)
00000000f28bcce1 libxul.so`js::InternalCallOrConstruct+0x438(d1e27000, f28bd838, 0, d1e27000, f28bd845, e63132a0)
00000000f28bcdf1 libxul.so`InternalCall+0x5c(d1e27000, f28bd838, 37, 37, bed912d8, bed912b8)
00000000f28bceb1 libxul.so`Interpret+0x6d88(d1e27000, f28be7e0, d1e27040, fffaffffffffffff, d1e02180, d1e27020)
00000000f28bde51 libxul.so`js::RunScript+0x10c(d1e27000, f28be7e0, f28bea78, 0, f28be7f8, 1)
00000000f28bdf21 libxul.so`js::InternalCallOrConstruct+0x3e4(d1e27000, f28bea78, 0, d1e27000, f28bea85, 2)
00000000f28be031 libxul.so`InternalCall+0x5c(d1e27000, f28bea78, 37, 77, bed910b0, bed91098)
00000000f28be0f1 libxul.so`Interpret+0x6d88(d1e27000, f28bfa20, d1e27040, fffaffffffffffff, d1e02180, d1e27020)
00000000f28bf091 libxul.so`js::RunScript+0x10c(d1e27000, f28bfa20, f28bfd00, 0, f28bfa38, 1)
00000000f28bf161 libxul.so`js::InternalCallOrConstruct+0x3e4(d1e27000, f28bfd00, 0, d1e27000, f28bfd0d, 2)
00000000f28bf271 libxul.so`InternalCall+0x5c(d1e27000, f28bfd00, d8, 0, f28bffc0, f28bfd50)
00000000f28bf331 libxul.so`js::Call+0x28(d1e27000, f28bfda8, f28c04f0, f28bfd00, f28c04e8, 1)
00000000f28bf3e1 libxul.so`js::ForwardingProxyHandler::callconst+0x198(1, d1e27000, f28c0060, f28c0068, d1eba100, 0)
00000000f28bf5b1 libxul.so`js::CrossCompartmentWrapper::callconst+0xec(e7668080, b71ec000, f28c0060, f28c0068, d1e27000, 1)
00000000f28bf691 libxul.so`js::Proxy::call+0x8c(d1e27000, f28c0060, f28c0068, 9, fffaffffffffffff, e7668080)
00000000f28bf7a1 libxul.so`js::proxy_Call+0x7c(d1e27000, 1, f28c04e8, 8, f26df801, 1)
00000000f28bf881 libxul.so`js::CallJSNative+0x80(d1e27000, e61e41dc, f28c0498, 0, f28c0138, f28c0500)
00000000f28bf941 libxul.so`js::InternalCallOrConstruct+0x304(d1e27000, f28c0498, 0, d1e27000, f28c04a5, 2)
00000000f28bfa51 libxul.so`InternalCall+0x5c(d1e27000, f28c0498, 2cc, 0, f28c07b8, f28c04e8)
00000000f28bfb11 libxul.so`js::Call+0x28(d1e27000, f28c0778, f28c0490, f28c0498, f28c0790, 1)
00000000f28bfbc1 libxul.so`JS_CallFunctionValue+0xe8(1, f28c07c0, f28c0778, f28c0960, f28c0790, f28c0480)
00000000f28bfd41 libxul.so`nsFrameMessageManager::ReceiveMessage+0x968(bc6b5880, b90e4040, b902cc80, 0, cda9d120, 0)
00000000f28c01b1 libxul.so`nsFrameMessageManager::ReceiveMessage+0x34(bc6b5880, b90e4040, b902cc80, cda9d120, 0, cda9d130)
00000000f28c0281 libxul.so`nsSameProcessAsyncMessageBase::ReceiveMessage+0xb0(cda9d120, b90e4040, b902cc80, bc6b5880, f28c0b58, d1e27000)
00000000f28c0371 libxul.so`nsAsyncMessageToChild::Run+0x8c(cda9d100, 8, f28c0c28, d1e27000, b90e4040, b90e40d8)
00000000f28c0441 libxul.so`nsThread::ProcessNextEvent+0x344(deab2c10, 0, f28c0e6f, deab2c38, d3a51c00, deabd470)
00000000f28c05b1 libxul.so`NS_ProcessNextEvent+0x24(deab2c10, 0, 321, 0, 3, 0)
00000000f28c0671 libxul.so`mozilla::ipc::MessagePump::Run+0x330(dea9f780, edad69f0, 13e, dea9f7a0, deab2c10, 1)
00000000f28c0731 libxul.so`MessageLoop::RunInternal+0x60(edad69f0, edad69f0, ff000000, 1, 0, deab2c10)
00000000f28c0801 libxul.so`MessageLoop::Run+0x14(edad69f0, eda5223c, ee12eb80, ee1d2a40, ee1d2a40, f28c10b8)
00000000f28c08d1 libxul.so`nsBaseAppShell::Run+0x30(dea8b9e0, 78, 321, ee126000, 114, deab2c10)
00000000f28c0981 libxul.so`nsAppStartup::Run+0xc0(deaa20c0, 0, 321, 1, 2, 0)
00000000f28c0a31 libxul.so`XREMain::XRE_mainRun+0x1d04(f28c1750, eda5a320, f, f28c13c0, e5a85ec8, f28c1780)
00000000f28c0d81 libxul.so`XREMain::XRE_main+0x9f4(f28c1750, 1, e1dac704, 0, f28c17c8, 0)
00000000f28c0ea1 libxul.so`XRE_main+0x98(1, f28c1fb8, f28c1e40, f28c1988, 0, 3f)
00000000f28c10e1 libxul.so`mozilla::BootstrapImpl::XRE_main+0xc(eda466c0, 1, f28c1fb8, f28c1e40, eda14080, 0)
00000000f28c1191 do_main+0x1ec(1, f28c1fb8, f28c1fc8, 0, eeb44e38, 0)
00000000f28c1651 main+0xa0(1, f28c1fb8, f28c1fc8, c9b50ee6c3b43, ff, 2492c0)
00000000f28c1701 _start+0x64(0, 0, 0, 0, 0, 0)
Hi,

Could you give us a more detailed step by step description on how to reproduce this issue? 

I'm also assigning a component to get a start on this, if considered wrong, please feel free to change it to a more appropriate one.
Component: Untriaged → Layout
Flags: needinfo?(petr.sumbera)
Product: Firefox → Core
Unfortunately I have seen this just once. And I have no special instruction to reproduce it. Maybe when I will test it more I will see it again.
Flags: needinfo?(petr.sumbera)
Historical note: this unreachable assertion was originally added back in Bug 1359217 (as an upgrade of an older warning), FWIW:
 https://hg.mozilla.org/mozilla-central/rev/a06509631afb#l3.76
...and the logged string was later improved in bug 1475997:
 https://hg.mozilla.org/mozilla-central/rev/4e22c049d5aa

--> Adding dependencies on those bugs, and reclassifying to CSS.

If we can't figure out steps to reproduce, we may need to resolve this as "INCOMPLETE" since it's hard to make it actionable without being able to repro... (Perhaps emilio has ideas though, since he touched this logging most recently in bug 147599.)

Also: tentatively tagging this as P3 to take it out of triage backlog; emilio, please adjust if you think it's higher/lower priority.)
Component: Layout → CSS Parsing and Computation
Depends on: 1359217, 1475997
Priority: -- → P3
This is a debug-only assertion, and it happens when we failed to locate CSSOM object to match rule in Servo side. And in my experience, this should nowadays happen mostly with XUL/chrome stuff, which isn't all that common, so decrease to P4 for now.

ESR may have some more rough edges which I'm not sure. Maybe we should uplift the logging change to ESR so that when user reports it, we have more idea about what might be the reason. But if it's only on debug build, I don't really know how much it would be useful...
Priority: P3 → P4
See Also: → 1543180
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.