Skip to content

Application window resizes, crashes for multi-monitor Linux #225

@lbordowitz

Description

@lbordowitz

Description

(Potentially related to #149 )

Moving a window between monitors causes the window to resize uncontrollably large, and the application subsequently crashes:

An unexpected panic ocurred, the program has to exit.
Please report this error and attach the log file found in the directory of the executable.

The error ocurred in: /home/lbordowitz/.cargo/git/checkouts/azul-dependencies-70bb1f94316762f9/bf2933b/webrender-0.57.2/src/render_task.rs at line 46 in thread WRRenderBackend#0

Error information:
explicit panic

Backtrace:

azul::logging::set_up_panic_hooks::panic_fn @ logging.rs:86
core::ops::function::Fn::call @ function.rs:69
std::panicking::rust_panic_with_hook
std::panicking::begin_panic @ panicking.rs:408
webrender::render_task::render_task_sanity_check @ render_task.rs:46
webrender::render_task::RenderTask::new_picture @ render_task.rs:448
webrender::frame_builder::FrameBuilder::build_layer_screen_rects_and_cull_layers @ frame_builder.rs:337
webrender::frame_builder::FrameBuilder::build @ frame_builder.rs:401
webrender::render_backend::Document::build_frame @ render_backend.rs:421
webrender::render_backend::RenderBackend::update_document @ render_backend.rs:1242
webrender::render_backend::RenderBackend::run @ render_backend.rs:793
webrender::renderer::Renderer::new::{{closure}} @ renderer.rs:1952
std::sys_common::backtrace::__rust_begin_short_backtrace @ backtrace.rs:136
std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} @ mod.rs:470
<std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once @ panic.rs:315
std::panicking::try::do_call @ panicking.rs:293
std::panicking::try @ panicking.rs:272
std::panic::catch_unwind @ panic.rs:394
std::thread::Builder::spawn_unchecked::{{closure}} @ mod.rs:469
core::ops::function::FnOnce::call_once{{vtable.shim}} @ function.rs:231
<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
std::sys_common::thread::start_thread
std::sys::unix::thread::Thread::new::thread_start
unresolved function

This is followed by another error message:

An unexpected panic ocurred, the program has to exit.
Please report this error and attach the log file found in the directory of the executable.

The error ocurred in: src/libcore/result.rs at line 999 in thread main

Error information:
called  on an  value: Custom { kind: Other, error: StringError(receiving

After which, the window closes. On the console, I receive the following information:

    Finished dev [unoptimized + debuginfo] target(s) in 0.19s
     Running `target/debug/my_first_azul_app`
[ERROR][webrender::render_task] Attempting to create a render task of size 1200x16230
[ERROR][azul::logging] An unexpected panic ocurred, the program has to exit.
Please report this error and attach the log file found in the directory of the executable.

The error ocurred in: /home/lbordowitz/.cargo/git/checkouts/azul-dependencies-70bb1f94316762f9/bf2933b/webrender-0.57.2/src/render_task.rs at line 46 in thread WRRenderBackend#0

Error information:
explicit panic

Backtrace:

azul::logging::set_up_panic_hooks::panic_fn @ logging.rs:86
core::ops::function::Fn::call @ function.rs:69
std::panicking::rust_panic_with_hook
std::panicking::begin_panic @ panicking.rs:408
webrender::render_task::render_task_sanity_check @ render_task.rs:46
webrender::render_task::RenderTask::new_picture @ render_task.rs:448
webrender::frame_builder::FrameBuilder::build_layer_screen_rects_and_cull_layers @ frame_builder.rs:337
webrender::frame_builder::FrameBuilder::build @ frame_builder.rs:401
webrender::render_backend::Document::build_frame @ render_backend.rs:421
webrender::render_backend::RenderBackend::update_document @ render_backend.rs:1242
webrender::render_backend::RenderBackend::run @ render_backend.rs:793
webrender::renderer::Renderer::new::{{closure}} @ renderer.rs:1952
std::sys_common::backtrace::__rust_begin_short_backtrace @ backtrace.rs:136
std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} @ mod.rs:470
<std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once @ panic.rs:315
std::panicking::try::do_call @ panicking.rs:293
std::panicking::try @ panicking.rs:272
std::panic::catch_unwind @ panic.rs:394
std::thread::Builder::spawn_unchecked::{{closure}} @ mod.rs:469
core::ops::function::FnOnce::call_once{{vtable.shim}} @ function.rs:231
<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
std::sys_common::thread::start_thread
std::sys::unix::thread::Thread::new::thread_start
unresolved function

Gtk-Message: 13:33:30.623: GtkDialog mapped without a transient parent. This is discouraged.
[ERROR][azul::logging] An unexpected panic ocurred, the program has to exit.
Please report this error and attach the log file found in the directory of the executable.

The error ocurred in: src/libcore/result.rs at line 999 in thread main

Error information:
called `Result::unwrap()` on an `Err` value: Custom { kind: Other, error: StringError("receiving on a closed channel") }

Backtrace:

azul::logging::set_up_panic_hooks::panic_fn @ logging.rs:86
core::ops::function::Fn::call @ function.rs:69
std::panicking::rust_panic_with_hook
std::panicking::continue_panic_fmt
core::panicking::panic_fmt
core::result::unwrap_failed @ macros.rs:18
core::result::Result<T,E>::unwrap @ result.rs:800
webrender_api::api::RenderApi::hit_test @ api.rs:1187
azul::app::do_hit_test @ app.rs:895
azul::app::hit_test_single_window::{{closure}} @ app.rs:717
core::option::Option<T>::or_else @ option.rs:716
azul::app::hit_test_single_window @ app.rs:717
azul::app::App<T>::run_inner @ app.rs:355
azul::app::App<T>::run @ app.rs:283
my_first_azul_app::main @ main.rs:16
std::rt::lang_start::{{closure}} @ rt.rs:64
std::panicking::try::do_call
std::rt::lang_start_internal
std::rt::lang_start @ rt.rs:64
unresolved function

sh: command substitution: line 31: syntax error: unexpected end of file
sh: line 30: Err: command not found
Gtk-Message: 13:34:21.431: GtkDialog mapped without a transient parent. This is discouraged.
[ERROR][azul::window] Shutdown error: Context error

Version / OS

  • azul version:
    master branch

  • Operating system:
    Ubuntu

  • Windowing system (X11 or Wayland, Linux only):
    X11

Steps to Reproduce

Create a new project, with main.rs as listed on Getting Started:

extern crate azul;

use azul::prelude::*;

struct MyDataModel { }

impl Layout for MyDataModel {
    fn layout(&self, _: LayoutInfo<Self>) -> Dom<Self> {
        Dom::div()
    }
}

fn main() {
    let mut app = App::new(MyDataModel { }, AppConfig::default()).unwrap();
    let window = app.create_window(WindowCreateOptions::default(), css::native()).unwrap();
    app.run(window).unwrap();
}

The Cargo.toml should have dependencies that look like this:

[dependencies]
azul = { git = "https://github.com/maps4print/azul" }

Additional Information

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingplatform:linuxIssue appears on Linux

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions