crash while playing Lithium

Is there something that doesn't work right in the latest GZDoom? Post about it here.

Moderator: Developers

Forum rules
Please construct and post a simple demo whenever possible for all bug reports. Please provide links to everything.

If you can include a wad demonstrating the problem, please do so. Bug reports that include fully-constructed demos have a much better chance of being investigated in a timely manner than those that don't.

crash while playing Lithium

Postby Lillian Blackstone » Sat Aug 11, 2018 3:43 am

Lillian Blackstone
 

Re: crash while playing Lithium

Postby Graf Zahl » Sat Aug 11, 2018 5:02 am

Can you please verify that you are using the correct version of libsndfile-1.dll and not one that came with an older version of GZDoom or even from the official download site? It crashes inside that DLL with an "invalid instruction" exception and there were known problems with bad code in that DLL in the past.
It may also be some bogus sound but it's impossible to tell from the crash log.

In any case, there's nothing we can do here because the code that crashes is outside our control.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: crash while playing Lithium

Postby _mental_ » Sat Aug 11, 2018 5:26 am

pmovzxdq instruction is not supported by such old CPU. It's quite strange that SSE 4.1 instruction appeared in that library though.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: crash while playing Lithium

Postby Graf Zahl » Sat Aug 11, 2018 5:48 am

That's why I was asking where the file came from. It's unlikely it is our own binary. AFAIK that was built with MSVC.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: crash while playing Lithium

Postby _mental_ » Sat Aug 11, 2018 6:46 am

The given library from gzdoom-bin-3-5-0.zip contains not only this but also bunch of AVX instructions.
It seems like when I built this library, code optimized via intrinsics from libFLAC was enabled by default.
Curiously enough, it was build on my very old notebook that doesn't support AVX for sure.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: crash while playing Lithium

Postby Graf Zahl » Sat Aug 11, 2018 6:51 am

So this only happens when decoding FLAC? No wonder it wasn't noticed earlier...
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: crash while playing Lithium

Postby drfrag » Sat Aug 11, 2018 7:10 am

If i remember right the usage of AVX was due to a bug in the compiler, i read something about that.
For my ports i had to use /Oi- to build without SSE2 in VS.
Then i'll need to replace libsndfile-1.dll as well for the vintage build (it runs on a P4 tough).
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash while playing Lithium

Postby Graf Zahl » Sat Aug 11, 2018 7:32 am

Does it? Have you actually decoded some FLACs?
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: crash while playing Lithium

Postby drfrag » Sat Aug 11, 2018 8:28 am

No, i guess it will crash with FLACs that's why i'll need to replace the dll (it's the same as in the modern package).
User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash while playing Lithium

Postby _mental_ » Sat Aug 11, 2018 9:34 am

FLAC has some routines optimized by hand to use SSE 4.1 and AVX 2.

The thing is those optimized functions should not be called if CPU has no support for such instruction sets.
Detection of CPU features seems to be correct in FLAC source code.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: crash while playing Lithium

Postby Graf Zahl » Sat Aug 11, 2018 9:37 am

_mental_ wrote:Detection of CPU features seems to be correct in FLAC source code.


Apparently this one CPU disagrees with you. The question is, why?
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: crash while playing Lithium

Postby drfrag » Sat Aug 11, 2018 1:19 pm

User avatar
drfrag
I.R developer, I.R smart
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain

Re: crash while playing Lithium

Postby _mental_ » Sat Aug 11, 2018 2:15 pm

No, it's unrelated problem.
_mental_ wrote:FLAC has some routines optimized by hand to use SSE 4.1 and AVX 2.

The thing is those optimized functions should not be called if CPU has no support for such instruction sets.
Detection of CPU features seems to be correct in FLAC source code.
_mental_
 
 
 
Joined: 07 Aug 2011


Return to Bugs

Who is online

Users browsing this forum: No registered users and 1 guest