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

native build of demo breaks in Windows running on VMWare fusion #525

Closed
psifertex opened this issue Jun 27, 2021 · 7 comments
Closed

native build of demo breaks in Windows running on VMWare fusion #525

psifertex opened this issue Jun 27, 2021 · 7 comments
Labels
native-glium Relates to running egui_glium on native

Comments

@psifertex
Copy link

Possibly OpenGL related?
egui-failed

If I disable 3d acceleration in settings:

Screen Shot 2021-06-27 at 4 51 43 PM

Then it gets worse...
Screen Shot 2021-06-27 at 4 53 12 PM

With backtrace:


C:\Users\William Gruffalo\Downloads\egui-master>cargo run --release -p egui_demo_app
...
     Running `target\release\egui_demo_app.exe`
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: GlutinCreationError(NoAvailablePixelFormat)', egui_glium\src\backend.rs:112:84
stack backtrace:
   0:     0x7ff62656f39e - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff62656f39e - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff62656f39e - std::sys_common::backtrace::_print_fmt
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\sys_common\backtrace.rs:67
   3:     0x7ff62656f39e - std::sys_common::backtrace::_print::{{impl}}::fmt
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\sys_common\backtrace.rs:46
   4:     0x7ff62658559b - core::fmt::write
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\core\src\fmt\mod.rs:1096
   5:     0x7ff62656bf58 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\io\mod.rs:1568
   6:     0x7ff62657217d - std::sys_common::backtrace::_print
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\sys_common\backtrace.rs:49
   7:     0x7ff62657217d - std::sys_common::backtrace::print
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\sys_common\backtrace.rs:36
   8:     0x7ff62657217d - std::panicking::default_hook::{{closure}}
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panicking.rs:208
   9:     0x7ff626571c49 - std::panicking::default_hook
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panicking.rs:225
  10:     0x7ff626572a30 - std::panicking::rust_panic_with_hook
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panicking.rs:591
  11:     0x7ff626572561 - std::panicking::begin_panic_handler::{{closure}}
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panicking.rs:497
  12:     0x7ff62656fd2f - std::sys_common::backtrace::__rust_end_short_backtrace<closure-0,!>
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\sys_common\backtrace.rs:141
  13:     0x7ff6265724b9 - std::panicking::begin_panic_handler
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panicking.rs:493
  14:     0x7ff626582dc0 - core::panicking::panic_fmt
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\core\src\panicking.rs:92
  15:     0x7ff626582c03 - core::option::expect_none_failed
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\core\src\option.rs:1300
  16:     0x7ff6262fb71b - egui_glium::backend::run::hfbf61c5bda3f83f8
  17:     0x7ff6262f24d4 - eframe::run_native::hccbe315a256b98f7
  18:     0x7ff6262f22ae - core::ptr::drop_in_place<alloc::vec::into_iter::IntoIter<glium::image_format::CompressedSrgbFormat>>::h6f84b9a16810f447
  19:     0x7ff6262f1166 - std::sys_common::backtrace::__rust_begin_short_backtrace::h726acbdd7d3d0851
  20:     0x7ff6262f113c - std::rt::lang_start::{{closure}}::hc5317f5ebc447b8d
  21:     0x7ff626572d07 - core::ops::function::impls::{{impl}}::call_once
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\library\core\src\ops\function.rs:280
  22:     0x7ff626572d07 - std::panicking::try::do_call
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panicking.rs:379
  23:     0x7ff626572d07 - std::panicking::try
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panicking.rs:343
  24:     0x7ff626572d07 - std::panic::catch_unwind
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\panic.rs:431
  25:     0x7ff626572d07 - std::rt::lang_start_internal
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0\/library\std\src\rt.rs:51
  26:     0x7ff6262f2447 - main
  27:     0x7ff62658c918 - invoke_main
                               at D:\agent\_work\10\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  28:     0x7ff62658c918 - __scrt_common_main_seh
                               at D:\agent\_work\10\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  29:     0x7ffa00cd7034 - BaseThreadInitThunk
  30:     0x7ffa02662651 - RtlUserThreadStart
error: process didn't exit successfully: `target\release\egui_demo_app.exe` (exit code: 101)
@psifertex
Copy link
Author

This is a pretty low priority bug for me personally, just came across it during testing. Don't think it'll really matter much for the planned deployment the app I'm helping with, but it could definitely bite others worse.

@parasyte
Copy link
Contributor

This is probably an upstream issue. You can try the glium examples and see if it's a more general issue than something specific to egui: https://github.com/glium/glium/tree/master/examples

@emilk emilk added the native-glium Relates to running egui_glium on native label Jul 6, 2021
@emilk
Copy link
Owner

emilk commented Sep 30, 2021

Is this still a problem? Is it solved by #685 ?

@psifertex
Copy link
Author

I just pulled that PR (specifically used the "download" button from: https://github.com/AlexApps99/egui/tree/8a5bfb88b4cf7ed7dc17c743f914b19f64c0559c) and I get:

   Compiling egui_glium v0.14.0 (C:\egui-8a5bfb88b4cf7ed7dc17c743f914b19f64c0559c\egui_glium)
error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:241:29
    |
241 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:337:29
    |
337 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:416:29
    |
416 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:432:29
    |
432 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:461:29
    |
461 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:494:29
    |
494 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&painter::Painter`
   --> egui_glium\src\painter.rs:505:29
    |
505 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:514:29
    |
514 |         debug_assert!(!self.destroyed, "egui has already been destroyed!");
    |                             ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error[E0609]: no field `destroyed` on type `&mut painter::Painter`
   --> egui_glium\src\painter.rs:575:18
    |
575 |             self.destroyed,
    |                  ^^^^^^^^^ unknown field
    |
    = note: available fields are: `program`, `u_screen_size`, `u_sampler`, `egui_texture`, `egui_texture_version` ... and 5 others

error: aborting due to 9 previous errors

For more information about this error, try `rustc --explain E0609`.
error: could not compile `egui_glium`

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: build failed

Did I pull the wrong commit to test?

@AlexApps99
Copy link
Contributor

That seems to be a bug that occurs in compiling release mode. It should still build fine in debug mode, I will address the issue for release mode shortly.

@AlexApps99
Copy link
Contributor

I have pushed a fix, so it should build in release mode now

@psifertex
Copy link
Author

psifertex commented Oct 4, 2021

Thanks, I can confirm that running in debug mode does fix the issue. Which package was it you updated? I don't see anything on the egui repository itself so I assume one of the dependencies?

EDIT: Never-mind! Running on latest egui with release does indeed fix it, however the dependencies are pulled it looks like that works. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
native-glium Relates to running egui_glium on native
Projects
None yet
Development

No branches or pull requests

4 participants