pathfinder
pathfinder copied to clipboard
GL error 0x502 causes a double panic
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.
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.
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.
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)