ruffle-rs / ruffle

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

missing property on flash.display.Sprite #16628

Open Bud1337 opened 4 weeks ago

Bud1337 commented 4 weeks ago

Describe the bug

At some point the top layer of the UI is freezing cause of an undefined property in flash.display.Sprite.

See error logs at additional informations.

Expected behavior

UI is not freezing

Content Location

internal development environment, so cannot provide it, sorry

Affected platform

Browser's extension

Operating system

Windows 11, ubuntu 22.04

Browser

Mozilla Firefox 126, Google Chrome 125

Additional information

used Version: nightly build 2024-06-07, selfhosted

WebGL warning: getBufferSubData: Reading from a buffer without checking for previous command completion likely causes pipeline stalls. Please use FenceSync. 4 ERROR core/src/avm2/events.rs:428 Error dispatching event EventObject(EventObject { type: "click", class: flash.events::MouseEvent, ptr: 0x4a1f5e50 }) to handler FunctionObject(FunctionObject { ptr: 0xabb00b8, name: Ok("de.dash.events::ExtendedEvent/trigger()") }) : ReferenceError: Error #1069: Property undefined not found on flash.display.Sprite and there is no default value.

ruffle_web-wasm_extensions.js:939:20

WebGL warning: getBufferSubData: Reading from a buffer without checking for previous command completion likely causes pipeline stalls. Please use FenceSync. ERROR core/src/avm2/events.rs:428 Error dispatching event EventObject(EventObject { type: "timer", class: flash.events::TimerEvent, ptr: 0x39bd90c8 }) to handler FunctionObject(FunctionObject { ptr: 0x405810f8, name: Ok("de.wimmel.level.mode::PlayableLevel/timerHandler()") }) : ReferenceError: Error #1069: Property undefined not found on flash.display.Sprite and there is no default value.

ruffle_web-wasm_extensions.js:939:20

Dinnerbone commented 3 weeks ago

It's a little hard to debug this without more information, sorry :(

Something is being set to undefined, and then I guess is being used in a way like sprite[valueThatEndsUpBeingUndefined]. The bug, I assume, is that the value is undefined in Ruffle but not in Flash (or flash would have the same error).

Do you have access to the source for this app? Can you see anything about that value and why it may be undefined?

Bud1337 commented 3 weeks ago

Hi, i have no access to the source code, but I'll try to find something usefull for you. The only thing I can say is, that it works with flash player, but not with ruffle. If I found something, I'll let you know.