View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000640||Gameplay + OpenGL||[All Projects] Bug||public||2017-04-29 16:59||2017-04-30 20:08|
|Summary||0000640: Frozen status in GZDoom 3.0|
|Description||Activating a switch with a Radius_Quake action in GZDoom 3.0 32-bit version, the game will froze everytime. Tested on the 20 Monsters Challenge megawad, maps 25 and 38.|
|Steps To Reproduce||-Drag and load this provided wad in GZDoom.|
-Select the Doom 2 Iwad.
-Press the switch in front of you.
-The game will froze because of the Radius_Quake action.
|Additional Information||-Use the 32-bit stable version of GZDoom 3.0.0|
|Tags||No tags attached.|
quake.wad (2,582 bytes)
|I can get this too. It is just the 32 bit version though. The 64 bit version seems to work just fine.|
|Also, any value for the intensity, radius and tremor, even at minimum, the game will freeze no matter what.|
|After some testing, I've come to the conclusion that the crash may be related to the sound played during quake effects, specifically their FLAC format, making the secret sound play by entering a secret sector or crossing a secret line also crashed the game for me, but it didn't when I added a custom DSSECRET via an external pk3, in WAV format.|
|Released 32-bit build crashes inside libsndfile-1.dll.|
I'm off for the entire day so I cannot test myself right now.
Can you retest this with the DLL from the 2.4 release? That's an older one.
This probably needs to be reported to the libsndfile developer if it can be confirmed to be a library related error.
Fixed in 8a36bf5
Hard to say who is responsible for this fault, our code or libsndfile.
If SSE optimization was explicitly enabled during compilation of DLL, I guess we need to do proper buffer alignment.
In any case, it was quite easy to fix on our side.
|Such a requirement should never be made part of an ABI.|
Last edited: 2017-04-30 15:13
Even after my fix I've got the same unaligned access in Debug Win32 build.
Apparently something is really wrong with libsndfile.
UPDATE: I built libsndfile from master branch using MSVC. Release DLL works fine with all GZDoom configurations. Most likely 1.0.28 was compiled with MinGW which is guilty of breaking alignment in stack.
The question is how do we proceed with libsndfile for minor release?
|2017-04-29 16:59||leodoom85||New Issue|
|2017-04-29 16:59||leodoom85||File Added: quake.wad|
|2017-04-29 18:03||Enjay||Note Added: 0001588|
|2017-04-29 19:00||leodoom85||Note Added: 0001591|
|2017-04-29 23:23||YukiHerz||Note Added: 0001593|
|2017-04-30 03:06||_mental_||Status||new => confirmed|
|2017-04-30 03:06||_mental_||Note Added: 0001594|
|2017-04-30 03:59||Graf Zahl||Note Added: 0001595|
|2017-04-30 04:08||_mental_||Status||confirmed => resolved|
|2017-04-30 04:08||_mental_||Resolution||open => fixed|
|2017-04-30 04:08||_mental_||Note Added: 0001596|
|2017-04-30 04:41||Graf Zahl||Note Added: 0001597|
|2017-04-30 13:35||_mental_||Status||resolved => confirmed|
|2017-04-30 13:35||_mental_||Note Added: 0001605|
|2017-04-30 13:35||_mental_||Resolution||fixed => open|
|2017-04-30 15:13||_mental_||Note Edited: 0001605||View Revisions|
|2017-04-30 20:08||Rachael||Assigned To||=> Rachael|
|2017-04-30 20:08||Rachael||Status||confirmed => closed|