Player: PS Vita: Crash when SE channels are exhausted

Created on 13 Aug 2016  路  4Comments  路  Source: EasyRPG/Player

This happens because SE_Play does not check if there are any free channels.

Could be e.g. fixed by initializing a Semaphore to se channel count (7?) and then aquiring the Semaphore at the beginning of SE thread-for-loop and releasing it at the end of the for-loop.

The main thread could check this semaphore and when it is 0 (= would block) issue a Output::Warning and ignore that SE (like the SDL audio version does).

Crash PSVita Patch available Testcase available

Most helpful comment

the_amount_of_SE_is_too_damn_high

  1. Use Ib ver. 107 (english)
  2. Use this savegame https://upload.af/yjgc88juhaml
  3. Go into the separation room and inspect the painting.
  4. ???
  5. PROFIT

All 4 comments

A game where this could be easily reproduced for testing?

the_amount_of_SE_is_too_damn_high

  1. Use Ib ver. 107 (english)
  2. Use this savegame https://upload.af/yjgc88juhaml
  3. Go into the separation room and inspect the painting.
  4. ???
  5. PROFIT

se-crash.zip

Here is an artificial test.

I only accept patches that show 493 "No free channels available" warnings in the 500 SE testcase ;)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

BuffMcBigHuge picture BuffMcBigHuge  路  4Comments

kakurasan picture kakurasan  路  4Comments

scoot404 picture scoot404  路  4Comments

gadesx picture gadesx  路  5Comments

carstene1ns picture carstene1ns  路  4Comments