Skip to content
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

Reftest crash when using NVidia driver with webrender #13689

Closed
shinglyu opened this issue Oct 11, 2016 · 8 comments
Closed

Reftest crash when using NVidia driver with webrender #13689

shinglyu opened this issue Oct 11, 2016 · 8 comments

Comments

@shinglyu
Copy link
Member

@shinglyu shinglyu commented Oct 11, 2016

I'm using Dell XPS 15 with a standalone NVidia graphics card. I'm running Ubuntu 16.04 64bit with NVidia driver version 367.27.

When I run ./mach test-css, I got the following crash from all the tests:

  ▶ CRASH [expected PASS] /css-flexbox-1_dev/html/flex-minimum-width-flex-items-008.htm
  │ 
  │ 
  │ 
  │ 
  │ Failed to compile shader: "/home/shinglyu/workspace/servo/resources/shaders/box_shadow.vs.glsl"
  │ 
  │ -- Shader compile failed - exiting -- (thread main, at /home/shinglyu/workspace/servo/./.cargo/git/checkouts/webrender-c3596abe1cf4f320/master/webrender/src/device.rs:904)
  │ stack backtrace:
  │    0:     0x56129b3a4461 - backtrace::backtrace::libunwind::trace
  │                         at /home/shinglyu/workspace/servo/./.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.3/src/backtrace/mod.rs:82
  │                          - backtrace::backtrace::trace<closure>
  │                         at /home/shinglyu/workspace/servo/./.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.3/src/backtrace/mod.rs:70
  │    1:     0x56129b3a5118 - backtrace::capture::{{impl}}::new
  │                         at /home/shinglyu/workspace/servo/./.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.2.3/src/lib.rs:96
  │    2:     0x56129759cc3c - servo::main::{{closure}}
  │                         at /home/shinglyu/workspace/servo/components/servo/main.rs:121
  │    3:     0x56129c5b1c65 - std::panicking::rust_panic_with_hook::hcd9d05f53fa0dafc
  │    4:     0x56129b5cbc83 - std::panicking::begin_panic<&str>
  │                         at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/obj/../src/libstd/panicking.rs:413
  │    5:     0x56129b731c91 - webrender::device::{{impl}}::compile_shader
  │                         at /home/shinglyu/workspace/servo/./.cargo/git/checkouts/webrender-c3596abe1cf4f320/master/webrender/src/device.rs:904
  │    6:     0x56129b73496c - webrender::device::{{impl}}::load_program
  │                         at /home/shinglyu/workspace/servo/./.cargo/git/checkouts/webrender-c3596abe1cf4f320/master/webrender/src/device.rs:1302
  │    7:     0x56129b7342f9 - webrender::device::{{impl}}::create_program_with_prefix
  │                         at /home/shinglyu/workspace/servo/./.cargo/git/checkouts/webrender-c3596abe1cf4f320/master/webrender/src/device.rs:1271
  │    8:     0x56129b7338f8 - webrender::device::{{impl}}::create_program
  │                         at /home/shinglyu/workspace/servo/./.cargo/git/checkouts/webrender-c3596abe1cf4f320/master/webrender/src/device.rs:1223
  │    9:     0x56129b772ae0 - webrender::renderer::{{impl}}::new
  │                         at /home/shinglyu/workspace/servo/./.cargo/git/checkouts/webrender-c3596abe1cf4f320/master/webrender/src/renderer.rs:432
  │   10:     0x56129748752d - servo::{{impl}}::new<glutin_app::window::Window>
  │                         at /home/shinglyu/workspace/servo/components/servo/lib.rs:157
  │   11:     0x561297591e81 - servo::main
  │                         at /home/shinglyu/workspace/servo/components/servo/main.rs:143
  │   12:     0x56129c5ba2b6 - __rust_maybe_catch_panic
  │   13:     0x56129c5b0d81 - std::rt::lang_start::h14cbded5fe3cd915
  │   14:     0x56129759cf93 - main
  │   15:     0x7f8ee3add82f - __libc_start_main
  │   16:     0x561297449ab8 - _start
  └   17:                0x0 - <unknown>

But when I run ./mach run, it works fine.

If I switch to the built-in Intel graphics driver with sudo prime-select intel,

the ./mach test-css runs correctly. But ./mach run gives me:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Failed to create window.: OsError("GL context creation failed") (thread main, at ../src/libcore/result.rs:799)
stack backtrace:
   0:     0x55f456ed294d - backtrace::backtrace::trace::h6ac07ced1b846a59
   1:     0x55f456ed2fd2 - backtrace::capture::Backtrace::new::h1d3339ed08c7f861
   2:     0x55f45597018d - servo::main::_{{closure}}::hbb7607561bad1bf7
   3:     0x55f4574aaa15 - std::panicking::rust_panic_with_hook::hcd9d05f53fa0dafc
   4:     0x55f4574aa8e2 - std::panicking::begin_panic::hf6c488cee66e7f17
   5:     0x55f4574aa820 - std::panicking::begin_panic_fmt::hb0a7126ee57cdd27
   6:     0x55f4574aa7a1 - rust_begin_unwind
   7:     0x55f4574e6fbf - core::panicking::panic_fmt::h9af671b78898cdba
   8:     0x55f455973605 - core::result::unwrap_failed::hb7d5a35c50482e4c
   9:     0x55f45598bba1 - glutin_app::window::Window::new::h2d570c114da5696a
  10:     0x55f455991046 - glutin_app::create_window::hc6d966ef77a7895e
  11:     0x55f45596bf9a - servo::main::hf278725809d12b24
  12:     0x55f4574b3066 - __rust_maybe_catch_panic
  13:     0x55f4574a9b31 - std::rt::lang_start::h14cbded5fe3cd915
  14:     0x7f282756c82f - __libc_start_main
  15:     0x55f455929098 - _start
  16:                0x0 - <unknown>
Servo exited with return value 101
@shinglyu
Copy link
Member Author

@shinglyu shinglyu commented Oct 11, 2016

ping @glennw ?

@glennw
Copy link
Member

@glennw glennw commented Oct 12, 2016

@shinglyu Usually when a shader compile fails, the output log includes the error message from the shader compiler. Is there anything in the output logs from the nvidia shader compiler (I have seen drivers that sometimes fail to report a specific error, so there may not be anything). If not, you might need to comment out various parts of the shader mentioned in the log file to narrow down what the compiler is failing on.

@shinglyu
Copy link
Member Author

@shinglyu shinglyu commented Oct 12, 2016

@glennw I haven't seen logs from the nvidia shader compiler, probably it was consumed by the wpt test runner? I assume the wpt test use llvmpipe for headless rendering? Is there any way I can run servo with that configuration? Then I might be able to get the log.

@jdm
Copy link
Member

@jdm jdm commented Oct 12, 2016

@shinglyu
Copy link
Member Author

@shinglyu shinglyu commented Oct 17, 2016

Just updated by intel graphics driver and it worked. Also updated the nvidia driver but it's still broken. Keeping this issue open because the nvidia issue is still not fixed.

@nox
Copy link
Member

@nox nox commented Oct 5, 2017

@shinglyu Can you still reproduce this?

@tigercosmos
Copy link
Collaborator

@tigercosmos tigercosmos commented Oct 5, 2017

Maybe related to #18605 ?

@dralley
Copy link
Contributor

@dralley dralley commented Apr 3, 2020

Is this still reproducable for anyone? If not, might be best to close.

@jdm jdm closed this Apr 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
6 participants
You can’t perform that action at this time.