Examples fail to run on Mac OS X
andrewdavidmackenzie opened this issue · 4 comments
Description
Cannot run examples on Mac OS
Version / OS
- azul version: HEAD of master from github on Nov 9
- Operating system: Mac OS Catalina 10.15 Beta
- rustc 1.38.0 or 1.33.0 or 1.36.0
Steps to Reproduce
andrew@MacBook-Pro-4 azul % rustc --version
rustc 1.36.0 (a53f9df32 2019-07-03)
andrew@MacBook-Pro-4 azul % cargo build --example hello_world
Finished dev [unoptimized + debuginfo] target(s) in 0.33s
But it crashes on start-up:
andrew@MacBook-Pro-4 azul % cargo run --example hello_world
Finished dev [unoptimized + debuginfo] target(s) in 0.23s
Running `target/debug/examples/hello_world`
[ERROR][azul::logging] An unexpected panic ocurred, the program has to exit.
Please report this error and attach the log file found in the directory of the executable.
The error ocurred in: /Users/andrew/.cargo/git/checkouts/azul-dependencies-70bb1f94316762f9/bf2933b/tomaka.glutin#23b3b10/src/platform/macos/mod.rs at line 61 in thread main
Error information:
not yet implemented
Backtrace:
azul::logging::set_up_panic_hooks::panic_fn @ logging.rs:86
core::ops::function::Fn::call @ function.rs:69
std::panicking::rust_panic_with_hook @ panicking.rs:478
std::panicking::begin_panic @ panicking.rs:408
glutin::platform::platform::Context::new @ mod.rs:61
glutin::combined::CombinedContext::new @ combined.rs:58
azul::window::create_gl_window @ window.rs:890
azul::window::Window<T>::new @ window.rs:483
azul::app::App<T>::create_window @ app.rs:211
hello_world::main @ hello_world.rs:26
std::rt::lang_start::{{closure}} @ rt.rs:64
std::panicking::try::do_call @ panicking.rs:293
@ lib.rs:85
std::rt::lang_start_internal @ rt.rs:48
std::rt::lang_start @ rt.rs:64
Additional Information
- Does CI/CD compile examples? It builds fine but crashes running, so a bit of an issue for a headless CI/CD in Travis?
- Do you plan to track rust stable versions? Adding "stable" in your travis matrix would ensure that.
Same error as #131. Use the unvendor_dependencies branch (however the only working example is the xml one right now, i.e. cargo run --example xml).
No, headless CI is not necessary except for running the layout tests. servo/webrender already has all the actual rendering tests and running them is hard to do on Travis CI. So I rely on the fact that webrender is already well-tested. Layout tests are different, they are run without rendering anything. Catching GPU driver bugs is webrenders job, azul only cares about layout, styling and calling callbacks properly.
stable tracks the "current" stable rust compiler, which can change at any moment - I prefer specifying the actual version (i.e. "1.38"), so I can make a guarantee in the README that it's going to compile on version X. I generally rely on the Rust team to not break things, otherwise I can always tell users to use the version it's tested against.
Thanks for fast response and sorry for duplicate issue.
On rustc versions: I only mentioned it as the travis version you test (1.36.00) is now three minor versions out of date 1.39.00.
If you "rely on the Rust team to not break things" (which I agree with, they do a great job!) then the risk of latest stable breaking your build is low.
In travis you can allow failures on versions without breaking the build (makes more sense on nightly or beta) and that way you get a warning that a breaking change is coming, with no changes required from you each time a new beta or stable is released.
BTW: In the branch unvendor_dependencies, azul-core doesn't compile for me on macos with 1.36.00.
So, maybe I'll just wait and come back at a later date when Mac OS support has stabailized more. I'd like to help, but I don't have the time right now in general, and I suspect lack the knowledge required to help get Macos working.
@andrewdavidmackenzie On the unvendor_dependencies branch, you need 1.39 stable (readme says 1.38, haven't updated it yet).