ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15.72k stars 816 forks source link

Crash on Fancy Pants Classic Pack (patreon only) #11107

Closed Adamillo closed 11 months ago

Adamillo commented 1 year ago

Describe what you were doing

Trying to choose a game inside this SWF crashes Ruffle. This SWF is basically a launcher for the three FPA games. This SWF itself is AVM2 while the games themselves are AVM1. Booting up the games without the AVM2 launcher causes broken collision, which also happens in the standalone Flash Player, so this one is not a bug on Ruffle's side. It seems like the AVM1 games require the AVM2 launcher in order to work properly, but since the AVM2 launcher is broken in Ruffle this game collection is unplayable.

What does the crash message say?

panicked at 'No script object for display object', core\src\avm1\activation.rs:396:18

Ruffle Version

0.1.0-nightly (75569e1 2023-05-16)

Affected platform

Desktop app

Operating system

Windows 10.0.19045 (Windows 10 Pro) [64-bit]

Additional information

Filename: SFPA.swf

Render Info

Renderer: wgpu Adapter Backend: Vulkan Adapter Name: "Intel(R) Iris(R) Plus Graphics 640" Adapter Device Type: IntegratedGpu Adapter Driver Name: "Intel Corporation" Adapter Driver Info: "Intel driver" Enabled features: Features(TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES | PUSH_CONSTANTS) Available features: Features(DEPTH_CLIP_CONTROL | TIMESTAMP_QUERY | INDIRECT_FIRST_INSTANCE | SHADER_F16 | RG11B10UFLOAT_RENDERABLE | DEPTH32FLOAT_STENCIL8 | TEXTURE_COMPRESSION_BC | TEXTURE_COMPRESSION_ETC2 | TEXTURE_COMPRESSION_ASTC | TEXTURE_FORMAT_16BIT_NORM | PIPELINE_STATISTICS_QUERY | TIMESTAMP_QUERY_INSIDE_PASSES | MAPPABLE_PRIMARY_BUFFERS | TEXTURE_BINDING_ARRAY | BUFFER_BINDING_ARRAY | STORAGE_RESOURCE_BINDING_ARRAY | SAMPLED_TEXTURE_AND_STORAGE_BUFFER_ARRAY_NON_UNIFORM_INDEXING | UNIFORM_BUFFER_AND_STORAGE_TEXTURE_ARRAY_NON_UNIFORM_INDEXING | MULTI_DRAW_INDIRECT | MULTI_DRAW_INDIRECT_COUNT | ADDRESS_MODE_CLAMP_TO_ZERO | ADDRESS_MODE_CLAMP_TO_BORDER | POLYGON_MODE_LINE | POLYGON_MODE_POINT | CONSERVATIVE_RASTERIZATION | VERTEX_WRITABLE_STORAGE | CLEAR_TEXTURE | SPIRV_SHADER_PASSTHROUGH | MULTIVIEW | SHADER_F64 | SHADER_I16 | SHADER_PRIMITIVE_INDEX) Current limits: Limits { max_texture_dimension_1d: 16384, max_texture_dimension_2d: 16384, max_texture_dimension_3d: 2048, max_texture_array_layers: 256, max_bind_groups: 4, max_bindings_per_bind_group: 640, 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: 16384, 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: 64, min_storage_buffer_offset_alignment: 64, max_inter_stage_shader_components: 60, 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, max_push_constant_size: 96 } Surface quality: low Surface samples: 1 Surface size: Extent3d { width: 800, height: 600, depth_or_array_layers: 1 }

Adamillo commented 1 year ago

The same crash also happens on the standalone World 1 PC build, with the same problems as the one in the Classic Pack. The World 2 and World 3 standalone PC builds have a unique problem in Ruffle that I'll also report

n0samu commented 1 year ago

Looks like a typical mixed-avm issue. Which is lucky because if it were a unique issue, we probably wouldn't be able to solve it without access to the files.

Adamillo commented 11 months ago

fixed by #11005, it boots further with new separate issues now