ruffle-rs / ruffle-rs/ruffle

Error on https://www.archive.play-games.com/games/ruffle/

Open
#20,522 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

error-report render-wgpu
Dominant language
Rust
Stars
18.6k
Forks
1.1k
Avg merge
1d 4h
Merged PRs (30d)
110

Description

Error Info

Error name: Error
Error message: panicked at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-24.0.3/src/backend/wgpu_core.rs:2165:26:
wgpu error: Validation Error

Caused by:
In CommandEncoder::copy_texture_to_buffer
Copy error
Copy of X 0..6936 would end up overrunning the bounds of the Source texture of X size 4096

Error stack:

Error: panicked at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-24.0.3/src/backend/wgpu_core.rs:2165:26:
wgpu error: Validation Error

Caused by:
  In CommandEncoder::copy_texture_to_buffer
    Copy error
      Copy of X 0..6936 would end up overrunning the bounds of the Source texture of X size 4096


    at Le.n.wbg.__wbg_new_c68d7209be747379 (https://static.play-games.com/scripts/ruffle/core.ruffle.d8020f36e5918e887c19.js:1:57279)
    at ruffle_web.wasm.js_sys::Error::new::h7e9bc82df0fe73a4 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[12588]:0x956d87)
    at ruffle_web.wasm.core::ops::function::FnOnce::call_once{{vtable.shim}}::hcc04b5022cf98020 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[9791]:0x90d48a)
    at ruffle_web.wasm.std::panicking::rust_panic_with_hook::h1f8226e239ffaa71 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[6437]:0x8411cf)
    at ruffle_web.wasm.core::panicking::panic_fmt::hb6c28595a1feee80 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[10629]:0x925aff)
    at ruffle_web.wasm.wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_inner::hec81d733b5e99d4b (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[2585]:0x5c0aa0)
    at ruffle_web.wasm.wgpu::backend::wgpu_core::ContextWgpuCore::handle_error_nolabel::hc9324f53126e0446 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[8879]:0x8e8c08)
    at ruffle_web.wasm.<wgpu::backend::wgpu_core::CoreCommandEncoder as wgpu::dispatch::CommandEncoderInterface>::copy_texture_to_buffer::h0b44fa3321a7b094 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[5676]:0x7f978b)
    at ruffle_web.wasm.wgpu::api::command_encoder::CommandEncoder::copy_texture_to_buffer::h9afacc4f32483031 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[11257]:0x92d95a)
    at ruffle_web.wasm.<ruffle_render_wgpu::backend::WgpuRenderBackend<T> as ruffle_render::backend::RenderBackend>::resolve_sync_handle::h8d891ea022b48cf6 (wasm://wasm/ruffle_web.wasm-03121292:wasm-function[2030]:0x4f33b3)

AVM2 stack:

    at flash.display::BitmapData/copyPixels()
    at papaGame.display::GameDisplay/reblitMultispritePlayer()
    at papaGame.display::GameDisplay/redrawScreen()
    at papaGame.events::GameControls/detectKeys()

Player Info

Allows script access: false
Renderer: wgpu
Adapter Backend: Gl
Adapter Name: "Mali-G57 MC2"
Adapter Device Type: IntegratedGpu
Adapter Driver Name: ""
Adapter Driver Info: "WebGL 2.0 (OpenGL ES 3.0 Chromium)"
Enabled features: Features(FLOAT32_FILTERABLE | TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES)
Available features: Features(DEPTH32FLOAT_STENCIL8 | TEXTURE_COMPRESSION_ETC2 | TEXTURE_COMPRESSION_ASTC | TEXTURE_COMPRESSION_ASTC_HDR | PUSH_CONSTANTS | CLEAR_TEXTURE)
Current limits: Limits { max_texture_dimension_1d: 4096, max_texture_dimension_2d: 4096, max_texture_dimension_3d: 16383, max_texture_array_layers: 256, max_bind_groups: 4, max_bindings_per_bind_group: 1000, max_dynamic_uniform_buffers_per_pipeline_layout: 8, max_dynamic_storage_buffers_per_pipeline_layout: 0, max_sampled_textures_per_shader_stage: 16, max_samplers_per_shader_stage: 16, max_storage_buffers_per_shader_stage: 0, max_storage_textures_per_shader_stage: 0, max_uniform_buffers_per_shader_stage: 11, max_uniform_buffer_binding_size: 65536, max_storage_buffer_binding_size: 0, max_vertex_buffers: 8, max_buffer_size: 268435456, max_vertex_attributes: 16, max_vertex_buffer_array_stride: 255, min_uniform_buffer_offset_alignment: 32, min_storage_buffer_offset_alignment: 256, max_inter_stage_shader_components: 124, max_color_attachments: 4, max_color_attachment_bytes_per_sample: 32, max_compute_workgroup_storage_size: 0, max_compute_invocations_per_workgroup: 0, max_compute_workgroup_size_x: 0, max_compute_workgroup_size_y: 0, max_compute_workgroup_size_z: 0, max_compute_workgroups_per_dimension: 0, min_subgroup_size: 0, max_subgroup_size: 0, max_push_constant_size: 0, max_non_sampler_bindings: 1000000 }
Surface quality: best
Surface samples: 4
Surface size: (550, 400, 1)

Page Info

Page URL: https://www.archive.play-games.com/games/ruffle/?swf=papalouie2.swf&name=Papa%20Louie%202
SWF URL: https://www.archive.play-games.com/games/swf/papalouie2.swf

Browser Info

User Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Mobile Safari/537.36
Platform: Linux armv81
Has touch support: true

Ruffle Info

Version: 0.1.0
Name: 0.1.0 nightly 2025-05-21
Channel: nightly
Built: 2025-05-21T00:06:58.919Z
Commit: cdbb93377b08fb1f4fa007ce2a080596003d565b
Is extension: false

Metadata

width: 700
height: 416
frameRate: 30
numFrames: 2
swfVersion: 10
backgroundColor: undefined
isActionScript3: true
uncompressedLength: 12218656

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the linked Papa Louie 2 page on the reported Android Mali-G57 device and review the stack around ruffle_render_wgpu::backend::WgpuRenderBackend::resolve_sync_handle and copy_texture_to_buffer. Done means the page no longer panics when BitmapData/copyPixels runs on a 4096-pixel-limit renderer.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, wasm
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.