View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0004753 | Spring engine | General | public | 2015-04-21 17:56 | 2015-05-06 11:05 |
| Reporter | hokomoko | Assigned To | abma | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | 98.0.1+git | ||||
| Summary | 0004753: Using enqueue=true in Spring.PlaysoundStream causes a crash | ||||
| Description | I'm not listing it under lua, because the crash is in the sound. More info may come later. | ||||
| Tags | No tags attached. | ||||
| Checked infolog.txt for Errors | |||||
|
|
Fix 7db5f966ff84b5fe0cfc9ba8e103ec861e9b6aa1 committed to develop branch: Merge pull request 0000195 from ashdnazg/enqueue_fix fix enqueuing soundstreams (Fixes 0004753), repo: spring changeset id: 4932 |
|
|
just for the completeness as you already collected the info?! stacktrace + lua snippet to reproduce it would be nice. |
|
|
(as you can't post it here it seems:) " How the bug happens: SoundStream A plays with SoundStream B queued after it. When A ends, CSoundSource::Stop() is called from CSoundSource::Update() in these lines: if (curStream->IsFinished()) { Stop(); } This causes the following stack overflow: 1) CSoundSource::Stop() calls curChannel->SoundSourceFinished() 2) AudioChannel::SoundSourceFinished() sees that the queue isn't empty, and calls AudioChannel::StreamPlay() on B. 3) AudioChannel::PlayStream calls curStreamSrc->PlayStream() 4) The first thing CSoundSource::PlayStream() does is calling Stop() which puts us back in 1. The solution was to prevent AudioChannel::SoundSourceFinished() from being called in the second time we hit Stop(). " thanks a lot for for explaining and fixing this! |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2015-04-21 17:56 | hokomoko | New Issue | |
| 2015-05-06 01:40 | hokomoko | Changeset attached | => spring develop 28617b78 |
| 2015-05-06 01:40 | abma | Changeset attached | => spring develop 7db5f966 |
| 2015-05-06 01:40 | abma | Note Added: 0014433 | |
| 2015-05-06 01:40 | abma | Assigned To | => abma |
| 2015-05-06 01:40 | abma | Status | new => resolved |
| 2015-05-06 01:40 | abma | Resolution | open => fixed |
| 2015-05-06 01:56 | abma | Note Added: 0014434 | |
| 2015-05-06 01:56 | abma | Note Edited: 0014434 | |
| 2015-05-06 08:21 | abma | Note Added: 0014435 | |
| 2015-05-06 11:05 | abma | Priority | low => normal |
| 2015-05-06 11:05 | abma | Severity | minor => crash |