[ scummvm-Bugs-1690813 ] BASS: Crash when changing scalers during intro

SourceForge.net noreply at sourceforge.net
Thu Mar 29 20:47:14 CEST 2007


Bugs item #1690813, was opened at 2007-03-29 20:47
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=1690813&group_id=37116

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Unknown Crash/Other
Group: Beneath a Steel Sky
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Torbjörn Andersson (eriktorbjorn)
Assigned to: Nobody/Anonymous (nobody)
Summary: BASS: Crash when changing scalers during intro

Initial Comment:
BASS 0.0372
Current SVN snapshot (but also tested with 0.9.1)

It seems that if you change scaler (or, I guess, do anything else that forces the screen to redraw) during the BASS intro, there is a tiny chance that ScummVM will crash.

I managed to capture the crash in Valgrind, though since I had been making local changes to BASS at the time (touching screen.h, intro.cpp, sky.cpp and screen.cpp), the line number may be slightly off:

==24221== Thread 2:
==24221== Invalid read of size 1
==24221==    at 0x422F11D: (within /usr/lib/libSDL-1.2.so.0.11.0)
==24221==    by 0x424B4A3: SDL_LowerBlit (in /usr/lib/libSDL-1.2.so.0.11.0)
==24221==    by 0x424B6D3: SDL_UpperBlit (in /usr/lib/libSDL-1.2.so.0.11.0)
==24221==    by 0x8089CA8: OSystem_SDL::internUpdateScreen() (graphics.cpp:678)
==24221==    by 0x8088558: OSystem_SDL::updateScreen() (graphics.cpp:512)
==24221==    by 0x4E36830: Sky::Screen::processSequence() (screen.cpp:516)
==24221==    by 0x4E368DA: Sky::Screen::handleTimer() (screen.cpp:418)
==24221==    by 0x4E37B8E: Sky::SkyEngine::gotTimerTick() (sky.cpp:510)
==24221==    by 0x4E37BB2: Sky::SkyEngine::timerHandler(void*) (sky.cpp:505)
==24221==    by 0x814F840: DefaultTimerManager::handler() (default-timer.cpp:107)
==24221==    by 0x808C34A: timer_handler(unsigned, void*) (sdl.cpp:49)
==24221==    by 0x422B30B: (within /usr/lib/libSDL-1.2.so.0.11.0)
==24221==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

Maybe it has to do with the animations being run by a timer, i.e. not the main thread? That sort of thing has haunted us in the past...


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=418820&aid=1690813&group_id=37116




More information about the Scummvm-tracker mailing list