Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#3206 closed defect (fixed)

NIPPON: Crash on exit

Reported by: eriktorbjorn Owned by: peres
Priority: blocker Component: Engine: Parallaction
Keywords: Cc:
Game: Nippon Safes


Latest ScummVM SVN snapshot
English Amiga demo of Nippon Safes

The Parallaction engine does not exit very gracefully. In fact, it crashes for me every time.

The destruction of the Parallaction engine is accompanied by a snarl of invalid and/or double frees (which should be fixed, of course), but the immediate reason for the crash seems to be that ~Parallaction() calls freeLocation() after _soundMan has been deleted. The freeLocation() function calls _soundMan->stopSfx() a couple of times.

On the other hand, if I don't delete _soundMan, ScummVM hangs for me, so it actually seems to *depend* on crashing to behave "correctly".

Ticket imported from: #1726185. Ticket imported from: bugs/3206.

Change History (6)

comment:1 Changed 12 years ago by sev-

Raising priority. This is a release-critical bug.

comment:2 Changed 12 years ago by sev-

Owner: set to peres
Priority: normalblocker

comment:3 Changed 12 years ago by peres

I updated destructor code and it shouldn't crash now. Please report any further issues or I'll close this item.

comment:4 Changed 12 years ago by eriktorbjorn

Sorry, I forgot about this until now. The crash and invalid free/deletes seem to be all gone now. The only Valgrind warnings remaining (at least when simply starting and quitting the demo) are about uninitialised values in AmigaDisk::unpackBitmap(), and that's probably completely unrelated to this bug report.

comment:5 Changed 12 years ago by peres

I'm closing this issue. Will take a look at your warnings soon.

comment:6 Changed 12 years ago by peres

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.