pathfinder icon indicating copy to clipboard operation
pathfinder copied to clipboard

GL error 0x502 causes a double panic

Open myrrlyn opened this issue 5 years ago • 3 comments

Platform

Windows 10 x64, build 19631.mn_release-200514-1410

Steps

git clone https://github.com/sunjay/turtle.git
cd turtle
git checkout async
cargo run --example heart

Behavior

The program draws a heart on-screen. Wait for the window to be filled with pink, indicating that the program is complete, and idling.

Close the window.

This double-panics. The turtle crate begins a panic when its IPC connections are severed, so I am unsure if the overlapping panic is Pathfinder's.

Backtrace

The backtrace is quite long:

thread 'tokio-runtime-worker' panicked at 'GL error: 0x502 (INVALID_OPERATION)', %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1485:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'tokio-runtime-worker' panicked at 'GL error: 0x502 (INVALID_OPERATION)', %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1485:13
stack backtrace:
   0:     0x7ff652ba853f - backtrace::backtrace::trace_unsynchronized
                               at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.44\src\backtrace\mod.rs:66
   1:     0x7ff652ba853f - std::sys_common::backtrace::_print_fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:78
   2:     0x7ff652ba853f - std::sys_common::backtrace::_print::{{impl}}::fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:59
   3:     0x7ff652bbd8eb - core::fmt::write
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libcore\fmt\mod.rs:1063
   4:     0x7ff652ba596c - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\io\mod.rs:1426
   5:     0x7ff652bab65c - std::sys_common::backtrace::_print
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:62
   6:     0x7ff652bab65c - std::sys_common::backtrace::print
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:49
   7:     0x7ff652bab65c - std::panicking::default_hook::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:204
   8:     0x7ff652bab2af - std::panicking::default_hook
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:224
   9:     0x7ff652babe37 - std::panicking::rust_panic_with_hook
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:470
  10:     0x7ff652bab9bf - std::panicking::begin_panic_handler
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:378
  11:     0x7ff652bab92c - std::panicking::begin_panic_fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:332
  12:     0x7ff652ae9f2f - pathfinder_gl::ck
                               at %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1485
  13:     0x7ff652ae9f2f - pathfinder_gl::{{impl}}::drop
                               at %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1224
  14:     0x7ff6529e8a1c - core::ptr::drop_in_place<pathfinder_gl::GLProgram>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  15:     0x7ff6529eb1fe - core::ptr::drop_in_place<pathfinder_renderer::gpu::renderer::Renderer<pathfinder_gl::GLDevice>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  16:     0x7fff16501030 - <unknown>
  17:     0x7fff16504a2b - is_exception_typeof
  18:     0x7fff1650e3d4 - _C_specific_handler
  19:     0x7fff16503cb0 - is_exception_typeof
  20:     0x7fff1650ed01 - _CxxFrameHandler3
  21:     0x7fff402f911f - _chkstk
  22:     0x7fff40297c76 - RtlUnwindEx
  23:     0x7fff1650e892 - _C_specific_handler
  24:     0x7fff16502941 - is_exception_typeof
  25:     0x7fff16502d6d - is_exception_typeof
  26:     0x7fff16503dac - is_exception_typeof
  27:     0x7fff1650ed01 - _CxxFrameHandler3
  28:     0x7fff402f909f - _chkstk
  29:     0x7fff402970ec - RtlUnwind
  30:     0x7fff4029aeee - RtlRaiseException
  31:     0x7fff3dca361c - RaiseException
  32:     0x7fff165061e0 - CxxThrowException
  33:     0x7ff652baf2b1 - panic_unwind::imp::panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libpanic_unwind\seh.rs:308
  34:     0x7ff652baf239 - panic_unwind::__rust_start_panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libpanic_unwind\lib.rs:111
  35:     0x7ff652bac028 - std::panicking::rust_panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:522
  36:     0x7ff652babef1 - std::panicking::rust_panic_with_hook
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:492
  37:     0x7ff652bab9bf - std::panicking::begin_panic_handler
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:378
  38:     0x7ff652bab92c - std::panicking::begin_panic_fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:332
  39:     0x7ff652aea1d5 - pathfinder_gl::ck
                               at %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1485
  40:     0x7ff652aea1d5 - pathfinder_gl::{{impl}}::drop
                               at %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1257
  41:     0x7ff6529ea9a5 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  42:     0x7ff6529ea9a5 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  43:     0x7ff6529ea9a5 - core::ptr::drop_in_place<pathfinder_renderer::gpu::renderer::Renderer<pathfinder_gl::GLDevice>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  44:     0x7ff6529e6cbd - core::ptr::drop_in_place<turtle::renderer_server::renderer::Renderer>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  45:     0x7ff652a42e0d - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  46:     0x7ff652a42e0d - core::ptr::drop_in_place<closure-0>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  47:     0x7ff652a45146 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  48:     0x7ff652a45146 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  49:     0x7ff652a45146 - core::mem::drop
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\mem\mod.rs:749
  50:     0x7ff652a45146 - core::cell::Cell<core::option::Option<alloc::boxed::Box<FnMut<(winit::event::Event<turtle::renderer_server::event_loop_notifier::MainThreadAction>, mut winit::event_loop::ControlFlow*)>>>>::set
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\cell.rs:346
  51:     0x7ff652a45146 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<turtle::renderer_server::event_loop_notifier::MainThreadAction>::reset_runner<turtle::renderer_server::event_loop_notifier::MainThreadAction>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:104
  52:     0x7ff652aa3fdf - winit::platform_impl::platform::event_loop::EventLoop<turtle::renderer_server::event_loop_notifier::MainThreadAction>::run_return<turtle::renderer_server::event_loop_notifier::MainThreadAction,closure-1>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:231
  53:     0x7ff652a98001 - winit::platform::desktop::{{impl}}::run_return
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform\desktop.rs:51
  54:     0x7ff652a98001 - turtle::renderer_server::main::run_main<std::future::GenFuture<generator-0>>
                               at M:\Projects\Rust\turtle\src\renderer_server\main.rs:137
  55:     0x7ff652a2cfc9 - tokio::loom::std::unsafe_cell::UnsafeCell<tokio::runtime::task::core::Stage<tokio::runtime::blocking::task::BlockingTask<closure-0>>>::with_mut<tokio::runtime::task::core::Stage<tokio::runtime::blocking::task::BlockingTask<closure-0>>,core::task::poll::Po
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\loom\std\unsafe_cell.rs:14
  56:     0x7ff652a95aca - tokio::runtime::task::core::Core<tokio::runtime::blocking::task::BlockingTask<closure-0>, tokio::runtime::blocking::schedule::NoopSchedule>::poll<tokio::runtime::blocking::task::BlockingTask<closure-0>,tokio::runtime::blocking::schedule::NoopSchedule>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\core.rs:158
  57:     0x7ff652a5355c - tokio::runtime::task::harness::{{impl}}::poll::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\harness.rs:107
  58:     0x7ff652a5355c - core::ops::function::FnOnce::call_once
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ops\function.rs:232
  59:     0x7ff652a5355c - std::panic::{{impl}}::call_once<core::task::poll::Poll<core::result::Result<(), tokio::runtime::task::error::JoinError>>,closure-0>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panic.rs:318
  60:     0x7ff652a18c39 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,core::task::poll::Poll<core::result::Result<(), tokio::runtime::task::error::JoinError>>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panicking.rs:303
  61:     0x7ff652baf1b2 - panic_unwind::__rust_maybe_catch_panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libpanic_unwind\lib.rs:86
  62:     0x7ff652ac6e7b - tokio::runtime::task::harness::Harness<tokio::runtime::blocking::task::BlockingTask<closure-0>, tokio::runtime::blocking::schedule::NoopSchedule>::poll<tokio::runtime::blocking::task::BlockingTask<closure-0>,tokio::runtime::blocking::schedule::NoopSchedul
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\harness.rs:89
  63:     0x7ff652b89eee - tokio::runtime::task::raw::RawTask::poll
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\raw.rs:66
  64:     0x7ff652b89eee - tokio::runtime::task::Notified<tokio::runtime::blocking::schedule::NoopSchedule>::run
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\mod.rs:169
  65:     0x7ff652b89eee - tokio::runtime::blocking::pool::Inner::run
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\blocking\pool.rs:230
  66:     0x7ff652b835a4 - tokio::runtime::blocking::pool::{{impl}}::spawn_thread::{{closure}}::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\blocking\pool.rs:210
  67:     0x7ff652b835a4 - tokio::runtime::context::enter<closure-0,()>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\context.rs:72
  68:     0x7ff652b8ad51 - tokio::runtime::handle::Handle::enter
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:76
  69:     0x7ff652b8ad51 - tokio::runtime::blocking::pool::{{impl}}::spawn_thread::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\blocking\pool.rs:209
  70:     0x7ff652b8ad51 - std::sys_common::backtrace::__rust_begin_short_backtrace<closure-0,()>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\sys_common\backtrace.rs:130
  71:     0x7ff652b755f8 - std::thread::{{impl}}::spawn_unchecked::{{closure}}::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\thread\mod.rs:475
  72:     0x7ff652b755f8 - std::panic::{{impl}}::call_once
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panic.rs:318
  73:     0x7ff652b755f8 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,()>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panicking.rs:303
  74:     0x7ff652baf1b2 - panic_unwind::__rust_maybe_catch_panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libpanic_unwind\lib.rs:86
  75:     0x7ff652b86bc8 - std::panicking::try
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panicking.rs:281
  76:     0x7ff652b86bc8 - std::panic::catch_unwind
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panic.rs:394
  77:     0x7ff652b86bc8 - std::thread::{{impl}}::spawn_unchecked::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\thread\mod.rs:474
  78:     0x7ff652b86bc8 - core::ops::function::FnOnce::call_once<closure-0,()>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ops\function.rs:232
  79:     0x7ff652ba1517 - alloc::boxed::{{impl}}::call_once<(),FnOnce<()>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\liballoc\boxed.rs:1017
  80:     0x7ff652bad96c - alloc::boxed::{{impl}}::call_once
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\liballoc\boxed.rs:1017
  81:     0x7ff652bad96c - std::sys_common::thread::start_thread
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\thread.rs:13
  82:     0x7ff652bad96c - std::sys::windows::thread::{{impl}}::new::thread_start
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys\windows\thread.rs:51
  83:     0x7fff3f119784 - BaseThreadInitThunk
  84:     0x7fff402596a1 - RtlUserThreadStart
thread panicked while panicking. aborting.
error: process didn't exit successfully: `target\debug\examples\heart.exe` (exit code: 0xc000001d, STATUS_ILLEGAL_INSTRUCTION)

I am filing this against Pathfinder, as it is mentioned in traces 12-40; specifically, function pathfinder_gl::ck appears to panic twice

Notes

This does not happen in cargo run --example heart --release. It appears only in development builds, and is not affected by the [profile.dev] opt-level setting in turtle’s manifest, nor by switching from crates.io to current Git master.

myrrlyn avatar May 22 '20 20:05 myrrlyn

I am the author of the turtle crate and I can help provide details about any of the rendering code. All of the code dealing with pathfinder is in this file: https://github.com/sunjay/turtle/blob/async/src/renderer_server/renderer.rs

My guess is that this is happening sometime during drop. The turtle crate stops rendering after the drawing is complete, so I don't think it could be in the middle of any draw calls. Happy to try to reduce it if you give me some idea of where to look.

sunjay avatar May 22 '20 20:05 sunjay

Oh, right:

Closing the window during active draw routines causes the same top-level message about error 0x502, but I do not receive a backtrace.

myrrlyn avatar May 22 '20 20:05 myrrlyn

Retry with my environment forced to RUST_BACKTRACE="full" gives me two backtraces, though the second appears to be turtle’s and unrelated to Pathfinder:

> $env:RUST_BACKTRACE="full"
> cargo run --example heart
    Finished dev [optimized + debuginfo] target(s) in 3.76s
     Running `target\debug\examples\heart.exe`
thread 'tokio-runtime-worker' panicked at 'GL error: 0x502 (INVALID_OPERATION)', %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rsthread ':main1485' panicked at ':IPC response not received: Cannot continue to run turtle commands after window is closed. This panic stops the thread, but is not necessarily an error.13',
src\renderer_client.rsstack backtrace:
:154:35
   0:     0x7ff76e3e853f - backtrace::backtrace::trace_unsynchronized
                               at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.44\src\backtrace\mod.rs:66
   1:     0x7ff76e3e853f - std::sys_common::backtrace::_print_fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:78
   2:     0x7ff76e3e853f - std::sys_common::backtrace::_print::{{impl}}::fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:59
   3:     0x7ff76e3fd8eb - core::fmt::write
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libcore\fmt\mod.rs:1063
   4:     0x7ff76e3e596c - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\io\mod.rs:1426
   5:     0x7ff76e3eb65c - std::sys_common::backtrace::_print
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:62
   6:     0x7ff76e3eb65c - std::sys_common::backtrace::print
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:49
   7:     0x7ff76e3eb65c - std::panicking::default_hook::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:204
   8:     0x7ff76e3eb2af - std::panicking::default_hook
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:224
   9:     0x7ff76e3ebe37 - std::panicking::rust_panic_with_hook
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:470
  10:     0x7ff76e3eb9bf - std::panicking::begin_panic_handler
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:378
  11:     0x7ff76e3eb92c - std::panicking::begin_panic_fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:332
  12:     0x7ff76e32a1d5 - pathfinder_gl::ck
                               at %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1485
  13:     0x7ff76e32a1d5 - pathfinder_gl::{{impl}}::drop
                               at %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs:1257
  14:     0x7ff76e22a9a5 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  15:     0x7ff76e22a9a5 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  16:     0x7ff76e22a9a5 - core::ptr::drop_in_place<pathfinder_renderer::gpu::renderer::Renderer<pathfinder_gl::GLDevice>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  17:     0x7ff76e226cbd - core::ptr::drop_in_place<turtle::renderer_server::renderer::Renderer>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  18:     0x7ff76e282e0d - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  19:     0x7ff76e282e0d - core::ptr::drop_in_place<closure-0>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  20:     0x7ff76e285146 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  21:     0x7ff76e285146 - core::ptr::drop_in_place
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ptr\mod.rs:177
  22:     0x7ff76e285146 - core::mem::drop
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\mem\mod.rs:749
  23:     0x7ff76e285146 - core::cell::Cell<core::option::Option<alloc::boxed::Box<FnMut<(winit::event::Event<turtle::renderer_server::event_loop_notifier::MainThreadAction>, mut winit::event_loop::ControlFlow*)>>>>::set
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\cell.rs:346
  24:     0x7ff76e285146 - winit::platform_impl::platform::event_loop::runner::EventLoopRunner<turtle::renderer_server::event_loop_notifier::MainThreadAction>::reset_runner<turtle::renderer_server::event_loop_notifier::MainThreadAction>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop\runner.rs:104
  25:     0x7ff76e2e3fdf - winit::platform_impl::platform::event_loop::EventLoop<turtle::renderer_server::event_loop_notifier::MainThreadAction>::run_return<turtle::renderer_server::event_loop_notifier::MainThreadAction,closure-1>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform_impl\windows\event_loop.rs:231
  26:     0x7ff76e2d8001 - winit::platform::desktop::{{impl}}::run_return
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\winit-0.22.2\src\platform\desktop.rs:51
  27:     0x7ff76e2d8001 - turtle::renderer_server::main::run_main<std::future::GenFuture<generator-0>>
                               at M:\Projects\Rust\turtle\src\renderer_server\main.rs:137
  28:     0x7ff76e26cfc9 - tokio::loom::std::unsafe_cell::UnsafeCell<tokio::runtime::task::core::Stage<tokio::runtime::blocking::task::BlockingTask<closure-0>>>::with_mut<tokio::runtime::task::core::Stage<tokio::runtime::blocking::task::BlockingTask<closure-0>>,core::task::poll::Po
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\loom\std\unsafe_cell.rs:14
  29:     0x7ff76e2d5aca - tokio::runtime::task::core::Core<tokio::runtime::blocking::task::BlockingTask<closure-0>, tokio::runtime::blocking::schedule::NoopSchedule>::poll<tokio::runtime::blocking::task::BlockingTask<closure-0>,tokio::runtime::blocking::schedule::NoopSchedule>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\core.rs:158
  30:     0x7ff76e29355c - tokio::runtime::task::harness::{{impl}}::poll::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\harness.rs:107
  31:     0x7ff76e29355c - core::ops::function::FnOnce::call_once
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ops\function.rs:232
  32:     0x7ff76e29355c - std::panic::{{impl}}::call_once<core::task::poll::Poll<core::result::Result<(), tokio::runtime::task::error::JoinError>>,closure-0>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panic.rs:318
  33:     0x7ff76e258c39 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,core::task::poll::Poll<core::result::Result<(), tokio::runtime::task::error::JoinError>>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panicking.rs:303
  34:     0x7ff76e3ef1b2 - panic_unwind::__rust_maybe_catch_panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libpanic_unwind\lib.rs:86
  35:     0x7ff76e306e7b - tokio::runtime::task::harness::Harness<tokio::runtime::blocking::task::BlockingTask<closure-0>, tokio::runtime::blocking::schedule::NoopSchedule>::poll<tokio::runtime::blocking::task::BlockingTask<closure-0>,tokio::runtime::blocking::schedule::NoopSchedul
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\harness.rs:89
  36:     0x7ff76e3c9eee - tokio::runtime::task::raw::RawTask::poll
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\raw.rs:66
  37:     0x7ff76e3c9eee - tokio::runtime::task::Notified<tokio::runtime::blocking::schedule::NoopSchedule>::run
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\task\mod.rs:169
  38:     0x7ff76e3c9eee - tokio::runtime::blocking::pool::Inner::run
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\blocking\pool.rs:230
  39:     0x7ff76e3c35a4 - tokio::runtime::blocking::pool::{{impl}}::spawn_thread::{{closure}}::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\blocking\pool.rs:210
  40:     0x7ff76e3c35a4 - tokio::runtime::context::enter<closure-0,()>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\context.rs:72
  41:     0x7ff76e3cad51 - tokio::runtime::handle::Handle::enter
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:76
  42:     0x7ff76e3cad51 - tokio::runtime::blocking::pool::{{impl}}::spawn_thread::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\blocking\pool.rs:209
  43:     0x7ff76e3cad51 - std::sys_common::backtrace::__rust_begin_short_backtrace<closure-0,()>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\sys_common\backtrace.rs:130
  44:     0x7ff76e3b55f8 - std::thread::{{impl}}::spawn_unchecked::{{closure}}::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\thread\mod.rs:475
  45:     0x7ff76e3b55f8 - std::panic::{{impl}}::call_once
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panic.rs:318
  46:     0x7ff76e3b55f8 - std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,()>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panicking.rs:303
  47:     0x7ff76e3ef1b2 - panic_unwind::__rust_maybe_catch_panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libpanic_unwind\lib.rs:86
  48:     0x7ff76e3c6bc8 - std::panicking::try
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panicking.rs:281
  49:     0x7ff76e3c6bc8 - std::panic::catch_unwind
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\panic.rs:394
  50:     0x7ff76e3c6bc8 - std::thread::{{impl}}::spawn_unchecked::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\thread\mod.rs:474
  51:     0x7ff76e3c6bc8 - core::ops::function::FnOnce::call_once<closure-0,()>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libcore\ops\function.rs:232
  52:     0x7ff76e3e1517 - alloc::boxed::{{impl}}::call_once<(),FnOnce<()>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\liballoc\boxed.rs:1017
  53:     0x7ff76e3ed96c - alloc::boxed::{{impl}}::call_once
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\liballoc\boxed.rs:1017
  54:     0x7ff76e3ed96c - std::sys_common::thread::start_thread
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\thread.rs:13
  55:     0x7ff76e3ed96c - std::sys::windows::thread::{{impl}}::new::thread_start
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys\windows\thread.rs:51
  56:     0x7fff3f119784 - BaseThreadInitThunk
  57:     0x7fff402596a1 - RtlUserThreadStart
stack backtrace:
thread 'tokio-runtime-worker' panicked at ' GL error: 0x502 (INVALID_OPERATION) ',  %UserProfile%\.cargo\git\checkouts\pathfinder-f0bd20e7aa700f92\0f35009\gl\src\lib.rs0:: 1485 : 13
 0x7ff76e3e853f - backtrace::backtrace::trace_unsynchronized
                               at C:\Users\VssAdministrator\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.44\src\backtrace\mod.rs:66
   1:     0x7ff76e3e853f - std::sys_common::backtrace::_print_fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:78
   2:     0x7ff76e3e853f - std::sys_common::backtrace::_print::{{impl}}::fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:59
   3:     0x7ff76e3fd8eb - core::fmt::write
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libcore\fmt\mod.rs:1063
   4:     0x7ff76e3e596c - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\io\mod.rs:1426
   5:     0x7ff76e3eb65c - std::sys_common::backtrace::_print
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:62
   6:     0x7ff76e3eb65c - std::sys_common::backtrace::print
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\sys_common\backtrace.rs:49
   7:     0x7ff76e3eb65c - std::panicking::default_hook::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:204
   8:     0x7ff76e3eb2af - std::panicking::default_hook
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:224
   9:     0x7ff76e3ebe37 - std::panicking::rust_panic_with_hook
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:470
  10:     0x7ff76e3eb9bf - std::panicking::begin_panic_handler
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:378
  11:     0x7ff76e3eb92c - std::panicking::begin_panic_fmt
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:332
  12:     0x7ff76e2c6eec - turtle::renderer_client::{{impl}}::recv::{{closure}}::{{closure}}
                               at M:\Projects\Rust\turtle\src\renderer_client.rs:154
  13:     0x7ff76e2a62cc - std::future::{{impl}}::poll
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\future.rs:44
  14:     0x7ff76e2a62cc - std::future::poll_with_tls_context<std::future::GenFuture<generator-0>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\future.rs:102
  15:     0x7ff76e2a49fe - std::future::{{impl}}::poll
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\future.rs:44
  16:     0x7ff76e2a49fe - std::future::poll_with_tls_context<std::future::GenFuture<generator-0>>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\future.rs:102
  17:     0x7ff76e2b3bbc - turtle::async_turtle::{{impl}}::right::{{closure}}
                               at M:\Projects\Rust\turtle\src\async_turtle.rs:85
  18:     0x7ff76e2b3bbc - std::future::{{impl}}::poll<generator-0>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\future.rs:44
  19:     0x7ff76e2e6f5a - tokio::runtime::enter::{{impl}}::block_on::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\enter.rs:163
  20:     0x7ff76e2e6f5a - tokio::coop::with_budget::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:127
  21:     0x7ff76e2e6f5a - std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::try_with
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\thread\local.rs:262
  22:     0x7ff76e2e6f5a - std::thread::local::LocalKey<core::cell::Cell<tokio::coop::Budget>>::with
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\thread\local.rs:239
  23:     0x7ff76e2e6f5a - tokio::coop::with_budget
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:120
  24:     0x7ff76e2e6f5a - tokio::coop::budget
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\coop.rs:96
  25:     0x7ff76e2e6f5a - tokio::runtime::enter::Enter::block_on<std::future::GenFuture<generator-0>>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\enter.rs:163
  26:     0x7ff76e287040 - tokio::runtime::handle::{{impl}}::block_on::{{closure}}
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:265
  27:     0x7ff76e287040 - tokio::runtime::context::enter<closure-0,()>
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\context.rs:72
  28:     0x7ff76e242d18 - tokio::runtime::handle::Handle::enter
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:76
  29:     0x7ff76e242d18 - tokio::runtime::handle::Handle::block_on
                               at %UserProfile%\.cargo\registry\src\github.com-1ecc6299db9ec823\tokio-0.2.21\src\runtime\handle.rs:263
  30:     0x7ff76e242d18 - turtle::sync_runtime::block_on
                               at M:\Projects\Rust\turtle\src\sync_runtime.rs:17
  31:     0x7ff76e242d18 - turtle::turtle::Turtle::right
                               at M:\Projects\Rust\turtle\src\turtle.rs:151
  32:     0x7ff76e21f67b - heart::curve
                               at M:\Projects\Rust\turtle\examples\heart.rs:34
  33:     0x7ff76e21f67b - heart::main
                               at M:\Projects\Rust\turtle\examples\heart.rs:20
  34:     0x7ff76e218156 - std::rt::lang_start::{{closure}}<()>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\src\libstd\rt.rs:67
  35:     0x7ff76e3eb857 - std::rt::lang_start_internal::{{closure}}
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\rt.rs:52
  36:     0x7ff76e3eb857 - std::panicking::try::do_call<closure-0,i32>
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:303
  37:     0x7ff76e3ef1b2 - panic_unwind::__rust_maybe_catch_panic
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libpanic_unwind\lib.rs:86
  38:     0x7ff76e3ec188 - std::panicking::try
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panicking.rs:281
  39:     0x7ff76e3ec188 - std::panic::catch_unwind
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\panic.rs:394
  40:     0x7ff76e3ec188 - std::rt::lang_start_internal
                               at /rustc/4fb7144ed159f94491249e86d5bbd033b5d60550\/src\libstd\rt.rs:51
  41:     0x7ff76e2201c7 - main
  42:     0x7ff76e4037c4 - invoke_main
                               at d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  43:     0x7ff76e4037c4 - __scrt_common_main_seh
                               at d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  44:     0x7fff3f119784 - BaseThreadInitThunk
  45:     0x7fff402596a1 - RtlUserThreadStart
stack backtrace:
error: process didn't exit successfully: `target\debug\examples\heart.exe` (exit code: 101)

myrrlyn avatar May 22 '20 20:05 myrrlyn