Skip to content

Crash after release build - Fedora 33 #28220

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
CKalt opened this issue Feb 27, 2021 · 5 comments
Closed

Crash after release build - Fedora 33 #28220

CKalt opened this issue Feb 27, 2021 · 5 comments
Labels
I-panic Servo encounters a panic. P-linux Any Linux OS capable of running Servo

Comments

@CKalt
Copy link

CKalt commented Feb 27, 2021

Hello,

I'm running Fedora 33 on a Dell Laptop and performed the steps in Quick Start to build and run in release mode. When I run, a window pops up and content is shown for a few seconds. Then the following stack dump appears and the window closes. Any ideas would be very much appreciated!

./mach build -d
./mach run -r -- https://github.com
attempted to leave type platform::platform::x11::util::input::PointerState uninitialized, which is invalid (thread main, at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/mem/mod.rs:663)
0: servo::backtrace::print
1: servo::main::{{closure}}
2: std::panicking::rust_panic_with_hook
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:595:17
3: std::panicking::begin_panic_handler::{{closure}}
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:495:13
4: std::sys_common::backtrace::__rust_end_short_backtrace
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys_common/backtrace.rs:141:18
5: rust_begin_unwind
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:493:5
6: core::panicking::panic_fmt
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:92:14
7: core::panicking::panic
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:50:5
8: winit::platform::platform::x11::util::input::::query_pointer
9: winit::platform::platform::x11::EventsLoop::process_event
10: servo::events_loop::EventsLoop::run_forever
11: servo::app::App::run
12: servo::main
13: std::sys_common::backtrace::__rust_begin_short_backtrace
14: std::rt::lang_start::{{closure}}
15: core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/ops/function.rs:259:13
std::panicking::try::do_call
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:379:40
std::panicking::try
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:343:19
std::panic::catch_unwind
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panic.rs:431:14
std::rt::lang_start_internal
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/rt.rs:51:25
16: main
17: __libc_start_main
18: _start
[2021-02-27T23:08:07Z ERROR servo] attempted to leave type platform::platform::x11::util::input::PointerState uninitialized, which is invalid
called Result::unwrap() on an Err value: RecvError (thread FontCacheThread, at components/servo/lib.rs:948)
0: servo::backtrace::print
1: servo::main::{{closure}}
2: std::panicking::rust_panic_with_hook
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:595:17
3: std::panicking::begin_panic_handler::{{closure}}
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:497:13
4: std::sys_common::backtrace::__rust_end_short_backtrace
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys_common/backtrace.rs:141:18
5: rust_begin_unwind
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:493:5
6: core::panicking::panic_fmt
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:92:14
7: core::option::expect_none_failed
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/option.rs:1300:5
8: <servo::FontCacheWR as gfx_traits::WebrenderApi>::add_font_instance
9: gfx::font_cache_thread::FontCache::run
10: std::sys_common::backtrace::__rust_begin_short_backtrace
11: core::ops::function::FnOnce::call_once{{vtable.shim}}
12: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
<alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
std::sys::unix::thread::Thread::new::thread_start
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys/unix/thread.rs:71:17
13: start_thread
14: __clone
[2021-02-27T23:08:08Z ERROR servo] called Result::unwrap() on an Err value: RecvError
Font cache thread has already exited. (thread LayoutThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at components/gfx/font_cache_thread.rs:517)
0: servo::backtrace::print
1: servo::main::{{closure}}
2: std::panicking::rust_panic_with_hook
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:595:17
3: std::panicking::begin_panic::{{closure}}
4: std::sys_common::backtrace::__rust_end_short_backtrace
5: std::panicking::begin_panic
6: <gfx::font_cache_thread::FontCacheThread as gfx::font_context::FontSource>::get_font_instance
7: gfx::font_context::FontContext::font
8: gfx::font::FontGroup::find_by_codepoint
9: layout::text::TextRunScanner::scan_for_runs
10: std::thread::local::LocalKey::with
11: layout::construct::FlowConstructor::build_flow_for_block_starting_with_fragments
12: layout::construct::FlowConstructor::build_flow_for_block_like
13: layout::construct::FlowConstructor::build_flow_for_block
14: <layout::construct::FlowConstructor as layout::traversal::PostorderNodeMutTraversal>::process
15: layout::traversal::construct_flows_at
16: style::traversal::DomTraversal::handle_postorder_traversal
17: style::driver::traverse_dom
18: profile_traits::time::profile
19: layout_thread::LayoutThread::handle_reflow
20: profile_traits::time::profile
21: layout_thread::LayoutThread::handle_request_helper
22: layout_thread::LayoutThread::start
23: profile_traits::mem::ProfilerChan::run_with_memory_reporting
24: std::sys_common::backtrace::__rust_begin_short_backtrace
25: core::ops::function::FnOnce::call_once{{vtable.shim}}
26: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
<alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
std::sys::unix::thread::Thread::new::thread_start
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys/unix/thread.rs:71:17
27: start_thread
28: __clone
[2021-02-27T23:08:08Z ERROR servo] Font cache thread has already exited.
error receiving image key result: Disconnected (thread Constellation, at components/net_traits/lib.rs:843)
0: servo::backtrace::print
1: servo::main::{{closure}}
2: std::panicking::rust_panic_with_hook
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:595:17
3: std::panicking::begin_panic_handler::{{closure}}
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:497:13
4: std::sys_common::backtrace::__rust_end_short_backtrace
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys_common/backtrace.rs:141:18
5: rust_begin_unwind
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:493:5
6: core::panicking::panic_fmt
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:92:14
7: core::option::expect_none_failed
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/option.rs:1300:5
8: net_traits::WebrenderIpcSender::generate_image_key
9: net::image_cache::set_webrender_image_key
10: <net::image_cache::ImageCacheImpl as net_traits::image_cache::ImageCache>::new
11: constellation::pipeline::UnprivilegedPipelineContent::start_all
12: constellation::pipeline::Pipeline::spawn
13: constellation::constellation::Constellation<Message,LTF,STF,SWF>::new_pipeline
14: constellation::constellation::Constellation<Message,LTF,STF,SWF>::handle_panic
15: constellation::constellation::Constellation<Message,LTF,STF,SWF>::handle_log_entry
16: constellation::constellation::Constellation<Message,LTF,STF,SWF>::handle_request_from_compositor
17: constellation::constellation::Constellation<Message,LTF,STF,SWF>::run
18: std::sys_common::backtrace::__rust_begin_short_backtrace
19: core::ops::function::FnOnce::call_once{{vtable.shim}}
20: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
<alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
std::sys::unix::thread::Thread::new::thread_start
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys/unix/thread.rs:71:17
21: start_thread
22: __clone
[2021-02-27T23:08:08Z ERROR servo] error receiving image key result: Disconnected
Layout thread disconnected: "SendError(..)" (thread ScriptThread PipelineId { namespace_id: PipelineNamespaceId(1), index: PipelineIndex(1) }, at components/script/dom/window.rs:1728)
0: servo::backtrace::print
1: servo::main::{{closure}}
2: std::panicking::rust_panic_with_hook
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:595:17
3: std::panicking::begin_panic_handler::{{closure}}
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:497:13
4: std::sys_common::backtrace::__rust_end_short_backtrace
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys_common/backtrace.rs:141:18
5: rust_begin_unwind
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:493:5
6: core::panicking::panic_fmt
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:92:14
7: core::option::expect_none_failed
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/option.rs:1300:5
8: script::dom::window::Window::force_reflow
9: script::dom::window::Window::reflow
10: script::dom::document::Document::finish_load
11: script::dom::servoparser::ServoParser::do_parse_sync
12: profile_traits::time::profile
13: script::dom::servoparser::ServoParser::parse_sync
14: <script::dom::servoparser::ParserContext as net_traits::FetchResponseListener>::process_response_eof
15: script::script_thread::ScriptThread::handle_msg_from_constellation
16: script::script_thread::ScriptThread::handle_msgs
17: profile_traits::mem::ProfilerChan::run_with_memory_reporting
18: std::sys_common::backtrace::__rust_begin_short_backtrace
19: core::ops::function::FnOnce::call_once{{vtable.shim}}
20: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
<alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
std::sys::unix::thread::Thread::new::thread_start
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys/unix/thread.rs:71:17
21: start_thread
22: __clone
[2021-02-27T23:08:08Z ERROR servo] Layout thread disconnected: "SendError(..)"
called Result::unwrap() on an Err value: Disconnected (thread StorageManager, at components/net/storage_thread.rs:60)
0: servo::backtrace::print
1: servo::main::{{closure}}
2: std::panicking::rust_panic_with_hook
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:595:17
3: std::panicking::begin_panic_handler::{{closure}}
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:497:13
4: std::sys_common::backtrace::__rust_end_short_backtrace
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys_common/backtrace.rs:141:18
5: rust_begin_unwind
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:493:5
6: core::panicking::panic_fmt
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:92:14
7: core::option::expect_none_failed
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/option.rs:1300:5
8: net::storage_thread::StorageManager::start
9: std::sys_common::backtrace::__rust_begin_short_backtrace
10: core::ops::function::FnOnce::call_once{{vtable.shim}}
11: <alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
<alloc::boxed::Box<F,A> as core::ops::function::FnOnce>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/alloc/src/boxed.rs:1546:9
std::sys::unix::thread::Thread::new::thread_start
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys/unix/thread.rs:71:17
12: start_thread
13: __clone
[2021-02-27T23:08:08Z ERROR servo] called Result::unwrap() on an Err value: Disconnected
Servo exited with return value 101

@CKalt
Copy link
Author

CKalt commented Feb 27, 2021

I switched from X11 to Wayland in case that was the root cause.
It still crashes but get a different stack trace and no Window this time. See below:

./mach run -r -- https://github.com
[wayland-client error] Attempted to dispatch unknown opcode 0 for wl_shm, aborting.
Redirecting call to abort() to mozalloc_abort

Stack trace for thread "main"
0: servo::backtrace::print
1: servo::crash_handler::install::handler
2:
3: _ZL22AnnotateMozCrashReasonPKc
at /home/chris/projects/rust/servo/servo/target/release/build/mozjs_sys-43764bdc27ca0530/out/build/dist/include/mozilla/Assertions.h:42:19
mozalloc_abort
at /home/chris/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/c6c7b53/mozjs/memory/mozalloc/mozalloc_abort.cpp:33:3
4: abort
at /home/chris/.cargo/git/checkouts/mozjs-fa11ffc7d4f1cc2d/c6c7b53/mozjs/memory/mozalloc/mozalloc_abort.cpp:86:3
5: wayland_client::imp::proxy::proxy_dispatcher
6:
7: wl_display_dispatch_queue_pending
8: wl_display_roundtrip_queue
9: wayland_client::event_queue::EventQueue::sync_roundtrip
10: winit::platform::platform::wayland::event_loop::EventsLoop::new
11: winit::platform::platform::EventsLoop::new
12: winit::EventsLoop::new
13: servo::events_loop::EventsLoop::new
14: servo::app::App::run
15: servo::main
16: std::sys_common::backtrace::__rust_begin_short_backtrace
17: std::rt::lang_start::{{closure}}
18: core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/ops/function.rs:259:13
std::panicking::try::do_call
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:379:40
std::panicking::try
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:343:19
std::panic::catch_unwind
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panic.rs:431:14
std::rt::lang_start_internal
at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/rt.rs:51:25
19: main
20: __libc_start_main
21: _start
Servo exited with return value 11

@jdm jdm added I-panic Servo encounters a panic. P-linux Any Linux OS capable of running Servo labels Feb 28, 2021
@pecastro
Copy link
Contributor

This is not F33 specific but rather Servo.
I'm running F32 and I do see it in master (8c2ea9f).
It was not happening in 17a6c16.
Furthermore it only happens once you hover the mouse on the window. Smoke test runs fine.

[pecastro@30c0e34ac170 servo]$ RUST_BACKTRACE=full target/debug/servo https://www.google.com
attempted to leave type `platform::platform::x11::util::input::PointerState` uninitialized, which is invalid (thread main, at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/mem/mod.rs:663)
   0: servo::backtrace::print
             at /servo/ports/winit/backtrace.rs:17:5
   1: servo::main::{{closure}}
             at /servo/ports/winit/main2.rs:134:21
   2: std::panicking::rust_panic_with_hook
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:595:17
   3: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:495:13
   4: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys_common/backtrace.rs:141:18
   5: rust_begin_unwind
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:493:5
   6: core::panicking::panic_fmt
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:92:14
   7: core::panicking::panic
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/panicking.rs:50:5
   8: core::mem::uninitialized
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/mem/mod.rs:663:9
      winit::platform::platform::x11::util::input::<impl winit::platform::platform::x11::xdisplay::XConnection>::query_pointer
             at /home/pecastro/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.3/src/platform/linux/x11/util/input.rs:94:51
   9: winit::platform::platform::x11::EventsLoop::process_event
             at /home/pecastro/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.3/src/platform/linux/x11/mod.rs:956:45
  10: winit::platform::platform::x11::EventsLoop::poll_events
             at /home/pecastro/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.3/src/platform/linux/x11/mod.rs:270:13
  11: winit::platform::platform::EventsLoop::poll_events
             at /home/pecastro/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.3/src/platform/linux/mod.rs:514:44
  12: winit::EventsLoop::poll_events
             at /home/pecastro/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.19.3/src/lib.rs:276:9
  13: servo::events_loop::EventsLoop::poll_events
             at /servo/ports/winit/events_loop.rs:72:60
  14: servo::app::App::run_loop
             at /servo/ports/winit/app.rs:165:13
  15: servo::app::App::run
             at /servo/ports/winit/app.rs:93:9
  16: servo::main
             at /servo/ports/winit/main2.rs:162:5
  17: core::ops::function::FnOnce::call_once
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/ops/function.rs:227:5
  18: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/sys_common/backtrace.rs:125:18
  19: std::rt::lang_start::{{closure}}
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/rt.rs:66:18
  20: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/core/src/ops/function.rs:259:13
      std::panicking::try::do_call
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:379:40
      std::panicking::try
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panicking.rs:343:19
      std::panic::catch_unwind
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/panic.rs:431:14
      std::rt::lang_start_internal
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/rt.rs:51:25
  21: std::rt::lang_start
             at /rustc/a8486b64b0c87dabd045453b6c81500015d122d6/library/std/src/rt.rs:65:5
  22: main
  23: __libc_start_main
  24: _start
[2021-02-28T18:30:49Z ERROR servo] attempted to leave type `platform::platform::x11::util::input::PointerState` uninitialized, which is invalid

@jdm
Copy link
Member

jdm commented Feb 28, 2021

My suspicion is this might go away with a winit update. That work was going on in #26394 but it's not easy.

@pecastro
Copy link
Contributor

It will go away with that or with reverting the toolchain update aa854ec ...

rust-windowing/winit#1773

@jdm
Copy link
Member

jdm commented Mar 15, 2021

This should now be fixed.

@jdm jdm closed this as completed Mar 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-panic Servo encounters a panic. P-linux Any Linux OS capable of running Servo
Projects
None yet
Development

No branches or pull requests

3 participants