View Issue Details

IDProjectCategoryView StatusLast Update
0000640Gameplay + OpenGL[All Projects] Bugpublic2017-04-30 20:08
Reporterleodoom85 
Assigned ToRachael 
PriorityhighSeverityminorReproducibilityalways
Status closedResolutionopen 
Summary0000640: Frozen status in GZDoom 3.0
DescriptionActivating 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
TagsNo tags attached.

Relationships

Activities

leodoom85

leodoom85

2017-04-29 16:59

reporter  

quake.wad (2,582 bytes)
Enjay

Enjay

2017-04-29 18:03

reporter   ~0001588

I can get this too. It is just the 32 bit version though. The 64 bit version seems to work just fine.
leodoom85

leodoom85

2017-04-29 19:00

reporter   ~0001591

Also, any value for the intensity, radius and tremor, even at minimum, the game will freeze no matter what.
YukiHerz

YukiHerz

2017-04-29 23:23

reporter   ~0001593

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.
_mental_

_mental_

2017-04-30 03:06

developer   ~0001594

Released 32-bit build crashes inside libsndfile-1.dll.
Graf Zahl

Graf Zahl

2017-04-30 03:59

administrator   ~0001595

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.
_mental_

_mental_

2017-04-30 04:08

developer   ~0001596

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.
Graf Zahl

Graf Zahl

2017-04-30 04:41

administrator   ~0001597

Such a requirement should never be made part of an ABI.
_mental_

_mental_

2017-04-30 13:35

developer   ~0001605

Last edited: 2017-04-30 15:13

View 2 revisions

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?

Issue History

Date Modified Username Field Change
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