-
Notifications
You must be signed in to change notification settings - Fork 353
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1.5.2pre.1305] Freeze after engaging with the Sat Com relay #390
Comments
I haven't tried the savegame yet. Generally what could help is getting a backtrace of all threads (looks like the main thread is waiting for another thread to signal it can go on). This can be done (in gdb) with: |
Wow, thanks for your quick comment. I'm really learning a lot about gdb now. Anyway, here is the log because it really takes me less then a minute to reproduce:
|
In idSampleDecoderLocal::DecodeOGG() `totalSamples` was 1 and `reqSamples` was 0, which caused an endless loop.. this was caused by idSoundWorldLocal::ReadFromSaveGame() setting `chan->openalStreamingOffset` to an odd number, I think due to `currentSoundTime` being an odd number. To fix that, I round up `chan->openalStreamingOffset` to a (very) even number, and to be double-sure I also added a check in DecodeOgg() to make sure it exits the loop if `reqSamples` is 0.
Thanks for reporting! (This issue was introduced after 1.5.1 when overhauling the .ogg reading code) |
That's it, the freeze is gone and I can continue my fight for mankind's survival. |
Thanks for the confirmation and good luck with the fight! |
In idSampleDecoderLocal::DecodeOGG() `totalSamples` was 1 and `reqSamples` was 0, which caused an endless loop.. this was caused by idSoundWorldLocal::ReadFromSaveGame() setting `chan->openalStreamingOffset` to an odd number, I think due to `currentSoundTime` being an odd number. To fix that, I round up `chan->openalStreamingOffset` to a (very) even number, and to be double-sure I also added a check in DecodeOgg() to make sure it exits the loop if `reqSamples` is 0.
I ran into a reproducible issue with Dhewm3, which freezes the game completely. It happens just after I cancelled the distress signal. When loading the quicksave, All I do is a step forward and looking to the left, and the game freezes.
Save game:
QuickSave.zip
Log:
Dhewm3FreezeLog.txt
The log is sadly useless I fear, since the issue freezes the machine, forcing me to use gdb to terminate the program. When running without gdb, the issue also happens and I have to kill the task instead. As always, if you need more info, feel free to ask.
The text was updated successfully, but these errors were encountered: