proxelar icon indicating copy to clipboard operation
proxelar copied to clipboard

Runtime panic due to missing GUI extensions on VM.

Open H0mTanks opened this issue 1 year ago • 2 comments

Describe the bug Runtime panic due to missing GUI extensions on VM. There seem to be some missing vsync extensions on a windows 11 vm.

This might be due to a lack of hardware acceleration on the VM, therefore a lack of graphics drivers?

Being able to build in a VM environment would be a great help since it's a common environment for driver development and testing, and a project like this goes hand-in-hand with network drivers.

    Finished dev [unoptimized + debuginfo] target(s) in 1.69s
     Running `target\debug\mitm_proxy.exe`
thread 'main' panicked at 'failed to set vsync swap interval: Error { raw_code: None, raw_os_message: None, kind: NotSupported("swap contol extrensions are not supported") }', C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:415:18
stack backtrace:
   0: std::panicking::begin_panic_handler
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\std\src\panicking.rs:575
   1: core::panicking::panic_fmt
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\panicking.rs:64
   2: core::result::unwrap_failed
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483/library\core\src\result.rs:1791
   3: enum2$<core::result::Result<tuple$<>,glutin::error::Error> >::expect<tuple$<>,glutin::error::Error>
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\result.rs:1070
   4: eframe::native::run::glow_integration::GlutinWindowContext::new
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:413
   5: eframe::native::run::glow_integration::GlowWinitApp::create_glutin_windowed_context
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:505
   6: eframe::native::run::glow_integration::GlowWinitApp::init_run_state
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:521
   7: eframe::native::run::glow_integration::impl$2::on_event
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:733
   8: eframe::native::run::run_and_return::closure$0<eframe::native::run::glow_integration::GlowWinitApp>
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:140
   9: winit::platform_impl::platform::event_loop::impl$3::run_return::closure$0<enum2$<eframe::native::run::UserEvent>,eframe::native::run::run_and_return::closure_env$0<eframe::native::run::glow_integration::GlowWinitApp> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop.rs:254
  10: alloc::boxed::impl$46::call_mut<tuple$<enum2$<winit::event::Event<enum2$<eframe::native::run::UserEvent> > >,ref_mut$<enum2$<winit::event_loop::ControlFlow> > >,dyn$<core::ops::function::FnMut<tuple$<enum2$<winit::event::Event<enum2$<eframe::native::run::
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\alloc\src\boxed.rs:2016
  11: winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure$0<enum2$<eframe::native::run::UserEvent> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop\runner.rs:250
  12: core::panic::unwind_safe::impl$23::call_once<tuple$<>,winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0<enum2$<eframe::native::run::UserEvent> > >
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\panic\unwind_safe.rs:271
  13: std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0<enum2$<eframe::native::run::UserEvent> > >,tuple$<> >
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\panicking.rs:483
  14: eframe::epi::impl$43::clone
  15: std::panicking::try<tuple$<>,core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0<enum2$<eframe::native::run::UserEvent> > > >
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\panicking.rs:447
  16: std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::closure_env$0<enum2$<eframe::native::run::UserEvent> > >,tuple$<> >
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\panic.rs:137
  17: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<enum2$<eframe::native::run::UserEvent> >::catch_unwind<enum2$<eframe::native::run::UserEvent>,tuple$<>,winit::platform_impl::platform::event_loop::runner::impl$3::call_event_handler::clos
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop\runner.rs:157
  18: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<enum2$<eframe::native::run::UserEvent> >::call_event_handler<enum2$<eframe::native::run::UserEvent> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop\runner.rs:242
  19: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<enum2$<eframe::native::run::UserEvent> >::call_new_events<enum2$<eframe::native::run::UserEvent> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop\runner.rs:402
  20: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<enum2$<eframe::native::run::UserEvent> >::move_state_to<enum2$<eframe::native::run::UserEvent> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop\runner.rs:312
  21: winit::platform_impl::platform::event_loop::runner::EventLoopRunner<enum2$<eframe::native::run::UserEvent> >::poll<enum2$<eframe::native::run::UserEvent> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop\runner.rs:206
  22: winit::platform_impl::platform::event_loop::EventLoop<enum2$<eframe::native::run::UserEvent> >::run_return<enum2$<eframe::native::run::UserEvent>,eframe::native::run::run_and_return::closure_env$0<eframe::native::run::glow_integration::GlowWinitApp> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform_impl\windows\event_loop.rs:263
  23: winit::platform::run_return::impl$0::run_return<enum2$<eframe::native::run::UserEvent>,eframe::native::run::run_and_return::closure_env$0<eframe::native::run::glow_integration::GlowWinitApp> >
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.27.5\src\platform\run_return.rs:62
  24: eframe::native::run::run_and_return<eframe::native::run::glow_integration::GlowWinitApp>
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:107
  25: eframe::native::run::glow_integration::run_glow::closure$0
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:852
  26: eframe::native::run::with_event_loop::closure$0<eframe::native::run::glow_integration::run_glow::closure_env$0>
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:96
  27: std::thread::local::LocalKey<core::cell::RefCell<enum2$<core::option::Option<winit::event_loop::EventLoop<enum2$<eframe::native::run::UserEvent> > > > > >::try_with<core::cell::RefCell<enum2$<core::option::Option<winit::event_loop::EventLoop<enum2$<eframe
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\thread\local.rs:446
  28: std::thread::local::LocalKey<core::cell::RefCell<enum2$<core::option::Option<winit::event_loop::EventLoop<enum2$<eframe::native::run::UserEvent> > > > > >::with<core::cell::RefCell<enum2$<core::option::Option<winit::event_loop::EventLoop<enum2$<eframe::na
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\std\src\thread\local.rs:422
  29: eframe::native::run::with_event_loop<eframe::native::run::glow_integration::run_glow::closure_env$0>
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:89
  30: eframe::native::run::glow_integration::run_glow
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\native\run.rs:845
  31: eframe::run_native
             at C:\Users\User\.cargo\registry\src\github.com-1ecc6299db9ec823\eframe-0.20.1\src\lib.rs:192
  32: mitm_proxy::main
             at .\mitm_proxy\src\main.rs:59
  33: core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
             at /rustc/d5a82bbd26e1ad8b7401f6a718a9c57c96905483\library\core\src\ops\function.rs:507
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
error: process didn't exit successfully: `target\debug\mitm_proxy.exe` (exit code: 101)

To Reproduce Steps to reproduce the behavior:

  1. Install a Windows 11 Hyper-V VM using Hyper-V manager.
  2. Build and run the project.

Expected behavior The built project should run successfully.

Desktop (please complete the following information):

  • OS: Windows 11 Hyper-V VM

Additional context I also built it on a machine with integrated graphics, worked fine. Although that isn't really representative of the VM case since an integrated machine still has the intel graphics driver.

H0mTanks avatar Mar 16 '23 06:03 H0mTanks

this is likely a egui problem, try to take a look at #2545

emanuele-em avatar Mar 16 '23 13:03 emanuele-em

can you check https://github.com/sak96/man-in-the-middle-proxy/tree/feat/tarui in vm.

How to run tauri is mentioned here: https://github.com/sak96/man-in-the-middle-proxy/blob/feat/tarui/tauri-ui/CONTRIBUTING.md

sak96 avatar Mar 25 '23 16:03 sak96