servo / pathfinder

A fast, practical GPU rasterizer for fonts and vector graphics
Apache License 2.0
3.54k stars 198 forks source link

Pathfinder Simd does not detect if target has sse4.1 #502

Open MinusGix opened 2 years ago

MinusGix commented 2 years ago

By default, pathfinder_simd exports the x86 simd operations as the default module, however at least some of these are SSE4.1 instructions which aren't supported on all x86 platforms. (This being from https://github.com/lapce/lapce/issues/70 where the person has a Phenom II). Lapce depends on pathfinder_simd through font-kit (which depends on pathfinder_geometry).
I imagine a simple fix (skipping over writing out a separate x86 version without sse4.1) would be to add a target_feature = "sse4.1" to the x86, and so otherwise export scalar as the default on platforms which don't support it.

superlou commented 2 years ago

If someone can give me a pointer on how to get started, I can try to test this approach on my Phenom II hardware.

GalaxySnail commented 4 months ago

I have the same problem. mission-center 0.4.4-1 on AUR coredumped with illegal hardware instruction.

backtrace ``` #0 0x000064f339593026 in core::core_arch::x86::sse41::_mm_floor_ps (a=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/../../stdarch/crates/core_arch/src/x86/sse41.rs:657 #1 0x000064f339591e24 in pathfinder_simd::x86::F32x4::floor (self=...) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/simd/src/x86/mod.rs:271 #2 0x000064f33959160f in pathfinder_simd::x86::F32x2::floor (self=...) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/simd/src/x86/mod.rs:79 #3 0x000064f3395837de in pathfinder_geometry::vector::Vector2F::floor (self=...) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/geometry/src/vector.rs:95 #4 0x000064f339579ccc in pathfinder_geometry::rect::RectF::round_out (self=...) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/geometry/src/rect.rs:172 #5 0x000064f33959a7bb in pathfinder_renderer::tiles::round_rect_out_to_tile_bounds (rect=...) at src/tiles.rs:65 #6 0x000064f33957e840 in pathfinder_renderer::builder::BuiltPath::new (path_id=..., path_bounds=..., view_box_bounds=..., fill_rule=pathfinder_content::fill::FillRule::Winding, prepare_mode=0x7fff58a8c2a0, clip_path_id=..., tiling_path_info=0x7fff58a8bfb8) at src/builder.rs:430 #7 0x000064f33957ed38 in pathfinder_renderer::builder::ObjectBuilder::new (path_id=..., path_bounds=..., view_box_bounds=..., fill_rule=pathfinder_content::fill::FillRule::Winding, prepare_mode=0x7fff58a8c2a0, clip_path_id=..., tiling_path_info=0x7fff58a8bfb8) at src/builder.rs:493 #8 0x000064f33958ab1f in pathfinder_renderer::tiler::Tiler::new (scene_builder=0x7fff58a8daf0, path_id=..., outline=0x7fff58a8c2e0, fill_rule=pathfinder_content::fill::FillRule::Winding, view_box=..., prepare_mode=0x7fff58a8c2a0, clip_path_id=..., built_clip_paths=..., path_info=...) at src/tiler.rs:57 #9 0x000064f33957defb in pathfinder_renderer::builder::SceneBuilder::build_draw_path_on_cpu (self=0x7fff58a8daf0, params=...) at src/builder.rs:296 #10 0x000064f3392fdde1 in pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure#1} (path_index=0) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/renderer/src/builder.rs:241 #11 0x000064f3392665ab in core::iter::adapters::map::map_fold::{closure#0}, core::iter::traits::iterator::Iterator::for_each::call::{closure_env#0}, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>>>> (acc=(), elt=0) at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/iter/adapters/map.rs:85 #12 0x000064f3390db4e1 in core::iter::traits::iterator::Iterator::fold, (), core::iter::adapters::map::map_fold::{closure_env#0}, core::iter::traits::iterator::Iterator::for_each::call::{closure_env#0} for more, q to quit, c to continue without paging--c finder_renderer::builder::BuiltDrawPath, alloc::vec::{impl#19}::extend_trusted::{closure_env#0}, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>>>>> (self=..., init=(), f=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/iter/traits/iterator.rs:2640 #13 0x000064f339265625 in core::iter::adapters::map::{impl#2}::fold, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}, (), core::iter::traits::iterator::Iterator::for_each::call::{closure_env#0}, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>>>> (self=..., init=(), g=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/iter/adapters/map.rs:125 #14 0x000064f339266034 in core::iter::traits::iterator::Iterator::for_each, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>, alloc::vec::{impl#19}::extend_trusted::{closure_env#0}, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>>> (self=..., f=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/iter/traits/iterator.rs:858 #15 0x000064f339301c09 in alloc::vec::Vec::extend_trusted, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>> (self=0x7fff58a8ccf0, iterator=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/alloc/src/vec/mod.rs:2923 #16 0x000064f33930859a in alloc::vec::spec_extend::{impl#1}::spec_extend, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>, alloc::alloc::Global> (self=0x7fff58a8ccf0, iterator=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/alloc/src/vec/spec_extend.rs:26 #17 0x000064f3392ff9d0 in alloc::vec::spec_from_iter_nested::{impl#1}::from_iter, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>> (iterator=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/alloc/src/vec/spec_from_iter_nested.rs:62 #18 0x000064f33930868d in alloc::vec::spec_from_iter::{impl#0}::from_iter, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>> (iterator=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/alloc/src/vec/spec_from_iter.rs:33 #19 0x000064f3393083f5 in alloc::vec::{impl#14}::from_iter, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>> (iter=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/alloc/src/vec/mod.rs:2791 #20 0x000064f339265e2d in core::iter::traits::iterator::Iterator::collect, pathfinder_renderer::builder::{impl#1}::build_paths_on_cpu::{closure_env#1}>, alloc::vec::Vec> (self=...) at /usr/src/debug/rust/rustc-1.76.0-src/library/core/src/iter/traits/iterator.rs:2054 #21 0x000064f3392b13de in pathfinder_renderer::concurrent::executor::{impl#0}::build_vector> (self=0x7fff58a8dbf0, length=27, builder=...) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/renderer/src/concurrent/executor.rs:30 #22 0x000064f3392fdc06 in pathfinder_renderer::builder::SceneBuilder::build_paths_on_cpu (self=0x7fff58a8daf0, executor=0x7fff58a8dbf0, paint_metadata=..., prepare_mode=0x7fff58a8d260) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/renderer/src/builder.rs:240 #23 0x000064f3392fe39d in pathfinder_renderer::builder::SceneBuilder::build (self=0x7fff58a8daf0, executor=0x7fff58a8dbf0) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/renderer/src/builder.rs:184 #24 0x000064f339267479 in pathfinder_renderer::scene::Scene::build (self=0x7fff58a8f920, options=..., sink=0x7fff58a8dc40, executor=0x7fff58a8dbf0) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/renderer/src/scene.rs:296 #25 0x000064f33926712a in pathfinder_renderer::scene::Scene::build_into_vector (self=0x7fff58a8f920, renderer=0x7fff58a8df10, build_options=..., executor=...) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/renderer/src/scene.rs:362 #26 0x000064f339266dac in pathfinder_renderer::scene::Scene::build_and_render (self=0x7fff58a8f920, renderer=0x7fff58a8df10, build_options=, executor=...) at /usr/src/debug/mission-center/build/cargo-home/git/checkouts/pathfinder-2491cde5636b5954/ec56924/renderer/src/scene.rs:374 #27 0x000064f33929ff91 in missioncenter::performance_page::widgets::graph_widget::imp::GraphWidget::render_all (self=0x64f33b7c58e0, width=487, height=409, scale_factor=1) at src/performance_page/widgets/graph_widget.rs:398 #28 0x000064f33929f939 in missioncenter::performance_page::widgets::graph_widget::imp::GraphWidget::render_init_pathfinder (self=0x64f33b7c58e0, width=487, height=409, scale_factor=1) at src/performance_page/widgets/graph_widget.rs:342 #29 0x000064f3392a029f in missioncenter::performance_page::widgets::graph_widget::imp::{impl#5}::render (self=0x64f33b7c58e0) at src/performance_page/widgets/graph_widget.rs:459 #30 0x000064f3391950db in gtk4::subclass::gl_area::gl_area_render (ptr=0x64f33b7c6580, context=0x64f347d36480) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/gl_area.rs:105 #31 0x00007a1e5cbdb124 in ??? () at /usr/lib/libgtk-4.so.1 #35 0x00007a1e5c45ad34 in (instance=, signal_id=, detail=) at ../glib/gobject/gsignal.c:3675 #32 0x00007a1e5c45ab73 in _g_closure_invoke_va (param_types=0x64f33b63a5a0, n_params=, args=0x7fff58a92ed0, instance=0x64f33b7c6580, return_value=0x7fff58a92df0, closure=0x64f33b62b450) at ../glib/gobject/gclosure.c:895 #33 signal_emit_valist_unlocked (instance=instance@entry=0x64f33b7c6580, signal_id=signal_id@entry=204, detail=detail@entry=0, var_args=var_args@entry=0x7fff58a92ed0) at ../glib/gobject/gsignal.c:3516 #34 0x00007a1e5c45ac77 in g_signal_emit_valist (instance=0x64f33b7c6580, signal_id=204, detail=0, var_args=var_args@entry=0x7fff58a92ed0) at ../glib/gobject/gsignal.c:3355 #36 0x00007a1e5c950393 in ??? () at /usr/lib/libgtk-4.so.1 #37 0x000064f3391a1275 in gtk4::subclass::widget::WidgetImplExt::parent_snapshot (self=0x64f33b7c58e0, snapshot=0x7fff58a930d0) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:480 #38 0x000064f3391a06e3 in gtk4::subclass::widget::WidgetImpl::snapshot (self=0x64f33b7c58e0, snapshot=0x7fff58a930d0) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:185 #39 0x000064f3390d0ffb in gtk4::subclass::widget::widget_snapshot (ptr=0x64f33b7c6580, snapshot_ptr=0x64f349b4fb10) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:809 #40 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #41 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #42 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #43 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #44 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #45 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #46 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #47 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #48 0x000064f3390e96d5 in gtk4::subclass::widget::WidgetImplExt::parent_snapshot (self=0x64f33b749980, snapshot=0x7fff58a935b0) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:480 #49 0x000064f3390e8b43 in gtk4::subclass::widget::WidgetImpl::snapshot (self=0x64f33b749980, snapshot=0x7fff58a935b0) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:185 #50 0x000064f3390d0e6b in gtk4::subclass::widget::widget_snapshot (ptr=0x64f33b749bd0, snapshot_ptr=0x64f349b4fb10) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:809 #51 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #52 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #53 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #54 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #55 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #56 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #57 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #58 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #59 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #60 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #61 0x00007a1e5d0dd90d in adw_overlay_split_view_snapshot (widget=0x64f33b4daa70 [AdwOverlaySplitView], snapshot=0x64f349b4fb10) at ../libadwaita/src/adw-overlay-split-view.c:709 #62 0x00007a1e5ca742be in ??? () at /usr/lib/libgtk-4.so.1 #63 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #64 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #65 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #66 0x000064f33910d2d5 in gtk4::subclass::widget::WidgetImplExt::parent_snapshot (self=0x64f33b4cdea0, snapshot=0x7fff58a93e70) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:480 #67 0x000064f33910c743 in gtk4::subclass::widget::WidgetImpl::snapshot (self=0x64f33b4cdea0, snapshot=0x7fff58a93e70) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:185 #68 0x000064f3390d0fab in gtk4::subclass::widget::widget_snapshot (ptr=0x64f33b4ce0c0, snapshot_ptr=0x64f349b4fb10) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:809 #69 0x00007a1e5ca742be in ??? () at /usr/lib/libgtk-4.so.1 #70 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #71 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #72 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #73 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #74 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #75 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #76 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #77 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #78 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #79 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #80 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #81 0x00007a1e5ca742be in ??? () at /usr/lib/libgtk-4.so.1 #82 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #83 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #84 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #85 0x00007a1e5ca73ecc in ??? () at /usr/lib/libgtk-4.so.1 #86 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #87 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #88 0x00007a1e5d0dd90d in adw_overlay_split_view_snapshot (widget=0x64f33b5768b0 [AdwOverlaySplitView], snapshot=0x64f349b4fb10) at ../libadwaita/src/adw-overlay-split-view.c:709 #89 0x00007a1e5ca742be in ??? () at /usr/lib/libgtk-4.so.1 #90 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #91 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #92 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #93 0x00007a1e5ca742be in ??? () at /usr/lib/libgtk-4.so.1 #94 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #95 0x00007a1e5ca74d34 in gtk_widget_snapshot_child () at /usr/lib/libgtk-4.so.1 #96 0x00007a1e5ca62d9f in ??? () at /usr/lib/libgtk-4.so.1 #97 0x000064f3390dc825 in gtk4::subclass::widget::WidgetImplExt::parent_snapshot (self=0x64f33b39c8c0, snapshot=0x7fff58a94d50) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:480 #98 0x000064f3390dbc93 in gtk4::subclass::widget::WidgetImpl::snapshot (self=0x64f33b39c8c0, snapshot=0x7fff58a94d50) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:185 #99 0x000064f3390d0e1b in gtk4::subclass::widget::widget_snapshot (ptr=0x64f33b39cbe0, snapshot_ptr=0x64f349b4fb10) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gtk4-0.7.3/src/subclass/widget.rs:809 #100 0x00007a1e5ca742be in ??? () at /usr/lib/libgtk-4.so.1 #101 0x00007a1e5ca74468 in ??? () at /usr/lib/libgtk-4.so.1 #102 0x00007a1e5ca74b7b in ??? () at /usr/lib/libgtk-4.so.1 #103 0x00007a1e5ca75a69 in ??? () at /usr/lib/libgtk-4.so.1 #104 0x00007a1e5cbdaf09 in ??? () at /usr/lib/libgtk-4.so.1 #108 0x00007a1e5c45ad34 in (instance=, signal_id=, detail=) at ../glib/gobject/gsignal.c:3675 #105 0x00007a1e5c45ab73 in _g_closure_invoke_va (param_types=0x64f33b57c780, n_params=, args=0x7fff58a952c0, instance=0x64f33b5bd7e0, return_value=0x7fff58a951e0, closure=0x64f33b5bfdb0) at ../glib/gobject/gclosure.c:895 #106 signal_emit_valist_unlocked (instance=instance@entry=0x64f33b5bd7e0, signal_id=signal_id@entry=188, detail=detail@entry=0, var_args=var_args@entry=0x7fff58a952c0) at ../glib/gobject/gsignal.c:3516 #107 0x00007a1e5c45ac77 in g_signal_emit_valist (instance=0x64f33b5bd7e0, signal_id=188, detail=0, var_args=var_args@entry=0x7fff58a952c0) at ../glib/gobject/gsignal.c:3355 #109 0x00007a1e5cc47c2c in ??? () at /usr/lib/libgtk-4.so.1 #113 0x00007a1e5c45ad34 in (instance=, signal_id=, detail=) at ../glib/gobject/gsignal.c:3675 #110 0x00007a1e5c45ab73 in _g_closure_invoke_va (param_types=0x0, n_params=, args=0x7fff58a955f0, instance=0x64f33b5be990, return_value=0x0, closure=0x64f33b5bc6c0) at ../glib/gobject/gclosure.c:895 #111 signal_emit_valist_unlocked (instance=instance@entry=0x64f33b5be990, signal_id=signal_id@entry=197, detail=detail@entry=0, var_args=var_args@entry=0x7fff58a955f0) at ../glib/gobject/gsignal.c:3516 #112 0x00007a1e5c45ac77 in g_signal_emit_valist (instance=0x64f33b5be990, signal_id=197, detail=0, var_args=var_args@entry=0x7fff58a955f0) at ../glib/gobject/gsignal.c:3355 #114 0x00007a1e5cc348ca in ??? () at /usr/lib/libgtk-4.so.1 #115 0x00007a1e5cc349ef in ??? () at /usr/lib/libgtk-4.so.1 #116 0x00007a1e5c3363ee in g_timeout_dispatch (source=0x64f3497f4920, callback=, user_data=) at ../glib/glib/gmain.c:5121 #117 0x00007a1e5c334f69 in g_main_dispatch (context=0x64f33b2e0ab0) at ../glib/glib/gmain.c:3476 #118 0x00007a1e5c3933a7 in g_main_context_dispatch_unlocked (context=0x64f33b2e0ab0) at ../glib/glib/gmain.c:4284 #119 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x64f33b2e0ab0, block=block@entry=1, dispatch=dispatch@entry=1, self=) at ../glib/glib/gmain.c:4349 #120 0x00007a1e5c333162 in g_main_context_iteration (context=context@entry=0x64f33b2e0ab0, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4414 #121 0x00007a1e5c568b66 in g_application_run (application=0x64f33b2dcbc0 [MissioncenterApplication], argc=, argv=0x64f33b312b90) at ../glib/gio/gapplication.c:2577 #122 0x000064f33930eb8e in gio::application::ApplicationExtManual::run_with_args (self=0x7fff58a95bd0, args=...) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gio-0.18.3/src/application.rs:29 #123 0x000064f33930eca9 in gio::application::ApplicationExtManual::run (self=0x7fff58a95bd0) at /usr/src/debug/mission-center/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gio-0.18.3/src/application.rs:22 #124 0x000064f3393103e8 in missioncenter::main () at src/main.rs:128 ```
lscpu ``` Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 32 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Vendor ID: GenuineIntel Model name: Intel(R) Atom(TM) CPU N450 @ 1.66GHz CPU family: 6 Model: 28 Thread(s) per core: 2 Core(s) per socket: 1 Socket(s): 1 Stepping: 10 CPU(s) scaling MHz: 60% CPU max MHz: 1667.0000 CPU min MHz: 1000.0000 BogoMIPS: 3326.39 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscal l nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 x tpr pdcm movbe lahf_lm dtherm ```

Is there any workaround for this?