[Scummvm-tracker] [ScummVM :: Bugs] #15420: DREAMWEB: crash due to failed assertion in DreamWebEngine::deleteExFrame

ScummVM :: Bugs trac at scummvm.org
Sat Oct 26 19:31:54 UTC 2024


#15420: DREAMWEB: crash due to failed assertion in DreamWebEngine::deleteExFrame
---------------------+-------------------------------
Reporter:  huntekye  |       Owner:  (none)
    Type:  defect    |      Status:  new
Priority:  high      |   Component:  Engine: Dreamweb
 Version:            |  Resolution:
Keywords:            |        Game:  Dreamweb
---------------------+-------------------------------
Comment (by huntekye):

 I've done a bit more digging on this and got debugger output from
 `scummvm` and some stacktraces from the coredump! I also noticed that the
 `dreamweb` wrapper script that came with the Arch package was forcing
 fullscreen mode, so I double checked that windowed mode doesn't change
 anything—it still crashes in exactly the same way.

 Debugging output (in this case from the test I did of windowed output):
 {{{
 $ scummvm -d9 --debugflags=Animation,SaveLoad -F -p /usr/share/dreamweb
 dreamweb
 Debuglevel (from command line): 9
 WARNING: DebugManager::addDebugChannels(): No debug channels were added,
 list is empty!
 WARNING: DebugManager::addDebugChannels(): No debug channels were added,
 list is empty!
 WARNING: Couldn't initialize text to speech through speech-dispatcher!
 Using SDL Video Driver "wayland"
 OpenGL: GL context initialized
 OpenGL version: 4.6 (Compatibility Profile) Mesa 24.2.4-arch1.1
 OpenGL vendor: Intel
 OpenGL renderer: Mesa Intel(R) Iris(R) Plus Graphics 640 (Kaby Lake GT3e)
 (KBL GT3)
 OpenGL: version 4.6
 OpenGL: GLSL version string: 4.60
 OpenGL: GLSL version: 460
 OpenGL: Max texture size: 16384
 OpenGL: NPOT texture support: 1
 OpenGL: Shader support: 1
 OpenGL: Shader support for engines: 1
 OpenGL: Multitexture support: 1
 OpenGL: FBO support: 1
 OpenGL: Multisample FBO support: 1
 OpenGL: Multisample max number: 16
 OpenGL: Packed pixels support: 1
 OpenGL: Packed depth stencil support: 1
 OpenGL: Unpack subimage support: 1
 OpenGL: OpenGL ES depth 24 support: 0
 OpenGL: Texture edge clamping support: 1
 OpenGL: Texture border clamping support: 1
 OpenGL: Texture mirror repeat support: 1
 OpenGL: Texture max level support: 1
 Invalid joystick: 0
 creating SurfaceSDL graphics manager
 creating OpenGL graphics manager
 creating SurfaceSDL graphics manager
 Using SDL Audio Driver "pulseaudio"
 Output sample rate: 44100 Hz
 Output buffer size: 1024 samples
 Output channels: 2
 HardwareInput with ID 'JOY_START' not known
 HardwareInput with ID 'JOY_LEFT_STICK_Y-' not known
 HardwareInput with ID 'JOY_LEFT_STICK_Y+' not known
 HardwareInput with ID 'JOY_LEFT_STICK_X-' not known
 HardwareInput with ID 'JOY_LEFT_STICK_X+' not known
 HardwareInput with ID 'JOY_RIGHT_SHOULDER' not known
 CPU extensions:
 SSE2(enabled) AVX2(enabled) NEON(not supported)
 User picked target 'dreamweb' (engine ID 'dreamweb', game ID
 'dreamweb')...
 Totally found 1 matches
 Running DreamWeb (CD/DOS/English)
 dreamweb.r00: 3b5c87717fc40cc5a5ae19c155662ee3, 152918 bytes.
 dreamweb.r02: d6fe5e3590ec1eea42ff65c10b023e0f, 198681 bytes.
 HardwareInput with ID 'JOY_A' not known
 HardwareInput with ID 'JOY_B' not known
 HardwareInput with ID 'JOY_LEFT_SHOULDER' not known
 HardwareInput with ID 'JOY_Y' not known
 HardwareInput with ID 'JOY_X' not known
 HardwareInput with ID 'JOY_UP' not known
 HardwareInput with ID 'JOY_DOWN' not known
 HardwareInput with ID 'JOY_LEFT' not known
 HardwareInput with ID 'JOY_RIGHT' not known
 Setting 640 x 480 -> 640 x 480 -- 1
 FSDirectory::createReadStreamForMember('gui-icons.dat') ->
 '/usr/share/scummvm/gui-icons.dat'
 Opening hashed: gui-icons.dat
 FSDirectory::createReadStreamForMember('gui-icons.dat') ->
 '/usr/share/scummvm/gui-icons.dat'
 generateZipSet: Loaded pack file: gui-icons.dat
 Opening hashed: THEMERC
 Opening hashed: THEMERC
 Opening hashed: THEMERC
 Opening hashed: THEMERC
 Opening hashed: THEMERC
 Opening hashed: THEMERC
 Opening hashed: THEMERC
 Opening hashed: THEMERC
 Loading theme scummremastered.zip
 Opening hashed: THEMERC
 FSDirectory::createReadStreamForMember('fonts.dat') ->
 '/usr/share/scummvm/fonts.dat'
 Opening hashed: FreeSansBold.ttf
 FSDirectory::createReadStreamForMember('fonts.dat') ->
 '/usr/share/scummvm/fonts.dat'
 Opening hashed: FreeSans.ttf
 FSDirectory::createReadStreamForMember('fonts.dat') ->
 '/usr/share/scummvm/fonts.dat'
 Opening hashed: FreeSans.ttf
 FSDirectory::createReadStreamForMember('fonts.dat') ->
 '/usr/share/scummvm/fonts.dat'
 Opening hashed: SourceCodeVariable-Roman.ttf
 Finished loading theme scummremastered.zip
 WARNING: Unknown scaler; defaulting to 1!
         gettime: 12:14:29
         gettime: 12:14:29
 FSDirectory::createReadStreamForMember('DREAMWEB.C00') ->
 '/usr/share/dreamweb/DREAMWEB.C00'
 Opening hashed: DREAMWEB.C00
 FSDirectory::createReadStreamForMember('DREAMWEB.G00') ->
 '/usr/share/dreamweb/DREAMWEB.G00'
 Opening hashed: DREAMWEB.G00
 FSDirectory::createReadStreamForMember('DREAMWEB.G01') ->
 '/usr/share/dreamweb/DREAMWEB.G01'
 Opening hashed: DREAMWEB.G01
 FSDirectory::createReadStreamForMember('DREAMWEB.S00') ->
 '/usr/share/dreamweb/DREAMWEB.S00'
 Opening hashed: DREAMWEB.S00
 FSDirectory::createReadStreamForMember('DREAMWEB.T80') ->
 '/usr/share/dreamweb/DREAMWEB.T80'
 Opening hashed: DREAMWEB.T80
 FSDirectory::createReadStreamForMember('DREAMWEB.T84') ->
 '/usr/share/dreamweb/DREAMWEB.T84'
 Opening hashed: DREAMWEB.T84
 loadSounds(0, DREAMWEB.V99)
 FSDirectory::createReadStreamForMember('DREAMWEB.V99') ->
 '/usr/share/dreamweb/DREAMWEB.V99'
 Opening hashed: DREAMWEB.V99
 table size = 72
 offset: 00000000, size: 18432
 offset: 00004800, size: 12288
 offset: 00007800, size: 24576
 offset: 0000d800, size: 53248
 offset: 0001a800, size: 135168
 offset: 0003b800, size: 57344
 offset: 00049800, size: 92160
 offset: 00060000, size: 86016
 offset: 00075000, size: 49152
 offset: 00081000, size: 163840
 offset: 000a9000, size: 4096
 offset: 000aa000, size: 6144
 FSDirectory::createReadStreamForMember('DREAMWEB.PAL') ->
 '/usr/share/dreamweb/DREAMWEB.PAL'
 Opening hashed: DREAMWEB.PAL
 FSDirectory::createReadStreamForMember('DREAMWEB.G08') ->
 '/usr/share/dreamweb/DREAMWEB.G08'
 Opening hashed: DREAMWEB.G08
 DreamWebEngine::processEvents() KeyDown keycode:312 ascii:0x00
 DreamWebEngine::processEvents() KeyDown keycode:303 ascii:0x00
 DreamWebEngine::processEvents() KeyDown keycode:312 ascii:0x00
 DreamWebEngine::processEvents() KeyDown keycode:312 ascii:0x00
 DreamWebEngine::processEvents() KeyDown keycode:303 ascii:0x00
 DreamWebEngine::processEvents() KeyDown keycode:32 ascii:0x20
 key pressed = 0020
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:276 ascii:0x114
 DreamWebEngine::processEvents() KeyDown keycode:276 ascii:0x114
 DreamWebEngine::processEvents() KeyDown keycode:276 ascii:0x114
 DreamWebEngine::processEvents() KeyDown keycode:276 ascii:0x114
 DreamWebEngine::processEvents() KeyDown keycode:276 ascii:0x114
 DreamWebEngine::processEvents() KeyDown keycode:276 ascii:0x114
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 DreamWebEngine::processEvents() KeyDown keycode:275 ascii:0x113
 ### This is ~ the point when the key is put in the plinth ###
 DreamWebEngine::processEvents() KeyDown keycode:311 ascii:0x00
 Setting 640 x 480 -> 640 x 480 -- 1
 Loading theme scummremastered.zip
 Opening hashed: THEMERC
 Finished loading theme scummremastered.zip
 HardwareInput with ID 'JOY_A' not known
 HardwareInput with ID 'JOY_Y' not known
 HardwareInput with ID 'JOY_UP' not known
 HardwareInput with ID 'JOY_DOWN' not known
 HardwareInput with ID 'JOY_LEFT' not known
 HardwareInput with ID 'JOY_RIGHT' not known
         gettime: 12:14:53
 loadPosition: slot 1 filename DREAMWEB.D01
 FSDirectory::createReadStreamForMember('DREAMWEB.R47') ->
 '/usr/share/dreamweb/DREAMWEB.R47'
 Opening hashed: DREAMWEB.R47
 loadRoomsSample(sample:35)
 cancelCh1()
 stopSound(1)
 loadSounds(1, DREAMWEB.V35)
 FSDirectory::createReadStreamForMember('DREAMWEB.V35') ->
 '/usr/share/dreamweb/DREAMWEB.V35'
 Opening hashed: DREAMWEB.V35
 table size = 60
 offset: 00000000, size: 1136640
 offset: 00115800, size: 36864
 offset: 0011e800, size: 30720
 offset: 00126000, size: 53248
 offset: 00133000, size: 53248
 offset: 00140000, size: 118784
 offset: 0015d000, size: 2048
 offset: 0015d800, size: 223232
 offset: 00194000, size: 133120
 offset: 001b4800, size: 20480
 playChannel0(index:12, repeat:255)
 playSound(channel:0, id:12, loops:255)
 playChannel1(index:14)
 playSound(channel:1, id:14, loops:1)
 playChannel1(index:13)
 playSound(channel:1, id:13, loops:1)
 playChannel1(index:15)
 playSound(channel:1, id:15, loops:1)
 playChannel1(index:16)
 playSound(channel:1, id:16, loops:1)
 FSDirectory::createReadStreamForMember('DREAMWEB.R01') ->
 '/usr/share/dreamweb/DREAMWEB.R01'
 Opening hashed: DREAMWEB.R01
 loadRoomsSample(sample:1)
 cancelCh0()
 stopSound(0)
 cancelCh1()
 stopSound(1)
 loadSounds(1, DREAMWEB.V01)
 FSDirectory::createReadStreamForMember('DREAMWEB.V01') ->
 '/usr/share/dreamweb/DREAMWEB.V01'
 Opening hashed: DREAMWEB.V01
 table size = 30
 offset: 00000000, size: 106496
 offset: 0001a000, size: 145408
 offset: 0003d800, size: 30720
 offset: 00045000, size: 55296
 offset: 00052800, size: 4096
 scummvm: engines/dreamweb/object.cpp:448: void
 DreamWeb::DreamWebEngine::deleteExFrame(uint8): Assertion `frame->ptr() +
 frame->width*frame->height <= _vars._exFramePos' failed.
 Aborted (core dumped)
 }}}
 My immpression is that there isn't really much useful information here.

 Stacktraces from as reported by `coredumpctl`:
 {{{
 $ coredumpctl dump --output=dreamweb_coredump_20241026
            PID: 14873 (scummvm)
            UID: 1000 (_____)
            GID: 1000 (_____)
         Signal: 6 (ABRT)
      Timestamp: Sat 2024-10-26 _____ (2h 56min ago)
   Command Line: scummvm -d9 --debugflags=Animation,SaveLoad -f -p
 /usr/share/dreamweb dreamweb
     Executable: /usr/bin/scummvm
  Control Group: /user.slice/user-1000.slice/session-1.scope
           Unit: session-1.scope
          Slice: user-1000.slice
        Session: 1
      Owner UID: 1000 (_____)
        Boot ID: 562a065adc624ba58fd59068d6e91ae8
     Machine ID: 0dbf78d7239e450c8874c026bc0be68e
       Hostname: _____
        Storage:
 /var/lib/systemd/coredump/core.scummvm.1000.562a065adc624ba58fd59068d6e91ae8.14873.1729959313000000.zst
 (present)
   Size on Disk: 7.3M
        Message: Process 14873 (scummvm) of user 1000 dumped core.

                 Stack trace of thread 14873:
                 #0  0x00007159bcca53f4 n/a (libc.so.6 + 0x963f4)
                 #1  0x00007159bcc4c120 raise (libc.so.6 + 0x3d120)
                 #2  0x00007159bcc334c3 abort (libc.so.6 + 0x244c3)
                 #3  0x00007159bcc333df n/a (libc.so.6 + 0x243df)
                 #4  0x00007159bcc44177 __assert_fail (libc.so.6 + 0x35177)
                 #5  0x000062fc858a7a4b
 _ZN8DreamWeb14DreamWebEngine13deleteExFrameEh (scummvm + 0xf5fa4b)
                 #6  0x000062fc858a7aa1
 _ZN8DreamWeb14DreamWebEngine14deleteExObjectEh (scummvm + 0xf5faa1)
                 #7  0x000062fc858a7e34
 _ZN8DreamWeb14DreamWebEngine13resetLocationEh (scummvm + 0xf5fe34)
                 #8  0x000062fc858a809a
 _ZN8DreamWeb14DreamWebEngine10entryAnimsEv (scummvm + 0xf6009a)
                 #9  0x000062fc85909b3f
 _ZN8DreamWeb14DreamWebEngine8dreamwebEv (scummvm + 0xfc1b3f)
                 #10 0x000062fc8590d2e0 _ZN8DreamWeb14DreamWebEngine3runEv
 (scummvm + 0xfc52e0)
                 #11 0x000062fc84a4bf24 runGame (scummvm + 0x103f24)
                 #12 0x000062fc84a639e3 scummvm_main (scummvm + 0x11b9e3)
                 #13 0x000062fc849e4b8a main (scummvm + 0x9cb8a)
                 #14 0x00007159bcc34e08 n/a (libc.so.6 + 0x25e08)
                 #15 0x00007159bcc34ecc __libc_start_main (libc.so.6 +
 0x25ecc)
                 #16 0x000062fc849ed085 _start (scummvm + 0xa5085)

                 Stack trace of thread 14897:
                 #0  0x00007159bcd1a63d __poll (libc.so.6 + 0x10b63d)
                 #1  0x00007159bc3049b7 n/a (libpulse.so.0 + 0x339b7)
                 #2  0x00007159bc2ee45c pa_mainloop_poll (libpulse.so.0 +
 0x1d45c)
                 #3  0x00007159bc2f861c pa_mainloop_iterate (libpulse.so.0
 + 0x2761c)
                 #4  0x00007159bc2f86d1 pa_mainloop_run (libpulse.so.0 +
 0x276d1)
                 #5  0x00007159bc308bf2 n/a (libpulse.so.0 + 0x37bf2)
                 #6  0x00007159babd52b7 n/a (libpulsecommon-17.0.so +
 0x5c2b7)
                 #7  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #8  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)

                 Stack trace of thread 14905:
                 #0  0x00007159bcc9fa19 n/a (libc.so.6 + 0x90a19)
                 #1  0x00007159bcca2479 pthread_cond_wait (libc.so.6 +
 0x93479)
                 #2  0x00007159a44cecae n/a (libgallium-24.2.4-arch1.1.so +
 0xcecae)
                 #3  0x00007159a44ab6bc n/a (libgallium-24.2.4-arch1.1.so +
 0xab6bc)
                 #4  0x00007159a44cebdd n/a (libgallium-24.2.4-arch1.1.so +
 0xcebdd)
                 #5  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #6  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)

                 Stack trace of thread 14902:
                 #0  0x00007159bcc9fa19 n/a (libc.so.6 + 0x90a19)
                 #1  0x00007159bccab63b n/a (libc.so.6 + 0x9c63b)
                 #2  0x00007159be786a29 n/a (libSDL2-2.0.so.0 + 0x140a29)
                 #3  0x00007159be6c084e n/a (libSDL2-2.0.so.0 + 0x7a84e)
                 #4  0x00007159be7862ea n/a (libSDL2-2.0.so.0 + 0x1402ea)
                 #5  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #6  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)

                 Stack trace of thread 14904:
                 #0  0x00007159bcc9fa19 n/a (libc.so.6 + 0x90a19)
                 #1  0x00007159bcca2479 pthread_cond_wait (libc.so.6 +
 0x93479)
                 #2  0x00007159a44cecae n/a (libgallium-24.2.4-arch1.1.so +
 0xcecae)
                 #3  0x00007159a44ab6bc n/a (libgallium-24.2.4-arch1.1.so +
 0xab6bc)
                 #4  0x00007159a44cebdd n/a (libgallium-24.2.4-arch1.1.so +
 0xcebdd)
                 #5  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #6  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)

                 Stack trace of thread 14898:
                 #0  0x00007159bcc9fa19 n/a (libc.so.6 + 0x90a19)
                 #1  0x00007159bcca2479 pthread_cond_wait (libc.so.6 +
 0x93479)
                 #2  0x00007159bc305aad pa_threaded_mainloop_wait
 (libpulse.so.0 + 0x34aad)
                 #3  0x00007159be73626d n/a (libSDL2-2.0.so.0 + 0xf026d)
                 #4  0x00007159be7862ea n/a (libSDL2-2.0.so.0 + 0x1402ea)
                 #5  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #6  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)

                 Stack trace of thread 14910:
                 #0  0x00007159bcc9fa19 n/a (libc.so.6 + 0x90a19)
                 #1  0x00007159bcca2479 pthread_cond_wait (libc.so.6 +
 0x93479)
                 #2  0x00007159a44cecae n/a (libgallium-24.2.4-arch1.1.so +
 0xcecae)
                 #3  0x00007159a44ab6bc n/a (libgallium-24.2.4-arch1.1.so +
 0xab6bc)
                 #4  0x00007159a44cebdd n/a (libgallium-24.2.4-arch1.1.so +
 0xcebdd)
                 #5  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #6  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)

                 Stack trace of thread 14899:
                 #0  0x00007159bcc9fa19 n/a (libc.so.6 + 0x90a19)
                 #1  0x00007159bcca2479 pthread_cond_wait (libc.so.6 +
 0x93479)
                 #2  0x00007159bc305aad pa_threaded_mainloop_wait
 (libpulse.so.0 + 0x34aad)
                 #3  0x00007159be73563d n/a (libSDL2-2.0.so.0 + 0xef63d)
                 #4  0x00007159be662836 n/a (libSDL2-2.0.so.0 + 0x1c836)
                 #5  0x00007159be7862ea n/a (libSDL2-2.0.so.0 + 0x1402ea)
                 #6  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #7  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)

                 Stack trace of thread 14911:
                 #0  0x00007159bcc9fa19 n/a (libc.so.6 + 0x90a19)
                 #1  0x00007159bcca2479 pthread_cond_wait (libc.so.6 +
 0x93479)
                 #2  0x00007159a44cecae n/a (libgallium-24.2.4-arch1.1.so +
 0xcecae)
                 #3  0x00007159a44ab6bc n/a (libgallium-24.2.4-arch1.1.so +
 0xab6bc)
                 #4  0x00007159a44cebdd n/a (libgallium-24.2.4-arch1.1.so +
 0xcebdd)
                 #5  0x00007159bcca339d n/a (libc.so.6 + 0x9439d)
                 #6  0x00007159bcd2849c n/a (libc.so.6 + 0x11949c)
                 ELF object binary architecture: AMD x86-64
 More than one entry matches, ignoring rest.
 }}}
 It seems like the first thread is the interesting one here.

 Let me know if adding the entire core file would be helpful!
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/15420#comment:3>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list