azul icon indicating copy to clipboard operation
azul copied to clipboard

OpenGL framebuffer not complete

Open Cerapter opened this issue 6 years ago • 4 comments

Description

Examples like calculator, async, opengl, list and hello_world crash on cargo run. Two windows pop up, which detail the error (error posted below).

Version / OS

  • azul version: commit a6d58ae4fc8e2657981cc510d9f7fbcdc5af0023

  • Operating system: Xubuntu

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

Steps to Reproduce

I mean, I wish I knew. Do cargo run --example calculator?

Additional Information

[ERROR][webrender::render_task] Attempting to create a render task of size 16907x6
[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: azul/src/app.rs at line 1285 in thread main

Error information:
assertion failed: gl_context.check_frame_buffer_status(gl::FRAMEBUFFER) ==
    gl::FRAMEBUFFER_COMPLETE

Backtrace:

azul::logging::set_up_panic_hooks::panic_fn @ logging.rs:86
core::ops::function::Fn::call @ function.rs:69
 @ panicking.rs:482
std::panicking::begin_panic @ panicking.rs:412
azul::app::render_inner @ <::std::macros::panic macros>:3
azul::app::rerender_single_window @ app.rs:828
<azul::app::App<T>>::run_inner @ app.rs:499
<azul::app::App<T>>::run @ app.rs:367
hello_world::main @ hello_world.rs:29
std::rt::lang_start::{{closure}} @ rt.rs:64
 @ rt.rs:49
 @ panicking.rs:297
 @ lib.rs:87
 @ panicking.rs:276
 @ panic.rs:388
 @ rt.rs:48
std::rt::lang_start @ rt.rs:64
unresolved function

[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/default/.cargo/git/checkouts/azul-dependencies-70bb1f94316762f9/380b7e7/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
 @ panicking.rs:482
std::panicking::begin_panic @ panicking.rs:412
webrender::render_task::render_task_sanity_check @ render_task.rs:46
webrender::render_task::RenderTask::with_dynamic_location @ render_task.rs:420
webrender::render_task::RenderTask::new_mask @ render_task.rs:616
webrender::prim_store::BrushSegment::update_clip_task @ prim_store.rs:1648
webrender::prim_store::PrimitiveInstance::update_clip_task_for_brush @ prim_store.rs:4101
webrender::prim_store::PrimitiveInstance::update_clip_task @ prim_store.rs:4153
webrender::prim_store::PrimitiveStore::prepare_prim_for_render @ prim_store.rs:3033
webrender::prim_store::PrimitiveStore::prepare_primitives @ prim_store.rs:3204
webrender::frame_builder::FrameBuilder::build_layer_screen_rects_and_cull_layers @ frame_builder.rs:315
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:135
std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}} @ mod.rs:469
<std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once @ panic.rs:309
std::panicking::try::do_call @ panicking.rs:297
 @ lib.rs:87
std::panicking::try @ panicking.rs:276
std::panic::catch_unwind @ panic.rs:388
std::thread::Builder::spawn_unchecked::{{closure}} @ mod.rs:468
<F as alloc::boxed::FnBox<A>>::call_box @ boxed.rs:749
 @ boxed.rs:759
 @ thread.rs:14
 @ thread.rs:81
unresolved function

Cerapter avatar May 04 '19 11:05 Cerapter

The gl_context.check_frame_buffer_status(gl::FRAMEBUFFER) call seems to be returning a GLenum of 0x8CD6, or FRAMEBUFFER_INCOMPLETE_ATTACHMENT.

Cerapter avatar May 04 '19 16:05 Cerapter

Well, "it works on my machine" - this can be everything from a driver bug to a race condition between webrenders OpenGL state and Azul, I'm not sure. What graphics driver do you have?

fschutt avatar May 05 '19 03:05 fschutt

amdgpu.

Cerapter avatar May 05 '19 13:05 Cerapter

I get this error as well, for the slider example in commit dcc69cd12acc77676ce2228064395228d17eac93.

The error ocurred in: /home/andrew/.cargo/registry/src/github.com-1ecc6299db9ec823/webrender-0.60.0/src/device/gl.rs at line 1888 in thread main

Error information:
assertion failed: 
  left: ,
 right: : Incomplete framebuffer

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 @ panicking.rs:468
std::panicking::continue_panic_fmt @ panicking.rs:373
std::panicking::begin_panic_fmt @ panicking.rs:328
webrender::device::gl::Device::init_fbos @ gl.rs:1888
webrender::device::gl::Device::create_texture @ gl.rs:1733
webrender::renderer::Renderer::update_texture_cache::{{closure}} @ renderer.rs:2832
webrender::profiler::TimeProfileCounter::profile @ profiler.rs:253
webrender::renderer::Renderer::update_texture_cache @ renderer.rs:2821
webrender::renderer::Renderer::render_impl::{{closure}} @ renderer.rs:2558
webrender::profiler::TimeProfileCounter::profile @ profiler.rs:253
webrender::renderer::Renderer::render_impl @ renderer.rs:2548
webrender::renderer::Renderer::update @ renderer.rs:2110
azul::app::render_inner @ app.rs:1541
azul::app::App<T>::run_inner::{{closure}} @ app.rs:576
winit::platform_impl::platform::sticky_exit_callback @ mod.rs:693
winit::platform_impl::platform::x11::EventLoop<T>::run_return @ mod.rs:300
winit::platform_impl::platform::x11::EventLoop<T>::run @ mod.rs:386
winit::platform_impl::platform::EventLoop<T>::run @ mod.rs:640
winit::event_loop::EventLoop<T>::run @ event_loop.rs:148
azul::app::App<T>::run_inner @ app.rs:309
azul::app::App<T>::run @ app.rs:250
rust_flashcards::main @ main.rs:85
std::rt::lang_start::{{closure}} @ rt.rs:61
std::rt::lang_start_internal::{{closure}} @ rt.rs:48
std::panicking::try::do_call @ panicking.rs:287
 @ lib.rs:78
std::panicking::try @ panicking.rs:265
std::panic::catch_unwind @ panic.rs:396
std::rt::lang_start_internal @ rt.rs:47
std::rt::lang_start @ rt.rs:61
unresolved function

nvidia drivers on debian.

andrewzah avatar Dec 24 '19 16:12 andrewzah