ruffle-rs / ruffle

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

Stack overflow on `FireboyandWaterGirl4` #14881

Open MeowKatee opened 7 months ago

MeowKatee commented 7 months ago

Describe what you were doing

play FireboyandWaterGirl4.zip

What does the crash message say?

thread 'main' has overflowed its stack fatal runtime error: stack overflow

Ruffle Version

ruffle dinnerbone/wgpu_0_19 74134363d

Affected platform

Desktop app

Operating system

Archlinux x86_64

Additional information

2024-01-21T17:24:00.958552Z  INFO run_frame:run_all_phases_avm2: avm_trace: alp = 0.9166666666666666
2024-01-21T17:24:00.958755Z  WARN run_frame: ruffle_core::avm1::activation: Cannot delete property onEnterFrame from Undefined
2024-01-21T17:24:00.959484Z  WARN run_frame: ruffle_core::avm1::runtime: Avm1::pop: Stack underflow
2024-01-21T17:24:00.959510Z  WARN run_frame: ruffle_core::avm1::runtime: Avm1::pop: Stack underflow
2024-01-21T17:24:00.959634Z  INFO run_frame: symphonia_bundle_mp3::demuxer: estimating duration from bitrate, may be inaccurate for vbr files    
2024-01-21T17:24:00.959660Z DEBUG run_frame: symphonia_bundle_mp3::demuxer: seeking to ts=12658 (+0 delay = 12658)    
2024-01-21T17:24:00.959666Z DEBUG run_frame: symphonia_bundle_mp3::demuxer: found frame with ts=12096 (12096) @ pos=2184 with main_data_begin=255    
2024-01-21T17:24:00.959684Z DEBUG run_frame: symphonia_bundle_mp3::demuxer: will seek -3 frame(s) to ts=10368 (10368) @ pos=1872 (-312 bytes)    
2024-01-21T17:24:00.959688Z DEBUG run_frame: symphonia_bundle_mp3::demuxer: seeked to ts=10368 (10368) (delta=-2290)    
2024-01-21T17:24:00.959710Z  WARN run_frame: symphonia_bundle_mp3::layer3: mpa: invalid main_data_begin, underflow by 236 bytes    
2024-01-21T17:24:00.959728Z  WARN run_frame: symphonia_bundle_mp3::layer3: mpa: invalid main_data_begin, underflow by 152 bytes    
2024-01-21T17:24:00.959756Z  WARN run_frame: symphonia_bundle_mp3::layer3: mpa: invalid main_data_begin, underflow by 72 bytes    
Lord-McSweeney commented 7 months ago

The issue isn't specific to the wgpu 0.19 PR, this happens on master too. However, running it with GDB I get a segmentation fault, not a stack overflow:

#0  0x000055555616c621 in <ruffle_core::display_object::movie_clip::MovieClip as ruffle_core::display_object::TDisplayObject>::instantiate ()
#1  0x00005555561e456b in ruffle_core::library::MovieLibrary::instantiate_display_object ()
#2  0x00007fffff7ff980 in  ()
#3  0x00005555561e3d8e in ruffle_core::library::MovieLibrary::instantiate_by_id ()
#4  0x000055555616651c in ruffle_core::display_object::movie_clip::MovieClip::instantiate_child ()
#5  0x0000555556177152 in ruffle_core::display_object::movie_clip::MovieClip::place_object ()
#6  0x0000555556164c1a in ruffle_core::display_object::movie_clip::MovieClip::run_frame_internal ()
#7  0x000055555616ebef in <ruffle_core::display_object::movie_clip::MovieClip as ruffle_core::display_object::TDisplayObject>::run_frame_avm1 ()
#8  0x000055555fcc6c70 in  ()
#9  0x000055555b71bb09 in  ()
#10 0x00007fffff7ffe98 in  ()
#11 0x000055555fcc6c70 in  ()
#12 0x00007fffffff6e00 in  ()
#13 0x0000000000000005 in  ()
#14 0x0000000000000000 in  ()

(full bt)