servo/servo

EGLBackedSurface::new_window assertion fails

Opened this issue · 2 comments

Describe the bug:
when running servo after compiling if fails with assertion `left != right` failed
To Reproduce:
running servo

Platform:
Arch linux with nvidia-390xx-dkms (quadro 3000M) on X11.

Backtrace:

    Finished dev [unoptimized + debuginfo] target(s) in 1.53s
     Running `target/debug/servo`
assertion `left != right` failed
  left: 0x0
 right: 0x0 (thread main, at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/generic/egl/surface.rs:179)
   0: servoshell::backtrace::print
             at $HOME/Documents/Code/rust/servo/ports/servoshell/backtrace.rs:18:5
   1: servoshell::main::{{closure}}
             at $HOME/Documents/Code/rust/servo/ports/servoshell/lib.rs:134:21
   2: <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/boxed.rs:2021:9
      std::panicking::rust_panic_with_hook
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:735:13
   3: std::panicking::begin_panic_handler::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:609:13
   4: std::sys_common::backtrace::__rust_end_short_backtrace
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:170:18
   5: rust_begin_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
   6: core::panicking::panic_fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
   7: core::panicking::assert_failed_inner
   8: core::panicking::assert_failed
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:270:5
   9: surfman::platform::generic::egl::surface::EGLBackedSurface::new_window::{{closure}}
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/generic/egl/surface.rs:179:13
  10: std::thread::local::LocalKey<T>::try_with
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/thread/local.rs:270:16
  11: std::thread::local::LocalKey<T>::with
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/thread/local.rs:246:9
  12: surfman::platform::generic::egl::surface::EGLBackedSurface::new_window
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/generic/egl/surface.rs:171:9
  13: surfman::platform::unix::x11::surface::<impl surfman::platform::unix::x11::device::Device>::create_window_surface
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/unix/x11/surface.rs:130:20
  14: surfman::platform::unix::x11::surface::<impl surfman::platform::unix::x11::device::Device>::create_surface
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/unix/x11/surface.rs:76:17
  15: surfman::platform::unix::x11::implementation::device::<impl surfman::device::Device for surfman::platform::unix::x11::device::Device>::create_surface
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/unix/x11/../../../implementation/device.rs:151:9
  16: surfman::platform::generic::multi::surface::<impl surfman::platform::generic::multi::device::Device<Def,Alt>>::create_surface
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/generic/multi/surface.rs:134:17
  17: <surfman::platform::generic::multi::device::Device<Def,Alt> as surfman::device::Device>::create_surface
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/generic/multi/device.rs:252:9
  18: surfman::platform::generic::multi::surface::<impl surfman::platform::generic::multi::device::Device<Def,Alt>>::create_surface
             at $HOME/.local/share/cargo/registry/src/index.crates.io-6f17d22bba15001f/surfman-0.9.3/src/platform/generic/multi/surface.rs:120:17
  19: gfx::rendering_context::RenderingContext::create
             at $HOME/Documents/Code/rust/servo/components/gfx/rendering_context.rs:64:23
  20: servoshell::headed_window::Window::new
             at $HOME/Documents/Code/rust/servo/ports/servoshell/headed_window.rs:135:33
  21: servoshell::app::App::run
             at $HOME/Documents/Code/rust/servo/ports/servoshell/app.rs:78:21
  22: servoshell::main
             at $HOME/Documents/Code/rust/servo/ports/servoshell/lib.rs:172:5
  23: servo::main
             at $HOME/Documents/Code/rust/servo/ports/servoshell/main.rs:26:13
  24: core::ops::function::FnOnce::call_once
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:250:5
  25: std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:154:18
  26: std::rt::lang_start::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:166:18
  27: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:504:40
      std::panicking::try
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:468:19
      std::panic::catch_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:504:40
      std::panicking::try
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:468:19
      std::panic::catch_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:148:20
  28: std::rt::lang_start
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:165:17
  29: main
  30: <unknown>
  31: __libc_start_main
  32: _start

Assert line in surfman: https://github.com/servo/surfman/blob/0825ee68a77df1a0720763b7006b500a52ec36e4/surfman/src/platform/generic/egl/surface.rs#L179

It appears that EGL returns no surface.

Might be that there are some deps still missing. Did you run mach bootstrap?

Yes i did, i even ran it in different modes (prod, dev, ...)