Skip to content

Logs from opening 15000 swf games #9047

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

Closed
qarmin opened this issue Jan 6, 2023 · 6 comments
Closed

Logs from opening 15000 swf games #9047

qarmin opened this issue Jan 6, 2023 · 6 comments
Labels
bug Something isn't working

Comments

@qarmin
Copy link

qarmin commented Jan 6, 2023

Describe the bug

Recently I created simple fuzzer, that downloaded 30 GB of swf from some sites, and later tried to open them for few seconds.

With its help I collected such output from each game(most not printed anything to console) - res2.txt.zip

Example errors:

[2023-01-06T12:12:56Z ERROR ruffle_core::tag_utils] Error running definition tag: DefineVideoStream, got Couldn't read SWF
[2023-01-06T12:12:57Z ERROR ruffle_desktop::executor] Async error: Invalid SWF: Couldn't read SWF
[2023-01-06T12:12:42Z ERROR ruffle_core::library] Tried to instantiate non-registered character ramka
[2023-01-06T12:11:37Z ERROR ruffle_core::avm1::activation] Unknown AVM1 opcode: Unknown { opcode: 252
[2023-01-06T12:11:18Z ERROR ruffle_core::display_object::movie_clip] Unable to instantiate display node id 42, reason being: Not a DisplayObject
[2023-01-06T12:10:46Z ERROR ruffle_core::library] Tried to instantiate non-registered character Loader_enemy
[2023-01-06T12:10:17Z ERROR ruffle_core::avm1::globals::shared_object] SharedObject::get_local: Invalid character in name
[2023-01-06T11:51:23Z ERROR ruffle_core::avm1::activation] GotoFrame failed: Invalid target
[2023-01-06T11:36:29Z ERROR ruffle_core::tag_utils] Error running definition tag: DefineBits, got Couldn't register bitmap

Name of file is simplified version of url which full list you can find here - links.txt

Alsa bugs are probably caused by me when restarting gnome-shell which freeze from time to time

I will try once per few months to run fuzzer on my machine to check which of this errors are fixed and which errors are new

Expected behavior

Games should not print any errors if possible

Affected platform

Desktop app

Operating system

Ubuntu 22.10

Browser

No response

Additional information

Ruffle 01.01.2023 nightly

@qarmin qarmin added the bug Something isn't working label Jan 6, 2023
@Lord-McSweeney
Copy link
Collaborator

Lord-McSweeney commented Jan 8, 2023

A lot of these are failing with Unknown AVM1 opcode: 137. Also, there's unknown AVM1 opcode 120, which seems to have a several kilobytes of data on it (those take up most of the logs).

@Lord-McSweeney
Copy link
Collaborator

Lord-McSweeney commented Jan 8, 2023

Here are the most common errors:

Unknown AVM1 opcode: Unknown { opcode: 137 (x224)
Unknown AVM1 opcode: Unknown { opcode: 252 (x105)
Unknown AVM1 opcode: Unknown { opcode: 2 (x3)
Unknown AVM1 opcode: Unknown { opcode: 45 (x2)

Async error: Invalid SWF: Couldn't read SWF (x672)
Async error: Could not fetch: No such file or directory (os error 2) (x91)
Async error: Could not fetch: failed to resolve host name (x23)
Async error: Could not fetch: failed to connect to the server (x4)
Async error: Could not fetch: Is a directory (os error 21) (x2)

Tried to instantiate non-registered character (x374)
Tried to instantiate non-registered character ID (x69)
Unable to instantiate display node id [id], reason being: Not a DisplayObject (x19)

Error running definition tag: [tag], got Couldn't read SWF (x106)
Error running definition tag: DefineBitsJpeg2, got Couldn't register bitmap (x10)
Error running definition tag: DefineBits, got Couldn't register bitmap (x5)
Unexpected EOF when reading tag (x4)

Async error: Could not fetch: HTTP status is not ok, got 403 Forbidden (x1)
Async error: Could not fetch: HTTP status is not ok, got 404 Not Found (x17)
Async error: Could not fetch: HTTP status is not ok, got 405 Method Not Allowed (x1)
Async error: Could not fetch: HTTP status is not ok, got 410 Gone (x1)

Character ID collision: Tried to register ID [id] twice (x6)

ALSA lib confmisc.c:855:(parse_card) cannot find card '0'ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directoryALSA lib confmisc.c:422:(snd_func_concat) error evaluating stringsALSA lib conf.c:5180:(_snd_config_evaluate) (x40)
GotoFrame failed: Invalid target (x13)
Got error when seeking to video frame 1: Attempted to seek to omitted frame 1 without prior decoded frame (x8)
SharedObject::get_local: Invalid character in name (x4)
MovieClip.createEmptyMovieClip: Too few parameters (x4)

Additionally, here are some unique errors:

https___www_giercownia_pl_gry_h_1315150673_homer_simpson_saw_game_swf.swf - [2023-01-06T11:54:24Z ERROR ruffle_desktop::executor] Async error: Unexpected content of type Unknown, expected SWF
https___www_giercownia_pl_gry_t_1201368649_tank_wars_rts_swf.swf - bad triangle VertexId(362) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(365)bad triangle VertexId(434) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(437)
http___www8_agame_com_mirror_flash_w_wackorace_swf.swf - [2023-01-06T11:58:54Z ERROR ruffle_core::avm1::globals::movie_clip] MovieClip.attachMovie: Too few parameters
https___www_giercownia_pl_gry_m_1237642499_morze_swf.swf - bad triangle VertexId(435) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(437)
https___www_giercownia_pl_gry_p_1209750187_penguin_volleyball_swf.swf - ruffle: ../src/vulkan/wsi/wsi_common_x11.c:1476: x11_present_to_x11_dri3: Assertion `image_index < chain->base.image_count' failed.timeout: the monitored command dumped core
http___www8_agame_com_mirror_flash_m_magic_heaven2_gamesgames_com_swf.swf - [2023-01-06T12:31:51Z ERROR ruffle_core::display_object::movie_clip] Unexpected PlaceObject during goto: PlaceObject { version: 2, action: Modify, depth: 406, matrix: Some(Matrix { a: Fixed16(65536), b: Fixed16(0), c: Fixed16(0), d: Fixed16(65536), tx: Twips(13060), ty: Twips(-375) }), color_transform: None, ratio: None, name: None, clip_depth: None, class_name: None, filters: None, background_color: None, blend_mode: None, clip_actions: None, has_image: false, is_bitmap_cached: None, is_visible: None, amf_data: None }
https___www_giercownia_pl_gry_w_1174466979_world_defense_swf.swf - [2023-01-06T12:39:55Z ERROR ruffle_core::display_object::video] Got error when seeking to video frame 0: Attempted to seek to omitted frame 0 without prior decoded frame
https___www_giercownia_pl_gry_f_1260783038_flight_simulator_x_get_that_jet_swf.swf - [2023-01-06T12:49:58Z ERROR ruffle_desktop::executor] Async error: Could not fetch: HTTP status is not ok, got 400 Bad Request[2023-01-06T12:49:58Z ERROR ruffle_desktop::executor] Async error: Could not fetch: HTTP status is not ok, got 400 Bad Request
https___www_giercownia_pl_gry_r_1267257535_romantyczny_wypad_swf.swf - bad triangle VertexId(12) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(16)bad triangle VertexId(15) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(19)bad triangle VertexId(11) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(15)bad triangle VertexId(13) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(17)bad triangle VertexId(12) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(16)bad triangle VertexId(15) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(19)bad triangle VertexId(11) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(15)bad triangle VertexId(13) VertexId(4294967295) VertexId(4294967295)bad triangle VertexId(4294967295) VertexId(4294967295) VertexId(17)
https___www_giercownia_pl_gry_t_1173001667_the_challenge_swf.swf - [2023-01-06T13:24:53Z ERROR ruffle_desktop::executor] Async error: Could not fetch: unknown error
https___www_giercownia_pl_upload_games_d_npo1q8_desktop_tower_defense_15_swf.swf - [2023-01-06T13:25:38Z ERROR ruffle_desktop::navigator] Could not parse URL because of relative URL without a base, the corrupt URL was:
http___www8_agame_com_mirror_flash_t_troyis_chess_swf.swf - [2023-01-06T13:55:33Z ERROR ruffle_core::avm1::runtime] Couldn't parse SWF: Error parsing AVM1 action ConstantPool: Not enough data for string[2023-01-06T13:55:33Z ERROR ruffle_core::avm1::runtime] No more actions will be executed in this movie.
https___www_giercownia_pl_gry_f_1209992578_flying_headers_swf.swf - [2023-01-06T14:05:12Z ERROR ruffle_desktop::navigator] Could not parse URL because of relative URL without a base, the corrupt URL was: undefined

Notice that a lot of errors are just "failed to fetch" or "invalid SWF".

@mero09-99
Copy link

I've noticed in my own tests that there are quite a lot of 'Unknown AVM1 opcode: Unknown { opcode:' errors

@Lord-McSweeney
Copy link
Collaborator

All of the Unknown AVM1 opcode: Unknown { should be fixed.

@qarmin
Copy link
Author

qarmin commented Mar 12, 2024

Looks like the repo is overwhelmed by the number of bug reports, so a recheck is unlikely to be very useful.

Also looks that running multiple ruffle instances at once, sometimes crashes some of them with info

WARN egui_winit::clipboard: Failed to initialize arboard clipboard: Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachable    
2024-03-12T21:08:03.069453Z  WARN egui_wgpu::renderer: Detected a linear (sRGBA aware) framebuffer Bgra8UnormSrgb. egui prefers Rgba8Unorm or Bgra8Unorm    
2024-03-12T21:08:03.070224Z  INFO ruffle_desktop::gui::controller: loaded cjk fallback font "NotoSans-Regular"thread 'main' panicked at desktop/src/player.rs:174:18:
Couldn't create ui backend: 
Couldn't get platform clipboard
Caused by:    Unknown error while interacting with the clipboard: X11 server connection timed out because it was unreachableStack backtrace:   
0: ruffle_desktop::backends::ui::DesktopUiBackend::newstack backtrace:   
0: rust_begin_unwind             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5   
1: core::panicking::panic_fmt             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14   
2: core::result::unwrap_failed             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5   
3: ruffle_desktop::gui::controller::GuiController::create_movie   
4: ruffle_desktop::app::App::new  
5: ruffle_desktop::mainnote: 
Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.timeout: the monitored command dumped core

@qarmin qarmin closed this as completed Mar 12, 2024
@torokati44
Copy link
Member

Oh, I think this specific panic will be (as a lucky coincidence) will be fixed by #15535 that was just merged today! 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants