Closed Bug 1543398 Opened 5 months ago Closed 5 months ago

Hit MOZ_CRASH(not a valid font descriptor) at servo/ports/geckolib/glue.rs:2860

Categories

(Core :: CSS Parsing and Computation, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox-esr60 --- unaffected
firefox66 --- wontfix
firefox67 --- wontfix
firefox68 --- fixed

People

(Reporter: jkratzer, Assigned: emilio)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file testcase.html

Testcase found while fuzzing mozilla-central rev a1eb490ba448.

Hit MOZ_CRASH(not a valid font descriptor) at servo/ports/geckolib/glue.rs:2860

rax = 0x0000558991c00e20 rdx = 0x0000000000000000
rcx = 0x0000000000000b40 rbx = 0x00007ffde4bd674a
rsi = 0x00007f89386e08b0 rdi = 0x00007f89386df680
rbp = 0x00007ffde4bd6730 rsp = 0x00007ffde4bd6720
r8 = 0x00007f89386e08b0 r9 = 0x00007f893983d740
r10 = 0x0000000000000000 r11 = 0x0000000000000000
r12 = 0x0000000000000b2c r13 = 0x000000000000001c
r14 = 0x00007f892dd3fe0c r15 = 0x000000000000001b
rip = 0x00007f892aca66bc
OS|Linux|0.0.0 Linux 4.18.0-17-generic #18~18.04.1-Ubuntu SMP Fri Mar 15 15:27:12 UTC 2019 x86_64
CPU|amd64|family 6 model 94 stepping 3|1
GPU|||
Crash|SIGSEGV /SEGV_MAPERR|0x0|0
0|0|libxul.so|GeckoCrash|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsAppRunner.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|5093|0xf
0|1|libxul.so|gkrust_shared::panic_hook|hg:hg.mozilla.org/mozilla-central:toolkit/library/rust/shared/lib.rs:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|240|0x9
0|2|libxul.so|core::ops::function::Fn::call|git:github.com/rust-lang/rust:src/libcore/ops/function.rs:2aa4c46cfdd726e97360c2734835aa3515e8c858|69|0x9
0|3|libxul.so|std::panicking::rust_panic_with_hook|git:github.com/rust-lang/rust:src/libstd/panicking.rs:2aa4c46cfdd726e97360c2734835aa3515e8c858|482|0x6
0|4|libxul.so|std::panicking::begin_panic|git:github.com/rust-lang/rust:src/libstd/panicking.rs:2aa4c46cfdd726e97360c2734835aa3515e8c858|412|0x1e
0|5|libxul.so|Servo_FontFaceRule_GetDescriptorCssText|hg:hg.mozilla.org/mozilla-central:servo/ports/geckolib/glue.rs:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|2837|0x43
0|6|libxul.so|mozilla::dom::CSSFontFaceRuleDecl::GetPropertyValue(nsTSubstring<char16_t> const&, nsTSubstring<char16_t>&)|hg:hg.mozilla.org/mozilla-central:layout/style/CSSFontFaceRule.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|59|0x16
0|7|libxul.so|mozilla::dom::CSSStyleDeclaration_Binding::getPropertyValue|s3:gecko-generated-sources:226e7fe0f0d796945221da0f59d63425b636cce1c5c857e7f25661717dcb402d3a63de404a7be888f54511a16ebeea6204eced7098b606b74370cc8ca312262c/dom/bindings/CSSStyleDeclarationBinding.cpp:|290|0x18
0|8|libxul.so|bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*)|hg:hg.mozilla.org/mozilla-central:dom/bindings/BindingUtils.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|3150|0x24
0|9|libxul.so|CallJSNative(JSContext*, bool ()(JSContext, unsigned int, JS::Value*), JS::CallArgs const&)|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|442|0x13
0|10|libxul.so|js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|534|0x12
0|11|libxul.so|InternalCall|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|589|0xd
0|12|libxul.so|Interpret|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|593|0xf
0|13|libxul.so|js::RunScript(JSContext*, js::RunState&)|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|422|0xb
0|14|libxul.so|js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct)|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|562|0xf
0|15|libxul.so|InternalCall|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|589|0xd
0|16|libxul.so|js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>)|hg:hg.mozilla.org/mozilla-central:js/src/vm/Interpreter.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|605|0x5
0|17|libxul.so|JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>)|hg:hg.mozilla.org/mozilla-central:js/src/jsapi.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|2621|0x1c
0|18|libxul.so|mozilla::dom::EventListener::HandleEvent(JSContext*, JS::Handle<JS::Value>, mozilla::dom::Event&, mozilla::ErrorResult&)|s3:gecko-generated-sources:e009e0a620f59be9f7222e1a55363534d06e5c1dbc04f6806a7e22fdd1b3605bc718f84fa3d329b26bd6e80e748ec27e8716e82c4ac608b3311299526e72dde5/dom/bindings/EventListenerBinding.cpp:|52|0x5
0|19|libxul.so|void mozilla::dom::EventListener::HandleEvent<mozilla::dom::EventTarget*>(mozilla::dom::EventTarget* const&, mozilla::dom::Event&, mozilla::ErrorResult&, char const*, mozilla::dom::CallbackObject::ExceptionHandling, JS::Realm*)|s3:gecko-generated-sources:f3d9c01258576daaac3afc4fb3b283652e7f1168abb5287eff6775451ebd0ab6a0e4c8d88d3a67f7147042501bc091c6dfed25b4b8ccf4e4f420897b8d0ba906/dist/include/mozilla/dom/EventListenerBinding.h:|66|0x1c
0|20|libxul.so|mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*)|hg:hg.mozilla.org/mozilla-central:dom/events/EventListenerManager.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|1040|0x1e
0|21|libxul.so|mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool)|hg:hg.mozilla.org/mozilla-central:dom/events/EventListenerManager.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|1240|0x19
0|22|libxul.so|mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&)|hg:hg.mozilla.org/mozilla-central:dom/events/EventDispatcher.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|351|0x6
0|23|libxul.so|mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&)|hg:hg.mozilla.org/mozilla-central:dom/events/EventDispatcher.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|551|0x12
0|24|libxul.so|mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>)|hg:hg.mozilla.org/mozilla-central:dom/events/EventDispatcher.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|1047|0x1a
0|25|libxul.so|mozilla::EventDispatcher::DispatchDOMEvent(nsISupports
, mozilla::WidgetEvent*, mozilla::dom::Event*, nsPresContext*, nsEventStatus*)|hg:hg.mozilla.org/mozilla-central:dom/events/EventDispatcher.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|1147|0x19
0|26|libxul.so|nsINode::DispatchEvent(mozilla::dom::Event&, mozilla::dom::CallerType, mozilla::ErrorResult&)|hg:hg.mozilla.org/mozilla-central:dom/base/nsINode.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|1026|0x5
0|27|libxul.so|nsContentUtils::DispatchEvent(mozilla::dom::Document*, nsISupports*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, mozilla::Trusted, bool*, mozilla::ChromeOnlyDispatch)|hg:hg.mozilla.org/mozilla-central:dom/base/nsContentUtils.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|4062|0x30
0|28|libxul.so|nsContentUtils::DispatchTrustedEvent(mozilla::dom::Document*, nsISupports*, nsTSubstring<char16_t> const&, mozilla::CanBubble, mozilla::Cancelable, mozilla::Composed, bool*)|hg:hg.mozilla.org/mozilla-central:dom/base/nsContentUtils.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|4033|0x19
0|29|libxul.so|mozilla::dom::Document::DispatchContentLoadedEvents()|hg:hg.mozilla.org/mozilla-central:dom/base/Document.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|4785|0x40
0|30|libxul.so|mozilla::detail::RunnableMethodImpl<mozilla::dom::Document*, void (mozilla::dom::Document::)(), true, (mozilla::RunnableKind)0>::Run()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.h:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|1174|0x13
0|31|libxul.so|mozilla::SchedulerGroup::Runnable::Run()|hg:hg.mozilla.org/mozilla-central:xpcom/threads/SchedulerGroup.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|295|0x15
0|32|libxul.so|nsThread::ProcessNextEvent(bool, bool
)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|1180|0x15
0|33|libxul.so|NS_ProcessNextEvent(nsIThread*, bool)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|486|0x11
0|34|libxul.so|mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|88|0xa
0|35|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|315|0x17
0|36|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|290|0x8
0|37|libxul.so|nsBaseAppShell::Run()|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|137|0xd
0|38|libxul.so|XRE_RunAppShell()|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|919|0x11
0|39|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|238|0x5
0|40|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|315|0x17
0|41|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|290|0x8
0|42|libxul.so|XRE_InitChildProcess(int, char**, XREChildData const*)|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|757|0xc
0|43|firefox-bin|content_process_main(mozilla::Bootstrap*, int, char**)|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|56|0x14
0|44|firefox-bin|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:a1eb490ba4480b756fcc4f92f8dbc753c66d7900|263|0x11
0|45|libc-2.27.so|__libc_start_main|||0xe7
0|46|firefox-bin|_start|||0x29

Flags: in-testsuite?
Assignee: nobody → emilio
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/11fb8048959d
Don't pass unknown descriptors to Servo. r=heycam
Status: NEW → RESOLVED
Closed: 5 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.