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

Windows Nightly quits immediately with "wglCreateContextAttribsARB failed" #16771

Closed
CAfromCA opened this issue May 8, 2017 · 10 comments
Closed

Windows Nightly quits immediately with "wglCreateContextAttribsARB failed" #16771

CAfromCA opened this issue May 8, 2017 · 10 comments

Comments

@CAfromCA
Copy link

@CAfromCA CAfromCA commented May 8, 2017

When starting a nightly build on Windows (pulled this morning: 34d3357), Servo opens a blank window for a brief moment and then quits with the following error:

Failed to create window.: OsError("wglCreateContextAttribsARB failed: OS Error -1073274731 (FormatMessageW() returned error 317) (os error -1073274731)") (thread main, at src\libcore\result.rs:859)
stack backtrace:
   0:        0x143ddd620 - backtrace::backtrace::trace<closure>
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.0\src\backtrace\mod.rs:41
   1:        0x143dd5df4 - backtrace::capture::Backtrace::new
                        at C:\servo\servo\target\debug\build\backtrace-6ddf4a4263d5dc15\out\capture.rs:79
   2:        0x13f38b1b8 - servo::main::{{closure}}
                        at C:\servo\servo\ports\servo\main.rs:123
   3:        0x143e30220 - std::panicking::rust_panic_with_hook
                        at C:\projects\rust\src\libstd\panicking.rs:550
   4:        0x143e30069 - std::panicking::begin_panic<collections::string::String>
                        at C:\projects\rust\src\libstd\panicking.rs:511
   5:        0x143e2ffc2 - std::panicking::begin_panic_fmt
                        at C:\projects\rust\src\libstd\panicking.rs:495
   6:        0x143e2ff3a - std::panicking::rust_begin_panic
                        at C:\projects\rust\src\libstd\panicking.rs:471
   7:        0x143e3a678 - core::panicking::panic_fmt
                        at C:\projects\rust\src\libcore\panicking.rs:69
   8:        0x142e9c6a8 - core::result::unwrap_failed<glutin::CreationError>
                        at C:\projects\rust\src\libcore\macros.rs:29
   9:        0x142e8193a - core::result::Result<glutin::Window, glutin::CreationError>::expect<glutin::Window,glutin::CreationError>
                        at C:\projects\rust\src\libcore\result.rs:761
  10:        0x142e88e17 - glutin_app::window::Window::new
                        at C:\servo\servo\ports\glutin\window.rs:263
  11:        0x142ecf9a3 - glutin_app::create_window
                        at C:\servo\servo\ports\glutin\lib.rs:50
  12:        0x13f38a656 - servo::main
                        at C:\servo\servo\ports\servo\main.rs:140
  13:        0x143e31a72 - panic_unwind::__rust_maybe_catch_panic
                        at C:\projects\rust\src\libpanic_unwind\lib.rs:98
  14:        0x143e307fa - std::rt::lang_start
                        at C:\projects\rust\src\libstd\rt.rs:51
  15:        0x13f38b72c - main
  16:        0x14470bc29 - __scrt_common_main_seh
                        at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253
  17:         0x777459cd - BaseThreadInitThunk
Servo exited with return value 101

If I disable graphical output with mach run -z --dev I get this instead:

gl function was not loaded (thread main, at C:\servo\servo\target\debug\build\gleam-596504a3dd4a6e35\out/gl_bindings.rs:953)
stack backtrace:
   0:        0x14453d620 - backtrace::backtrace::trace<closure>
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.0\src\backtrace\mod.rs:41
   1:        0x144535df4 - backtrace::capture::Backtrace::new
                        at C:\servo\servo\target\debug\build\backtrace-6ddf4a4263d5dc15\out\capture.rs:79
   2:        0x13faeb1b8 - servo::main::{{closure}}
                        at C:\servo\servo\ports\servo\main.rs:123
   3:        0x144590220 - std::panicking::rust_panic_with_hook
                        at C:\projects\rust\src\libstd\panicking.rs:550
   4:        0x14417c849 - std::panicking::begin_panic<&str>
                        at C:\projects\rust\src\libstd\panicking.rs:511
   5:        0x14417d7e4 - gleam::ffi_gl::missing_fn_panic
                        at C:\servo\servo\target\debug\build\gleam-596504a3dd4a6e35\out\gl_bindings.rs:953
   6:        0x14418e4af - gleam::ffi_gl::Gl::GetString
                        at C:\servo\servo\target\debug\build\gleam-596504a3dd4a6e35\out\gl_bindings.rs:2583
   7:        0x144184c16 - gleam::gl::{{impl}}::get_string
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\gleam-0.4.4\src\gl_fns.rs:1149
   8:        0x1435e90ad - glutin_app::window::Window::new
                        at C:\servo\servo\ports\glutin\window.rs:297
   9:        0x14362f9a3 - glutin_app::create_window
                        at C:\servo\servo\ports\glutin\lib.rs:50
  10:        0x13faea656 - servo::main
                        at C:\servo\servo\ports\servo\main.rs:140
  11:        0x144591a72 - panic_unwind::__rust_maybe_catch_panic
                        at C:\projects\rust\src\libpanic_unwind\lib.rs:98
  12:        0x1445907fa - std::rt::lang_start
                        at C:\projects\rust\src\libstd\rt.rs:51
  13:        0x13faeb72c - main
  14:        0x144e6bc29 - __scrt_common_main_seh
                        at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253
  15:         0x777459cd - BaseThreadInitThunk
Servo exited with return value 101

My basic system specs are:

OS: Windows 7 Enterprise SP1 64-bit
CPU: i5 2520M @ 2.5 GHz (Sandy Bridge)
RAM: 12.0 GB (11.8 GB usable due to integrated graphics)
GPU: Intel HD Graphics 3000
GPU driver version: 9.17.10.4229 (appears to be the latest/last available from Intel)

This is a spin-off of #16393, as it appears I'm having a different issue than the people seeing "wglCreateContextAttribsARB" errors.

@jdm
Copy link
Member

@jdm jdm commented May 8, 2017

For the headless issue, I guess GL isn't loading right, since it certainly should have been according to this block.

@ArkadiuszMichalski
Copy link

@ArkadiuszMichalski ArkadiuszMichalski commented May 9, 2017

Same here, autoclose when run .exe, my spec:
OS: Windows 7 Enterprise SP1 64-bit
CPU: i7 2600k
GPU: Intel HD Graphics 3000
GPU driver version: 15.28.24.4229 (9.17.10.4229) https://downloadcenter.intel.com/product/81500/Intel-HD-Graphics-3000

My error log:
Failed to create window.: OsError("wglCreateContextAttribsARB failed: OS Error -1073274731 (FormatMessageW() returned error 317) (os error -1073274731)") (thread main, at src\libcore\result.rs:859)

@voracity
Copy link

@voracity voracity commented May 21, 2017

Identical error here.

My specs:
OS: Windows 7 Home Premium 64 bit
CPU: i7 2630QM
GPU: Intel HD 3000
GPU driver version: 9.17.10.4229

@CAfromCA
Copy link
Author

@CAfromCA CAfromCA commented May 22, 2017

It looks like a recent fix for an Intel HD 4400 driver bug (servo/webrender#1251, picked up by Servo a few hours ago in #16917) did not resolve this issue.

That wasn't surprising after I read the WR issue details, but I saw "Intel" and got excited for a moment.

@CAfromCA
Copy link
Author

@CAfromCA CAfromCA commented May 30, 2017

Just wanted to note that WR changes picked up in the past week or so have not had any effect on this issue.

@CAfromCA
Copy link
Author

@CAfromCA CAfromCA commented Jul 5, 2017

Updates to various files have caused the line numbers to change slightly over time, so here's an updated dump of the errors from a compile I did a few minutes ago.

Normal run command:

Failed to create window.: OsError("wglCreateContextAttribsARB failed: OS Error -1073274731 (FormatMessageW() returned error 317) (os error -1073274731)") (thread main, at src\libcore\result.rs:860)
stack backtrace:
   0:        0x144b1ef60 - backtrace::backtrace::trace<closure>
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.2\src\backtrace\mod.rs:41
   1:        0x144b16184 - backtrace::capture::Backtrace::new
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.2\src\capture.rs:64
   2:        0x13f65f2d8 - servo::main::{{closure}}
                        at C:\servo\servo\ports\servo\main.rs:129
   3:        0x1451a30ea - std::panicking::rust_panic_with_hook
                        at C:\projects\rust\src\libstd\panicking.rs:550
   4:        0x1451a2f69 - std::panicking::begin_panic<alloc::string::String>
                        at C:\projects\rust\src\libstd\panicking.rs:511
   5:        0x1451a2e82 - std::panicking::begin_panic_fmt
                        at C:\projects\rust\src\libstd\panicking.rs:495
   6:        0x1451a2dfa - std::panicking::rust_begin_panic
                        at C:\projects\rust\src\libstd\panicking.rs:471
   7:        0x1451ace18 - core::panicking::panic_fmt
                        at C:\projects\rust\src\libcore\panicking.rs:71
   8:        0x142c85358 - core::result::unwrap_failed<glutin::CreationError>
                        at C:\projects\rust\src\libcore\macros.rs:29
   9:        0x142c0f57a - core::result::Result<glutin::Window, glutin::CreationError>::expect<glutin::Window,glutin::CreationError>
                        at C:\projects\rust\src\libcore\result.rs:762
  10:        0x142c15be3 - glutin_app::window::Window::new
                        at C:\servo\servo\ports\glutin\window.rs:261
  11:        0x142c5f363 - glutin_app::create_window
                        at C:\servo\servo\ports\glutin\lib.rs:49
  12:        0x13f65e086 - servo::main
                        at C:\servo\servo\ports\servo\main.rs:146
  13:        0x1451a4592 - panic_unwind::__rust_maybe_catch_panic
                        at C:\projects\rust\src\libpanic_unwind\lib.rs:98
  14:        0x1451a385e - std::rt::lang_start
                        at C:\projects\rust\src\libstd\rt.rs:52
  15:        0x13f65fc9c - main
  16:        0x145a7e169 - __scrt_common_main_seh
                        at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253
  17:         0x777f59cd - BaseThreadInitThunk
Servo exited with return value 101

Command with -z to disable graphical output:

gl function was not loaded (thread main, at C:\servo\servo\target\debug\build\gleam-b55fe9ee91a64733\out/gl_bindings.rs:978)
stack backtrace:
   0:        0x144f5ef60 - backtrace::backtrace::trace<closure>
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.2\src\backtrace\mod.rs:41
   1:        0x144f56184 - backtrace::capture::Backtrace::new
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.2\src\capture.rs:64
   2:        0x13fa9f2d8 - servo::main::{{closure}}
                        at C:\servo\servo\ports\servo\main.rs:129
   3:        0x1455e30ea - std::panicking::rust_panic_with_hook
                        at C:\projects\rust\src\libstd\panicking.rs:550
   4:        0x144c82a5c - std::panicking::begin_panic<&str>
                        at C:\projects\rust\src\libstd\panicking.rs:511
   5:        0x144c86204 - gleam::ffi_gl::missing_fn_panic
                        at C:\servo\servo\target\debug\build\gleam-b55fe9ee91a64733\out\gl_bindings.rs:978
   6:        0x144c7c53f - gleam::ffi_gl::Gl::GetString
                        at C:\servo\servo\target\debug\build\gleam-b55fe9ee91a64733\out\gl_bindings.rs:2310
   7:        0x144c73616 - gleam::gl::{{impl}}::get_string
                        at C:\servo\servo\.cargo\registry\src\github.com-1ecc6299db9ec823\gleam-0.4.6\src\gl_fns.rs:1172
   8:        0x143055e67 - glutin_app::window::Window::new
                        at C:\servo\servo\ports\glutin\window.rs:295
   9:        0x14309f363 - glutin_app::create_window
                        at C:\servo\servo\ports\glutin\lib.rs:49
  10:        0x13fa9e086 - servo::main
                        at C:\servo\servo\ports\servo\main.rs:146
  11:        0x1455e4592 - panic_unwind::__rust_maybe_catch_panic
                        at C:\projects\rust\src\libpanic_unwind\lib.rs:98
  12:        0x1455e385e - std::rt::lang_start
                        at C:\projects\rust\src\libstd\rt.rs:52
  13:        0x13fa9fc9c - main
  14:        0x145ebe169 - __scrt_common_main_seh
                        at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253
  15:         0x777f59cd - BaseThreadInitThunk
Servo exited with return value 101
@gaby2300
Copy link

@gaby2300 gaby2300 commented Jul 19, 2017

Hello, I'm still having this issue with the newest build and Windows 7 64 bit. Is it going to be fixed any time soon? Thanks!

@adamncasey
Copy link
Contributor

@adamncasey adamncasey commented Aug 19, 2017

Looks like headless mode isn't implemented on Windows. I just hit this attempting to run the wpt/ref tests.

#[cfg(not(any(target_os = "linux", target_os = "macos")))]
fn get_proc_address(_: &str) -> *const c_void {
ptr::null() as *const _
}

Running with -z will crash on Windows. Unrelated to the crash being encoutered without -z

@CAfromCA
Copy link
Author

@CAfromCA CAfromCA commented Aug 27, 2017

I never updated this bug, but in #16393 @jonathandturner confirmed that Servo needs OpenGL 3.2 support, which Intel does not provide for Sandy Bridge on Windows (and never will).

The solution is apparently to update Servo to use ANGLE on Windows, which is on the roadmap, so I feel like I should probably close this ticket. I was just waiting on an actual Servo developer to give a thumbs up or down on doing so, though. I don't like to close tickets on other people's projects without their permission even if I opened them.

@jonathandturner
Copy link

@jonathandturner jonathandturner commented Aug 31, 2017

@CAfromCA - sorry for the delay. Yes, let's go ahead and close this and lean on the ANGLE work to fill our our device support.

Thanks again.

@CAfromCA CAfromCA closed this Aug 31, 2017
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
7 participants
You can’t perform that action at this time.