Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on Ubuntu 23.10 build from source @899c0bb #16009

Open
mtdudek opened this issue Apr 16, 2024 · 9 comments
Open

Crash on Ubuntu 23.10 build from source @899c0bb #16009

mtdudek opened this issue Apr 16, 2024 · 9 comments
Labels
bug Something isn't working desktop panic Hit a panic render-wgpu Issues relating to the wgpu renderer

Comments

@mtdudek
Copy link

mtdudek commented Apr 16, 2024

Describe what you were doing

I've build ruffle directly from source cargo run --release --package=ruffle_desktop.
Crash is instantaneous.

What does the crash message say?

panicked at desktop/src/gui/controller.rs:230:14:
Surface became unavailable: Timeout

Ruffle Version

0.1.0-nightly (899c0bb 2024-04-16)

Affected platform

Desktop app

Operating system

Ubuntu 23.10.0 (mantic) [64-bit]

Additional information

No response

@mtdudek mtdudek added bug Something isn't working panic Hit a panic labels Apr 16, 2024
@torokati44
Copy link
Member

Just curious, what GPU do you have, with which drivers?
Also, is this on Wayland or on X11?

@mtdudek
Copy link
Author

mtdudek commented Apr 16, 2024

Wayland session with AMD iGPU 680M(rembrant).
Driver: amdgpu kernel 6.7.3

@torokati44
Copy link
Member

Hmm, interesting... That is supposed to be one of the least problematic cases...

@torokati44
Copy link
Member

Just a random guess, might not do anything:
Could you try putting WAYLAND_DISPLAY="" before the command you pasted above? This should make it fall back to XWayland.

@mtdudek
Copy link
Author

mtdudek commented Apr 16, 2024

Forcing XWayland still produces the same issue.
Full backtrace

2024-04-16T20:40:58.196055Z  WARN sctk_adwaita::buttons: Ignoring unknown button type:     
ac_compute_device_uuid's output is based on invalid pci bus info.
2024-04-16T20:40:58.416822Z  INFO ruffle_desktop::gui::controller: Using preferred backend Vulkan
2024-04-16T20:40:58.436555Z  INFO ruffle_desktop::gui::controller: Using graphics API vulkan on AMD Radeon Graphics (type: IntegratedGpu)
2024-04-16T20:40:58.520562Z  WARN egui_wgpu::renderer: Detected a linear (sRGBA aware) framebuffer Bgra8UnormSrgb. egui prefers Rgba8Unorm or Bgra8Unorm    
2024-04-16T20:40:58.522340Z  INFO ruffle_desktop::gui::controller: loaded cjk fallback font "NotoSans-Regular"
thread 'main' panicked at desktop/src/gui/controller.rs:230:14:
Surface became unavailable: Timeout
stack backtrace:
   0:     0x5b86ebab62c6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h410d4c66be4e37f9
   1:     0x5b86ebae6ad0 - core::fmt::write::he40921d4802ce2ac
   2:     0x5b86ebab15af - std::io::Write::write_fmt::h5de5a4e7037c9b20
   3:     0x5b86ebab60a4 - std::sys_common::backtrace::print::h11c067a88e3bdb22
   4:     0x5b86ebab79d7 - std::panicking::default_hook::{{closure}}::h8c832ecb03fde8ea
   5:     0x5b86ebab7739 - std::panicking::default_hook::h1633e272b4150cf3
   6:     0x5b86ea611591 - ruffle_desktop::init::{{closure}}::ha70548078a1d4956
   7:     0x5b86ebab7ff6 - std::panicking::rust_panic_with_hook::hb164d19c0c1e71d4
   8:     0x5b86ebab7d42 - std::panicking::begin_panic_handler::{{closure}}::h0369088c533c20e9
   9:     0x5b86ebab67c6 - std::sys_common::backtrace::__rust_end_short_backtrace::hc11d910daf35ac2e
  10:     0x5b86ebab7a94 - rust_begin_unwind
  11:     0x5b86ea5a2fa5 - core::panicking::panic_fmt::ha6effc2775a0749c
  12:     0x5b86ea5a34f3 - core::result::unwrap_failed::ha188096f98826595
  13:     0x5b86ea6b9184 - ruffle_desktop::gui::controller::GuiController::render::hdb6c74e26cbc8149
  14:     0x5b86ea66644e - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::hdd167c1b79c9ee21
  15:     0x5b86ea65b401 - winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::pump_events::hec5d97d8abcc50a8
  16:     0x5b86ea65bf3b - winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run_on_demand::h6f3c620b11486403
  17:     0x5b86ea67a49f - ruffle_desktop::app::App::run::h036949b40a9d936e
  18:     0x5b86ea5e9eec - ruffle_desktop::main::{{closure}}::h59db7a05c731a563
  19:     0x5b86ea6a823f - tokio::runtime::context::runtime::enter_runtime::ha9b95fb600e25dc3
  20:     0x5b86ea5e41b0 - tokio::runtime::runtime::Runtime::block_on::he15af2865055eb3d
Aborted (core dumped)

@mtdudek
Copy link
Author

mtdudek commented Apr 16, 2024

And here is debug build trace

2024-04-16T20:43:28.105938Z  WARN sctk_adwaita::buttons: Ignoring unknown button type:     
2024-04-16T20:43:28.203660Z  WARN wgpu_hal::vulkan::instance: InstanceFlags::VALIDATION requested, but unable to find layer: VK_LAYER_KHRONOS_validation    
ac_compute_device_uuid's output is based on invalid pci bus info.
2024-04-16T20:43:28.243706Z  INFO ruffle_desktop::gui::controller: Using preferred backend Vulkan
2024-04-16T20:43:28.297832Z  INFO ruffle_desktop::gui::controller: Using graphics API vulkan on AMD Radeon Graphics (type: IntegratedGpu)
2024-04-16T20:43:28.482002Z  WARN egui_wgpu::renderer: Detected a linear (sRGBA aware) framebuffer Bgra8UnormSrgb. egui prefers Rgba8Unorm or Bgra8Unorm    
2024-04-16T20:43:28.494107Z  INFO ruffle_desktop::gui::controller: loaded cjk fallback font "NotoSans-Regular"
thread 'main' panicked at desktop/src/gui/controller.rs:230:14:
Surface became unavailable: Timeout
stack backtrace:
   0:     0x5d1bc4a1d0f6 - std::backtrace_rs::backtrace::libunwind::trace::hd6ffdc229294c06f
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
   1:     0x5d1bc4a1d0f6 - std::backtrace_rs::backtrace::trace_unsynchronized::h991f79b6e9960513
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x5d1bc4a1d0f6 - std::sys_common::backtrace::_print_fmt::hf4ebe716f7ccda10
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/sys_common/backtrace.rs:68:5
   3:     0x5d1bc4a1d0f6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h410d4c66be4e37f9
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x5d1bc4a4dc30 - core::fmt::rt::Argument::fmt::he0ff0e0e188c0db5
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/fmt/rt.rs:142:9
   5:     0x5d1bc4a4dc30 - core::fmt::write::he40921d4802ce2ac
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/fmt/mod.rs:1120:17
   6:     0x5d1bc4a183af - std::io::Write::write_fmt::h5de5a4e7037c9b20
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/io/mod.rs:1846:15
   7:     0x5d1bc4a1ced4 - std::sys_common::backtrace::_print::hd8e2e3f655086663
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x5d1bc4a1ced4 - std::sys_common::backtrace::print::h11c067a88e3bdb22
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x5d1bc4a1e987 - std::panicking::default_hook::{{closure}}::h8c832ecb03fde8ea
  10:     0x5d1bc4a1e6e9 - std::panicking::default_hook::h1633e272b4150cf3
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:292:9
  11:     0x5d1bbfff8493 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd38f557c6c9cb7bf
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/alloc/src/boxed.rs:2029:9
  12:     0x5d1bc013dd82 - ruffle_desktop::init::{{closure}}::h1b11d1a3d98b3960
                               at /home/maciej/ruffle/desktop/src/main.rs:70:9
  13:     0x5d1bc4a1efa6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h4dd5cc3b5605ae1a
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/alloc/src/boxed.rs:2029:9
  14:     0x5d1bc4a1efa6 - std::panicking::rust_panic_with_hook::hb164d19c0c1e71d4
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:785:13
  15:     0x5d1bc4a1ecf2 - std::panicking::begin_panic_handler::{{closure}}::h0369088c533c20e9
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:659:13
  16:     0x5d1bc4a1d5f6 - std::sys_common::backtrace::__rust_end_short_backtrace::hc11d910daf35ac2e
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/sys_common/backtrace.rs:171:18
  17:     0x5d1bc4a1ea44 - rust_begin_unwind
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:647:5
  18:     0x5d1bbffea845 - core::panicking::panic_fmt::ha6effc2775a0749c
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/panicking.rs:72:14
  19:     0x5d1bbffeae83 - core::result::unwrap_failed::ha188096f98826595
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/result.rs:1649:5
  20:     0x5d1bc019c1bc - core::result::Result<T,E>::expect::h00ffbae555877913
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/result.rs:1030:23
  21:     0x5d1bc01e4028 - ruffle_desktop::gui::controller::GuiController::render::hb8794f801b07eb04
                               at /home/maciej/ruffle/desktop/src/gui/controller.rs:227:31
  22:     0x5d1bc00c5a0d - ruffle_desktop::app::App::run::{{closure}}::he06ef75d00a9f349
                               at /home/maciej/ruffle/desktop/src/app.rs:178:29
  23:     0x5d1bc00c4a0f - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::hf206fedf3ea1781e
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/ops/function.rs:294:13
  24:     0x5d1bc00c49af - core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut::hbf434aa9cc047160
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/ops/function.rs:294:13
  25:     0x5d1bc009bbc6 - winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::single_iteration::hd8a86cfd4e94bf97
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.15/src/platform_impl/linux/wayland/event_loop/mod.rs:503:17
  26:     0x5d1bc009ec8c - winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::poll_events_with_timeout::h8e36f28a87f48955
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.15/src/platform_impl/linux/wayland/event_loop/mod.rs:322:9
  27:     0x5d1bc009902f - winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::pump_events::hffda44c22936afb1
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.15/src/platform_impl/linux/wayland/event_loop/mod.rs:236:13
  28:     0x5d1bc0099525 - winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run_on_demand::hcfcda0fe290667c2
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.15/src/platform_impl/linux/wayland/event_loop/mod.rs:200:19
  29:     0x5d1bc0143ca4 - winit::platform_impl::platform::EventLoop<T>::run_on_demand::hc973dcfce2180387
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.15/src/platform_impl/linux/mod.rs:829:56
  30:     0x5d1bc01445c6 - winit::platform_impl::platform::EventLoop<T>::run::h7926ef88f8bb72c2
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.15/src/platform_impl/linux/mod.rs:822:9
  31:     0x5d1bbffec3e7 - winit::event_loop::EventLoop<T>::run::h0a27f035661107ae
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/winit-0.29.15/src/event_loop.rs:249:9
  32:     0x5d1bc0256441 - ruffle_desktop::app::App::run::hace58cf18dbf6433
                               at /home/maciej/ruffle/desktop/src/app.rs:137:9
  33:     0x5d1bc013f316 - ruffle_desktop::main::{{closure}}::{{closure}}::hcae1b152e125718e
                               at /home/maciej/ruffle/desktop/src/main.rs:183:55
  34:     0x5d1bc01a3bb8 - core::result::Result<T,E>::and_then::h4a39e177ae69308c
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/result.rs:1316:22
  35:     0x5d1bc013f0c5 - ruffle_desktop::main::{{closure}}::he7a6aea1b18cd995
                               at /home/maciej/ruffle/desktop/src/main.rs:183:18
  36:     0x5d1bc0140d44 - tokio::runtime::park::CachedParkThread::block_on::{{closure}}::h87b5b518283c226c
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/park.rs:281:63
  37:     0x5d1bc014060e - tokio::runtime::coop::with_budget::h1a11465cf51d076a
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:107:5
  38:     0x5d1bc014060e - tokio::runtime::coop::budget::h00974a3435028879
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:73:5
  39:     0x5d1bc014060e - tokio::runtime::park::CachedParkThread::block_on::h10549106fbcba475
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/park.rs:281:31
  40:     0x5d1bc0257b82 - tokio::runtime::context::blocking::BlockingRegionGuard::block_on::hf02898831d62bc76
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/blocking.rs:66:9
  41:     0x5d1bc0028a11 - tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}::h6d26f6ae8456088c
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/multi_thread/mod.rs:87:13
  42:     0x5d1bc0028503 - tokio::runtime::context::runtime::enter_runtime::h495c65a4420187a3
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/runtime.rs:65:16
  43:     0x5d1bc00289d7 - tokio::runtime::scheduler::multi_thread::MultiThread::block_on::h470e8443c1aac40d
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/multi_thread/mod.rs:86:9
  44:     0x5d1bbfff0cdd - tokio::runtime::runtime::Runtime::block_on::h4d0b3e87efea2208
                               at /home/maciej/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/runtime.rs:351:45
  45:     0x5d1bbfff584e - ruffle_desktop::main::h4615423075cc5aaf
                               at /home/maciej/ruffle/desktop/src/main.rs:190:5
  46:     0x5d1bc00556db - core::ops::function::FnOnce::call_once::h7ca6d70b8b31aaa8
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/ops/function.rs:250:5
  47:     0x5d1bc022adde - std::sys_common::backtrace::__rust_begin_short_backtrace::hcdbd729fee99b11e
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/sys_common/backtrace.rs:155:18
  48:     0x5d1bc0228a21 - std::rt::lang_start::{{closure}}::hcc799b47e24eab0a
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/rt.rs:166:18
  49:     0x5d1bc4a10071 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h3f2a75cbf4c937aa
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/ops/function.rs:284:13
  50:     0x5d1bc4a10071 - std::panicking::try::do_call::h8b4251a3ff07cb79
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:554:40
  51:     0x5d1bc4a10071 - std::panicking::try::h7c5a033d33a17020
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:518:19
  52:     0x5d1bc4a10071 - std::panic::catch_unwind::hb11e6d2bc85d3f56
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panic.rs:142:14
  53:     0x5d1bc4a10071 - std::rt::lang_start_internal::{{closure}}::h0f4b130784f05f2d
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/rt.rs:148:48
  54:     0x5d1bc4a10071 - std::panicking::try::do_call::ha5e1e15d954bfd38
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:554:40
  55:     0x5d1bc4a10071 - std::panicking::try::h1ebdd47dd0e39c8c
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:518:19
  56:     0x5d1bc4a10071 - std::panic::catch_unwind::hbc815fbc36dbbcd0
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panic.rs:142:14
  57:     0x5d1bc4a10071 - std::rt::lang_start_internal::h4d236095b69a230b
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/rt.rs:148:20
  58:     0x5d1bc02289fa - std::rt::lang_start::h2508df042b13300f
                               at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/rt.rs:165:17
  59:     0x5d1bbfff58fe - main
  60:     0x72a29a228150 - __libc_start_call_main
                               at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  61:     0x72a29a228209 - __libc_start_main_impl
                               at ./csu/../csu/libc-start.c:360:3
  62:     0x5d1bbffeb185 - _start
  63:                0x0 - <unknown>

@torokati44
Copy link
Member

Still just guessing: Maybe a -g gl option will do something...?
(Passed to ruffle_desktop itself, so you may need to put a -- before it in the cargo command.)

@mtdudek
Copy link
Author

mtdudek commented Apr 16, 2024

That did the trick :), so that sounds like an issue with vulkan.

@Lord-McSweeney Lord-McSweeney added desktop render-wgpu Issues relating to the wgpu renderer labels Apr 17, 2024
@danielhjacobs
Copy link
Contributor

danielhjacobs commented Apr 17, 2024

Perhaps related: gfx-rs/wgpu#2941. The source of this error is a Timeout error from get_current_texture:

let surface_texture = self
.surface
.get_current_texture()
.expect("Surface became unavailable");

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working desktop panic Hit a panic render-wgpu Issues relating to the wgpu renderer
Projects
None yet
Development

No branches or pull requests

4 participants