orbtk
orbtk copied to clipboard
Panic when trying to implement plotters backend.
Hello
Describe the bug
I'm working on creating an OrbTk backend for plotters. This is working alright, but I encountered a problem. When trying to create this example, a component of raqote panics with thread 'main' panicked at 'attempt to add with overflow', C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\sw-composite-0.7.13\src\lib.rs:893:7
. When using cargo run --release
, the code doesn't panic but the plot isn't displayed properly.
I'm not sure what or why this is happening and my attemps at creating a minimal example failed.
To Reproduce Steps to reproduce the behavior:
- Clone
https://github.com/arctic-alpaca/plotters_in_orbtk.git
-
cargo run
to see the panic orcargo run --release
to see the broken plot
Expected behavior The code shouldn't panic and the plot should be displayed correctly.
Screenshots How the plot should look like:
How it does look like:
Desktop (please complete the following information):
- OS: Windows 10 1909
- Cargo.toml of the project:
[dependencies] orbtk = { git = "https://github.com/redox-os/orbtk.git", branch = "develop" } plotters = "^0.3.0" orbtk_backend = {path = "orbtk_backend"}
- Cargo.toml of the backend:
[dependencies] plotters-backend = {version = "^0.3.0"} orbtk = { git = "https://github.com/redox-os/orbtk.git", branch = "develop" } [dev-dependencies] plotters = {version = "^0.3.0"}
Additional context
Backtrace
Running `target\debug\plotters_in_orbtk.exe`
thread 'main' panicked at 'attempt to add with overflow', C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\sw-composite-0.7.13\src\lib.rs:893:7
stack backtrace:
0: 0x101afeb - backtrace::backtrace::dbghelp::trace::ha09940ef4b8fd9a2
at C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace/dbghelp.rs:88
1: 0x101afeb - backtrace::backtrace::trace_unsynchronized::h19d7d1b30f96fe6c
at C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace/mod.rs:66
2: 0x101afeb - std::sys_common::backtrace::_print_fmt::hf038dfff95c497df
at src\libstd\sys_common/backtrace.rs:78
3: 0x101afeb - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::he2295693089d2e8c
at src\libstd\sys_common/backtrace.rs:59
4: 0x104698c - core::fmt::write::h2e7468e40976ea37
at src\libcore\fmt/mod.rs:1076
5: 0x100c689 - std::io::Write::write_fmt::hef3158223e737cb6
at src\libstd\io/mod.rs:1537
6: 0x101f820 - std::sys_common::backtrace::_print::he4a39cb956ba394d
at src\libstd\sys_common/backtrace.rs:62
7: 0x101f820 - std::sys_common::backtrace::print::h38d45a7d7a4d1f02
at src\libstd\sys_common/backtrace.rs:49
8: 0x101f820 - std::panicking::default_hook::{{closure}}::hfcc0d2f90e4d71be
at src\libstd/panicking.rs:198
9: 0x101f4a9 - std::panicking::default_hook::h7e61c8ee936a661d
at src\libstd/panicking.rs:217
10: 0x101ff5d - std::panicking::rust_panic_with_hook::h8b0608bd552a3d13
at src\libstd/panicking.rs:526
11: 0x101fb74 - rust_begin_unwind
at src\libstd/panicking.rs:437
12: 0x10432d0 - core::panicking::panic_fmt::h858651244c7bf662
at src\libcore/panicking.rs:85
13: 0x104321c - core::panicking::panic::h3d3bbc55f27215e0
at src\libcore/panicking.rs:50
14: 0xb60982 - sw_composite::over_in::h282ad0b132fae7c7
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\sw-composite-0.7.13\src/lib.rs:893
15: 0xb53f70 - <raqote::blitter::ShaderMaskBlitter as raqote::blitter::Blitter>::blit_span::h8f738c757f051f98
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/blitter.rs:468
16: 0xb4cbc3 - raqote::draw_target::DrawTarget::composite::he707b14ced8549ea
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/draw_target.rs:949
17: 0xb4b119 - raqote::draw_target::DrawTarget::fill::h14f30db3bc3dd4f3
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/draw_target.rs:704
18: 0xb4a604 - raqote::draw_target::DrawTarget::stroke::hc98438d58da12c7b
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/draw_target.rs:655
19: 0xb1b157 - orbtk_render::platform::RenderContext2D::stroke::hd3dcae43aff925ab
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\render\src\raqote/mod.rs:183
20: 0x43a4fc - <orbtk_backend::backend::OrbtkBackend as plotters_backend::DrawingBackend>::draw_line::h7db47e4a05807778
at C:\Users\xyz\CLionProjects\plotters_in_orbtk\orbtk_backend\src/backend.rs:94
21: 0x42a767 - plotters::coord::ranged2d::cartesian::MeshLine<X,Y>::draw::h3e367523dbc112a0
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\coord\ranged2d/cartesian.rs:150
22: 0x433b91 - plotters::chart::context::ChartContext<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh_lines::{{closure}}::h6434ff939ca339eb
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\chart/context.rs:188
23: 0x440474 - plotters::drawing::area::DrawingArea<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::{{closure}}::{{closure}}::he23379c00076231e
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\drawing/area.rs:200
24: 0x42b032 - plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>::draw_mesh::h0d8cb2f67db42bb7
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\coord\ranged2d/cartesian.rs:72
25: 0x440307 - plotters::drawing::area::DrawingArea<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::{{closure}}::haedd2c20c591ddaa
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\drawing/area.rs:199
26: 0x43cc14 - plotters::drawing::area::DrawingArea<DB,CT>::backend_ops::h69a138dce0fda22d
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\drawing/area.rs:277
27: 0x440139 - plotters::drawing::area::DrawingArea<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::h113aae9e0537bae4
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\drawing/area.rs:198
28: 0x43368e - plotters::chart::context::ChartContext<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh_lines::ha0b5f09dc6e6bcfb
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\chart/context.rs:170
29: 0x437cb9 - plotters::chart::context::ChartContext<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::h47dcb03886dff824
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\chart/context.rs:481
30: 0x449b10 - plotters::chart::mesh::MeshStyle<X,Y,DB>::draw::had68e67be7a163a1
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\plotters-0.3.0\src\chart/mesh.rs:463
31: 0x41e4fc - <plotters_in_orbtk::Graphic2DPipeline as orbtk_render::RenderPipeline>::draw::hfb7bc0e79fcac0aa
at src/main.rs:36
32: 0x42bf33 - orbtk_render::PipelineTrait::draw_pipeline::h0f3b61e835f8c6b6
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\render\src/lib.rs:122
33: 0xb1ca27 - orbtk_render::platform::RenderContext2D::draw_pipeline::hf944ae1c1abb44d2
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\render\src\raqote/mod.rs:352
34: 0x996d36 - <orbtk_api::render_object::pipeline::PipelineRenderObject as orbtk_api::render_object::RenderObject>::render_self::h5bf0bcaf5f18fb91
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/pipeline.rs:15
35: 0x997f31 - orbtk_api::render_object::RenderObject::render::h73f17b5c511777e9
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/mod.rs:80
36: 0xa4a973 - orbtk_api::render_object::RenderObject::render_children::h19ea94a6fd62e58b
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/mod.rs:151
37: 0xa4a5be - orbtk_api::render_object::RenderObject::render::hffc8267db4da09a4
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/mod.rs:103
38: 0x9d3c43 - orbtk_api::render_object::RenderObject::render_children::h4add76e8cda2515d
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/mod.rs:151
39: 0x9d386e - orbtk_api::render_object::RenderObject::render::h98b5b9302dceef47
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/mod.rs:103
40: 0xa4a973 - orbtk_api::render_object::RenderObject::render_children::h19ea94a6fd62e58b
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/mod.rs:151
41: 0xa4a5be - orbtk_api::render_object::RenderObject::render::hffc8267db4da09a4
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\render_object/mod.rs:103
42: 0x98e8ca - <orbtk_api::systems::render_system::RenderSystem as dces::system::System<orbtk_tree::Tree,dces::component::string_component_store::StringComponentStore,orbtk_render::platform::RenderContext2D>>::run_with_context::h4167becef8e66cee
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\systems/render_system.rs:64
43: 0x9e2caa - dces::world::World<E,C,Ctx>::run_with_context::h43c0298dd70b869f
at C:\Users\xyz\.cargo\git\checkouts\dces-rust-0e90bfa1cf1cf6e4\df014f1\src/world.rs:144
44: 0x9c5993 - <orbtk_api::application::window_adapter::WindowAdapter as orbtk_shell::window_adapter::WindowAdapter>::run::hdbae44ff593edccb
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\application/window_adapter.rs:181
45: 0x9909b3 - orbtk_shell::platform::window::Window<A>::update::h57ce978b6bf83053
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\shell\src\orbclient/window.rs:333
46: 0x9f8efc - orbtk_shell::platform::Shell<A>::run::ha38887c8120f1ff9
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\shell\src\orbclient/mod.rs:81
47: 0xa54998 - orbtk_api::application::Application::run::h184b95337e81f035
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\eb4492c\crates\api\src\application/mod.rs:96
48: 0x41ecb5 - plotters_in_orbtk::main::hc261195bf5854dbf
at src/main.rs:100
49: 0x42c44b - std::rt::lang_start::{{closure}}::h2e091574df4ad394
at C:\Users\xyz\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib/rustlib/src/rust\src\libstd/rt.rs:67
50: 0x102021c - std::rt::lang_start_internal::{{closure}}::hcfe58f53feea7233
at src\libstd/rt.rs:52
51: 0x102021c - std::panicking::try::do_call::hc4163588b8559d85
at src\libstd/panicking.rs:348
52: 0x102021c - std::panicking::try::h310a3be58418d841
at src\libstd/panicking.rs:325
53: 0x102021c - std::panic::catch_unwind::h52728a6ebc96df5e
at src\libstd/panic.rs:394
54: 0x102021c - std::rt::lang_start_internal::ha1701ac7d300255b
at src\libstd/rt.rs:51
55: 0x42c423 - std::rt::lang_start::h1bcb8ae6d7ac1b31
at C:\Users\xyz\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib/rustlib/src/rust\src\libstd/rt.rs:67
56: 0x42180c - main
57: 0x4013c7 - _tmainCRTStartup
58: 0x4014fb - mainCRTStartup
59: 0x7fffbec47bd4 - _report_error
60: 0x7fffbf3ece51 - _report_error
error: process didn't exit successfully: `target\debug\plotters_in_orbtk.exe` (exit code: 101)
I tried a different example with success, so I hope my backend isn't the cause.
Nice work. Thank you I will check that.
I've created an issue also on the raqote repo: https://github.com/jrmuizel/raqote/issues/162
Thank you.
I forgot to include the modified version of the plotters_backend crate in the repository, this should be fixed now. This doesn't impact the original problem.
I could implement the plotters backend in raqote without issues. I didn't deal with the text portion of the backend, but that doesn't cause the panic issue in OrbTK either (but it probably does cause the clipped text in the top left).
I suspect, that the issue lies in the interaction of OrbTk and raqote or I'm not using the OrbTk drawing API correctly.
The panic seems to have changed location since I posted this issue. Maybe this is related to your commit d274938.
Current backtrace
thread 'main' panicked at 'attempt to add with overflow', C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\sw-composite-0.7.13\src\lib.rs:806:7
stack backtrace:
0: 0xfcb5ab - backtrace::backtrace::dbghelp::trace::ha09940ef4b8fd9a2
at C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace/dbghelp.rs:88
1: 0xfcb5ab - backtrace::backtrace::trace_unsynchronized::h19d7d1b30f96fe6c
at C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\backtrace-0.3.46\src\backtrace/mod.rs:66
2: 0xfcb5ab - std::sys_common::backtrace::_print_fmt::hf038dfff95c497df
at src\libstd\sys_common/backtrace.rs:78
3: 0xfcb5ab - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::he2295693089d2e8c
at src\libstd\sys_common/backtrace.rs:59
4: 0xff6f4c - core::fmt::write::h2e7468e40976ea37
at src\libcore\fmt/mod.rs:1076
5: 0xfbcc49 - std::io::Write::write_fmt::hef3158223e737cb6
at src\libstd\io/mod.rs:1537
6: 0xfcfde0 - std::sys_common::backtrace::_print::he4a39cb956ba394d
at src\libstd\sys_common/backtrace.rs:62
7: 0xfcfde0 - std::sys_common::backtrace::print::h38d45a7d7a4d1f02
at src\libstd\sys_common/backtrace.rs:49
8: 0xfcfde0 - std::panicking::default_hook::{{closure}}::hfcc0d2f90e4d71be
at src\libstd/panicking.rs:198
9: 0xfcfa69 - std::panicking::default_hook::h7e61c8ee936a661d
at src\libstd/panicking.rs:217
10: 0xfd051d - std::panicking::rust_panic_with_hook::h8b0608bd552a3d13
at src\libstd/panicking.rs:526
11: 0xfd0134 - rust_begin_unwind
at src\libstd/panicking.rs:437
12: 0xff3890 - core::panicking::panic_fmt::h858651244c7bf662
at src\libcore/panicking.rs:85
13: 0xff37dc - core::panicking::panic::h3d3bbc55f27215e0
at src\libcore/panicking.rs:50
14: 0xb10522 - sw_composite::over_in::h282ad0b132fae7c7
at C:\Users\xyz\.cargo\registry\src\github.com-1ecc6299db9ec823\sw-composite-0.7.13\src/lib.rs:806
15: 0xb03b10 - <raqote::blitter::ShaderMaskBlitter as raqote::blitter::Blitter>::blit_span::h8f738c757f051f98
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/blitter.rs:468
16: 0xafc763 - raqote::draw_target::DrawTarget::composite::he707b14ced8549ea
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/draw_target.rs:949
17: 0xafacb9 - raqote::draw_target::DrawTarget::fill::h14f30db3bc3dd4f3
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/draw_target.rs:704
18: 0xafa1a4 - raqote::draw_target::DrawTarget::stroke::hc98438d58da12c7b
at C:\Users\xyz\.cargo\git\checkouts\raqote-b0d3fc5b6a6a3416\d21bcda\src/draw_target.rs:655
19: 0xac7787 - orbtk_render::platform::RenderContext2D::stroke::hd3dcae43aff925ab
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\render\src\raqote/mod.rs:186
20: 0x45d83c - <orbtk_backend::backend::OrbtkBackend as plotters_backend::DrawingBackend>::draw_line::hebab7ee340950313
at C:\Users\xyz\Desktop\plotters_in_orbtk\orbtk_backend\src/backend.rs:94
21: 0x45e9c7 - plotters::coord::ranged2d::cartesian::MeshLine<X,Y>::draw::h3958351826950f62
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\coord\ranged2d/cartesian.rs:150
22: 0x402ef1 - plotters::chart::context::ChartContext<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh_lines::{{closure}}::heada7271e1b911d6
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\chart/context.rs:188
23: 0x42e874 - plotters::drawing::area::DrawingArea<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::{{closure}}::{{closure}}::hc1a0e391af6812a2
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\drawing/area.rs:200
24: 0x45f292 - plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>::draw_mesh::h2953b7a921e8e727
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\coord\ranged2d/cartesian.rs:72
25: 0x42e667 - plotters::drawing::area::DrawingArea<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::{{closure}}::h487f0bb0136ea3b4
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\drawing/area.rs:199
26: 0x42b044 - plotters::drawing::area::DrawingArea<DB,CT>::backend_ops::h6abc0dc482148840
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\drawing/area.rs:277
27: 0x42e5f9 - plotters::drawing::area::DrawingArea<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::hb1ae681e9667b87e
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\drawing/area.rs:198
28: 0x40266e - plotters::chart::context::ChartContext<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh_lines::h7122fd310ddf45b1
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\chart/context.rs:170
29: 0x407869 - plotters::chart::context::ChartContext<DB,plotters::coord::ranged2d::cartesian::Cartesian2d<X,Y>>::draw_mesh::h9048f902d0040524
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\chart/context.rs:481
30: 0x43a320 - plotters::chart::mesh::MeshStyle<X,Y,DB>::draw::h83efbf474b97e44e
at C:\Users\xyz\Desktop\plotters_in_orbtk\plotters\src\chart/mesh.rs:463
31: 0x45584c - <plotters_in_orbtk::Graphic2DPipeline as orbtk_render::RenderPipeline>::draw::h1f50f03c06b67390
at src/main.rs:36
32: 0x453a03 - orbtk_render::PipelineTrait::draw_pipeline::h46ec13c253a02833
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\render\src/lib.rs:122
33: 0xac9057 - orbtk_render::platform::RenderContext2D::draw_pipeline::hf944ae1c1abb44d2
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\render\src\raqote/mod.rs:355
34: 0x948c96 - <orbtk_api::render_object::pipeline::PipelineRenderObject as orbtk_api::render_object::RenderObject>::render_self::h5bf0bcaf5f18fb91
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/pipeline.rs:15
35: 0x949e91 - orbtk_api::render_object::RenderObject::render::h73f17b5c511777e9
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/mod.rs:80
36: 0x9ec463 - orbtk_api::render_object::RenderObject::render_children::h19ea94a6fd62e58b
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/mod.rs:151
37: 0x9ec0ae - orbtk_api::render_object::RenderObject::render::hffc8267db4da09a4
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/mod.rs:103
38: 0x977e43 - orbtk_api::render_object::RenderObject::render_children::h4add76e8cda2515d
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/mod.rs:151
39: 0x977a6e - orbtk_api::render_object::RenderObject::render::h98b5b9302dceef47
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/mod.rs:103
40: 0x9ec463 - orbtk_api::render_object::RenderObject::render_children::h19ea94a6fd62e58b
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/mod.rs:151
41: 0x9ec0ae - orbtk_api::render_object::RenderObject::render::hffc8267db4da09a4
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\render_object/mod.rs:103
42: 0x9855a3 - <orbtk_api::systems::render_system::RenderSystem as dces::system::System<orbtk_tree::Tree,dces::component::string_component_store::StringComponentStore,orbtk_render::platform::RenderContext2D>>::run_with_context::h4167becef8e66cee
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\systems/render_system.rs:62
43: 0x93a44a - dces::world::World<E,C,Ctx>::run_with_context::h43c0298dd70b869f
at C:\Users\xyz\.cargo\git\checkouts\dces-rust-0e90bfa1cf1cf6e4\df014f1\src/world.rs:144
44: 0x96bc43 - <orbtk_api::application::window_adapter::WindowAdapter as orbtk_shell::window_adapter::WindowAdapter>::run::hdbae44ff593edccb
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\application/window_adapter.rs:180
45: 0x9f1ce3 - orbtk_shell::platform::window::Window<A>::update::h57ce978b6bf83053
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\shell\src\orbclient/window.rs:336
46: 0x987c2c - orbtk_shell::platform::Shell<A>::run::ha38887c8120f1ff9
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\shell\src\orbclient/mod.rs:81
47: 0x9e76b8 - orbtk_api::application::Application::run::h184b95337e81f035
at C:\Users\xyz\.cargo\git\checkouts\orbtk-90d798f349c2ab56\b3b4a0d\crates\api\src\application/mod.rs:94
48: 0x456005 - plotters_in_orbtk::main::h5812d8786bdef0f4
at src/main.rs:100
49: 0x4146bb - std::rt::lang_start::{{closure}}::h59a31f16d2cdd3e1
at C:\Users\xyz\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib/rustlib/src/rust\src\libstd/rt.rs:67
50: 0xfd07dc - std::rt::lang_start_internal::{{closure}}::hcfe58f53feea7233
at src\libstd/rt.rs:52
51: 0xfd07dc - std::panicking::try::do_call::hc4163588b8559d85
at src\libstd/panicking.rs:348
52: 0xfd07dc - std::panicking::try::h310a3be58418d841
at src\libstd/panicking.rs:325
53: 0xfd07dc - std::panic::catch_unwind::h52728a6ebc96df5e
at src\libstd/panic.rs:394
54: 0xfd07dc - std::rt::lang_start_internal::ha1701ac7d300255b
at src\libstd/rt.rs:51
55: 0x414693 - std::rt::lang_start::h16f333e419b7336b
at C:\Users\xyz\.rustup\toolchains\stable-x86_64-pc-windows-gnu\lib/rustlib/src/rust\src\libstd/rt.rs:67
56: 0x458b5c - main
57: 0x4013c1 - __tmainCRTStartup
at D:/mingwbuild/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:335
58: 0x4014f6 - mainCRTStartup
at D:/mingwbuild/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:219
59: 0x7ffc82f07bd4 - SDL_Blit_BGRA8888_ARGB8888_Modulate_Blend.cold
60: 0x7ffc8400ce51 - SDL_Blit_BGRA8888_ARGB8888_Modulate_Blend.cold
error: process didn't exit successfully: `target\debug\plotters_in_orbtk.exe` (exit code: 101)
Disregard my last post, I think I found the problem. The application only panics when using rgba and it seems like using rgb and set_alpha
on the RenderContext2D
works. I guess the alpha is used twice when using rgba colors and that's what causes the overflow.
The bars not getting drawn at all was my fault, I screwed up the transform for the text and I think this might have caused it.
Edit: I updated my code, so far everything seems to be working as expected.
Great, I'm happy you found the source. It's a really great work!