orbtk icon indicating copy to clipboard operation
orbtk copied to clipboard

Panic when trying to implement plotters backend.

Open arctic-alpaca opened this issue 3 years ago • 6 comments

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:

  1. Clone https://github.com/arctic-alpaca/plotters_in_orbtk.git
  2. cargo run to see the panic or cargo 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:

68747470733a2f2f706c6f74746572732d72732e6769746875622e696f2f706c6f74746572732d646f632d646174612f686973746f6772616d2e706e67

How it does look like: plotters_in_orbtk

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.

arctic-alpaca avatar Sep 20 '20 17:09 arctic-alpaca

Nice work. Thank you I will check that.

FloVanGH avatar Sep 21 '20 03:09 FloVanGH

I've created an issue also on the raqote repo: https://github.com/jrmuizel/raqote/issues/162

FloVanGH avatar Sep 21 '20 03:09 FloVanGH

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.

arctic-alpaca avatar Sep 21 '20 08:09 arctic-alpaca

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)

arctic-alpaca avatar Sep 24 '20 11:09 arctic-alpaca

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.

arctic-alpaca avatar Sep 24 '20 12:09 arctic-alpaca

Great, I'm happy you found the source. It's a really great work!

FloVanGH avatar Sep 24 '20 14:09 FloVanGH