-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Fail to get font handle in canvas fill_text #27476
Copy link
Copy link
Closed
Labels
A-content/canvas2d canvas API2d canvas APIC-needs minimized testcaseI-panicServo encounters a panic.Servo encounters a panic.
Description
While trying to access this page from a Taiwanese magazine publisher for showing some data with D3, I can't see the page rendered correctly and will see following panic message.
Open to see full backtrace
→ ./mach run https://web.cw.com.tw/corporate-political-money-2020/index.html
[2020-08-01T10:32:52Z ERROR canvas::canvas_data] error getting font handle for style Font { font_family: FontFamily { families: FontFamilyList([FamilyName(FamilyName { name: Atom('Noto Sans TC' type=dynamic), syntax: Quoted })]), is_system_font: false }, font_style: Normal, font_variant_caps: Normal, font_weight: FontWeight(400.0), font_size: FontSize { size: NonNegative(20.0 px), keyword_info: KeywordInfo { kw: None, factor: 1.0, offset: 0.0 px } }, font_stretch: FontStretch(NonNegative(Percentage(1.0))), hash: 930802703126591095 }: no font found
called `Option::unwrap()` on a `None` value (thread CanvasThread, at /Users/cybai/.cargo/git/checkouts/raqote-9e18d1f68843f9af/ff5d2d1/src/draw_target.rs:755)
0: backtrace::backtrace::libunwind::trace
at /Users/cybai/.cargo/git/checkouts/backtrace-rs-fb8cc3ab7e3059b0/5366f72/src/backtrace/libunwind.rs:96
backtrace::backtrace::trace_unsynchronized
at /Users/cybai/.cargo/git/checkouts/backtrace-rs-fb8cc3ab7e3059b0/5366f72/src/backtrace/mod.rs:66
1: <servo::backtrace::Print as core::fmt::Debug>::fmt
at /Volumes/Transcend/codespace/mozilla/servo/ports/winit/backtrace.rs:49
2: core::fmt::write
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libcore/fmt/mod.rs:1117
3: std::io::Write::write_fmt
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/io/mod.rs:1508
4: servo::backtrace::print
at /Volumes/Transcend/codespace/mozilla/servo/ports/winit/backtrace.rs:17
5: servo::main::{{closure}}
at /Volumes/Transcend/codespace/mozilla/servo/ports/winit/main2.rs:166
6: std::panicking::rust_panic_with_hook
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/panicking.rs:530
7: rust_begin_unwind
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/panicking.rs:437
8: core::panicking::panic_fmt
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libcore/panicking.rs:85
9: core::panicking::panic
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libcore/panicking.rs:50
10: core::option::Option<T>::unwrap
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libcore/macros/mod.rs:10
11: raqote::draw_target::DrawTarget::draw_text
at /Users/cybai/.cargo/git/checkouts/raqote-9e18d1f68843f9af/ff5d2d1/src/draw_target.rs:755
12: canvas::raqote_backend::<impl canvas::canvas_data::GenericDrawTarget for raqote::draw_target::DrawTarget>::fill_text
at /Volumes/Transcend/codespace/mozilla/servo/components/canvas/raqote_backend.rs:530
13: canvas::canvas_data::CanvasData::fill_text
at /Volumes/Transcend/codespace/mozilla/servo/components/canvas/canvas_data.rs:570
14: canvas::canvas_paint_thread::CanvasPaintThread::process_canvas_2d_message
at /Volumes/Transcend/codespace/mozilla/servo/components/canvas/canvas_paint_thread.rs:148
15: canvas::canvas_paint_thread::CanvasPaintThread::start::{{closure}}
at /Volumes/Transcend/codespace/mozilla/servo/components/canvas/canvas_paint_thread.rs:73
16: std::sys_common::backtrace::__rust_begin_short_backtrace
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/sys_common/backtrace.rs:130
17: std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/thread/mod.rs:475
18: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/panic.rs:318
19: std::panicking::try::do_call
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/panicking.rs:348
20: ___rust_try
21: std::panicking::try
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/panicking.rs:325
22: std::panic::catch_unwind
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/panic.rs:394
23: std::thread::Builder::spawn_unchecked::{{closure}}
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/thread/mod.rs:474
24: core::ops::function::FnOnce::call_once{{vtable.shim}}
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libcore/ops/function.rs:233
25: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/liballoc/boxed.rs:1074
<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/liballoc/boxed.rs:1074
std::sys::unix::thread::Thread::new::thread_start
at /rustc/6c8927b0cf80ceee19386026cf9d7fd4fd9d486f/src/libstd/sys/unix/thread.rs:87
26: __pthread_body
27: __pthread_start
[2020-08-01T10:34:15Z ERROR servo] called `Option::unwrap()` on a `None` value
| Firefox | Servo |
|---|---|
![]() |
![]() |
Built with latest main branch (6499367) on macOS 10.14.6
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-content/canvas2d canvas API2d canvas APIC-needs minimized testcaseI-panicServo encounters a panic.Servo encounters a panic.

