-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
panic: failed to send message to system font service: Io(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }) (thread Canvas, at components/fonts/system_font_service.rs:516) #36849
Copy link
Copy link
Closed
Labels
C-untriagedNew issues that haven't been triaged yetNew issues that haven't been triaged yet
Description
Minimal testcase:
<!DOCTYPE html>
<script>
window.addEventListener("load", _ => {
let canvas = document.createElement("canvas");
var context = canvas.getContext("2d");
context.fillText(String.fromCodePoint(1012043, 175310), 0, 0);
});
</script>
System: Linux
Version: Servo 0.0.1-43edab336
Command: ./servo/servo --headless
failed to send message to system font service: Io(Os { code: 32, kind: BrokenPipe, message: "Broken pipe" }) (thread Canvas, at components/fonts/system_font_service.rs:516)
0: servoshell::backtrace::print
1: servoshell::panic_hook::panic_hook
2: std::panicking::rust_panic_with_hook
3: std::panicking::begin_panic_handler::{{closure}}
4: std::sys::backtrace::__rust_end_short_backtrace
5: rust_begin_unwind
6: core::panicking::panic_fmt
7: core::result::unwrap_failed
8: fonts::system_font_service::SystemFontServiceProxy::find_matching_font_templates
9: fonts::font::FontGroupFamily::members
10: fonts::font::FontGroupFamily::find
11: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
12: fonts::font::FontGroup::find_by_codepoint
13: canvas::canvas_data::CanvasData<B>::build_unshaped_text_runs
14: canvas::canvas_data::CanvasData<B>::fill_text_with_size
15: canvas::canvas_paint_thread::CanvasPaintThread::process_canvas_2d_message
16: std::sys::backtrace::__rust_begin_short_backtrace
17: core::ops::function::FnOnce::call_once{{vtable.shim}}
18: std::sys::pal::unix::thread::Thread::new::thread_start
The repro testcase is a bit flaky. Sometimes it does not produce any panic, sometimes (with the extra --enable-experimental-web-platform-features option?) it produces this panic message instead:
SystemFontService has already exited. (thread Canvas, at components/fonts/system_font_service.rs:528)
0: servoshell::backtrace::print
1: servoshell::panic_hook::panic_hook
2: std::panicking::rust_panic_with_hook
3: std::panicking::begin_panic_handler::{{closure}}
4: std::sys::backtrace::__rust_end_short_backtrace
5: rust_begin_unwind
6: core::panicking::panic_fmt
7: fonts::system_font_service::SystemFontServiceProxy::find_matching_font_templates
8: fonts::font::FontGroupFamily::members
9: fonts::font::FontGroupFamily::find
10: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
11: fonts::font::FontGroup::find_by_codepoint
12: canvas::canvas_data::CanvasData<B>::build_unshaped_text_runs
13: canvas::canvas_data::CanvasData<B>::fill_text_with_size
14: canvas::canvas_paint_thread::CanvasPaintThread::process_canvas_2d_message
15: std::sys::backtrace::__rust_begin_short_backtrace
16: core::ops::function::FnOnce::call_once{{vtable.shim}}
17: std::sys::pal::unix::thread::Thread::new::thread_start
18: start_thread
at ./nptl/pthread_create.c:447:8
19: clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78:0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
C-untriagedNew issues that haven't been triaged yetNew issues that haven't been triaged yet