Opened 10 years ago

Closed 20 months ago

#6612 closed defect (outdated)

WME: Vsevolod (DEMO) - Crash in Intro

Reported by: raziel- Owned by:
Priority: normal Component: Engine: Wintermute
Version: Keywords:
Cc: Game: Wintermute

Description (last modified by raziel-)

ScummVM 1.7.0git (Jun 1 2014 08:24:40) Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC FreeType2 JPEG PNG

In the intro when the scenery gets revealed in the lower right of the screen by a close fly-by object i get an assertion (not always though, i was able to reach the game sometimes)

assertion "idx < _size": failed: file ".common/array.h", line 158

Vsevolod (Prologue Demo/Window/English)

AmigaOS4 - PPC - SDL - BE gcc (GCC) 4.2.4 (adtools build 20090118)

Ticket imported from: bugs/6612.

Edit:
The assertion changed into a full-blown crash, see crashlog

Attachments (1)

Crashlog_scummvm_2020-07-15_10-06-02.txt (41.3 KB ) - added by raziel- 4 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 by raziel-, 10 years ago

This is one strange bug...here are the steps to reproduce (at least, i can)

1) Start ScummVM 2) Add the game to the launcher 3) Start the game 4) Choose "New" 5) Let the intro roll Note that ego is sitting from the cliff 6) Wait till the game lets you take control and quit 7) Start ScummVM once again 8) In the launcher choose the game once again 9) Choose "New" once again 10) The intro rolls but there is no more ego sitting on the cliff :-o

I take a shoot in the dark and say that the assertion happens once ego is meant to be animated the first time, but i'm of course not sure :-)

Why it happens though is beyond me...maybe the game writes some variables somewhere and reads them wrong on the second start?

comment:2 by bluegr, 9 years ago

MSVC catches an invalid memory write when starting a new game:

scummvm.exe!SWAP(Wintermute::BaseSurface * & a, Wintermute::BaseSurface * & b) Line 54 C++ scummvm.exe!Common::sortPartition(Wintermute::BaseSurface * first, Wintermute::BaseSurface * last, Wintermute::BaseSurface * pivot, bool (const Wintermute::BaseSurface , const Wintermute::BaseSurface ) * & comp) Line 180 C++ scummvm.exe!Common::sort(Wintermute::BaseSurface * first, Wintermute::BaseSurface * last, bool (const Wintermute::BaseSurface , const Wintermute::BaseSurface ) * comp) Line 220 C++ (... tons of sorts ...) scummvm.exe!Common::sort(Wintermute::BaseSurface * first, Wintermute::BaseSurface * last, bool (const Wintermute::BaseSurface , const Wintermute::BaseSurface *) * comp) Line 221 C++ scummvm.exe!Wintermute::BaseSurfaceStorage::sortSurfaces() Line 174 C++ scummvm.exe!Wintermute::BaseSurfaceStorage::initLoop() Line 73 C++ scummvm.exe!Wintermute::BaseGame::initLoop() Line 546 C++ scummvm.exe!Wintermute::AdGame::initLoop() Line 216 C++ scummvm.exe!Wintermute::AdGame::displayContent(bool doUpdate, bool displayAll) Line 1850 C++ scummvm.exe!Wintermute::WintermuteEngine::messageLoop() Line 233 C++ scummvm.exe!Wintermute::WintermuteEngine::run() Line 129 C++

comment:3 by raziel-, 4 years ago

Description: modified (diff)
Summary: WME: Vsevolod (DEMO) - Assertion in IntroWME: Vsevolod (DEMO) - Crash in Intro

comment:4 by raziel-, 4 years ago

ScummVM 2.2.0git (Jul 14 2020 07:49:50)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC A/52 FreeType2 FriBiDi JPEG PNG cloud (servers, local)

The assertion changed into a crash now.
Reproducable every time.

The song finishes it's second line ("stubborn to her fathers pleas") and right when the first scene reveal happens (in the bottom right corner) it will crash.

comment:5 by raziel-, 20 months ago

Resolution: outdated
Status: newclosed

Doesn't happen anymore, thanks a lot

Note: See TracTickets for help on using tickets.