Jump to content

Problems with Ryzon TR 3960X && 256GB RAM


Froschkoenig84
 Share

Recommended Posts

0ad_error.thumb.png.a0ecaf6e52bffa7d758bd7b2c4afe57e.png

It's not working. And it seems like, I'm not the only one. 
Installed version: 0ad-0.0.23b-alpha.
This Patch wasn't working for me.

 

my machine (Windows 10 Enterprise):

Quote
DEVICE # DETAILS
CPU
1
AMD Ryzen TR 3960X
CPU-COOLER
1
Noctua NH-U14S TR4-SP3
MAINBOARD
1
MSI TRX40 PRO WIFI 7C60-005R
RAM
1
G.SKill RipJaws V 256GB (8x32GB, Octa Kit) DDR4-3200 CL16
GRAPHIC
1
ASRock RX 5700XT Taichi X8 OC+ DDR6 8GB
M.2 NVMe
2
CORSAIR MP600 2TB NVMe, PCIe-4.0
PWR
1
be quiet! STRAIGHT POWER 11 Platinum 1000W
CASE
1
Fractal Design Define 7 XL Black

 

Any ideas?

crashlog.dmp crashlog.txt

Link to comment
Share on other sites

I guess the workaround for the hardware detection is not working for the Threadrippers, so it crashes by starting the game. I remember, there was another Threadripper guy, who didn't get it to work. So I think, we should drop the detection, or do the correct implementation. Especially as we have good chances, to get the next problems, when the new Ryzen gen will be released. Maybe @Imarok could do that, if he has the time?

For more informations have a look on the post at the AMDs forum here.

Edited by OptimusShepard
Link to comment
Share on other sites

Should I start a ticket (today I got the verification mail)?
Is there a bug-report in your list? Because all Ryzens (and also TRs) in the future?
A lot of RoG-Fans are using TRs now.

I'm not a "heavy-gamer", just a C#.NET Developer, who needed a heavy machine. ;) That's all. :P 

But I really wanna play that game, because Empires-Apart and War-Selection is simply just not the same. :/ 

Another question... Why is 0.A.D. not part of the steam community? 
Please don't misunderstand, I think your work is fantastic and as soon as the game starts and runs for me and I like it, I will donate money too.

Link to comment
Share on other sites

Hello @Froschkoenig84 I may have a workaround for you. system.zip Try this, and give me feedback please.

Our problem with the wrong hardware detection is, that we read the new CPUIDs in a wrong way. So we get a wrong index, to interpret the cache associativity value. My workaround for you replaces the associativityTable[idxAssociativity] directly by the associativity value. 

@Stan` I was thinking, if our timer problems are CPUID problems? Do we read the CPUID to get the right timer? I know from my SIMD patches, that we use CPUID in other parts of the code too. I think it might be good, to have a look on this implementations. Maybe they need changes too. I don't know if the CPUID changes came with Zen2, or earlier. If the changes are older, we may had only luck, that the first Zen CPUs didn't crash too. But this is only speculating.

Link to comment
Share on other sites

Our problem (On windows at least) is that we trusted the hardware and I guess janwas made educated guesses about it which has worked until AMD decided to mess things up.

Also there are two different bugs. Hardware detection which is probably too precise for its own good and for our needs, and the timer code. AFAIK we only use the former to detect the timer then use a custom function for TSC or with my patch QPC which is part of the windows API.

I chatted a bit with @wraitii on the SIMD changes and I believe the discrepancy on Linux vs Windows is due to the fact some optmizations are disabled on MSVC while they are "on" on Linux.

Link to comment
Share on other sites

On 9/11/2020 at 10:58 AM, OptimusShepard said:

Hello @Froschkoenig84 I may have a workaround for you. system.zip Try this, and give me feedback please.

Our problem with the wrong hardware detection is, that we read the new CPUIDs in a wrong way. So we get a wrong index, to interpret the cache associativity value. My workaround for you replaces the associativityTable[idxAssociativity] directly by the associativity value. 

The CPUIDs... I didn't know, that they had change the CPUIDs with the new AMD processors. Maybe it's also interesting for me by using .NET. But I noticed that GoLang has a new patch, specifically for modern AMD Ryzens and TRs. But I don't know what it was all about either. Any problems in "single thread mode" or something that.

Because your patch... No, I'm sorry to say that...

image.png.3cc48fdfea96c685cfa6152f1b9a2be6.png

...it's not working.

 

 

Attached: log files (PS: system_info.txt is empty)

crashlog.dmp crashlog.txt

Edited by Froschkoenig84
Link to comment
Share on other sites

8 minutes ago, Froschkoenig84 said:

No, I'm sorry to say that...

I'm sorry to hear that. I will have a look on the code again, but I guess, without the possibility of debugging, my chances aren't that good to find a quick workaround. I have also already tried, to do the correct implementation, but the CPUID and the technical backround ist out of my knowledge. I hope @Imarok can fix it soon.
On the Ryzen CPUs it was possible, to press multiple time continue (at the crash window), to launch the game. Maybe this will work on the Threadrippers too? If so, you can press Alt + Enter to change to fullscreen mode.

Link to comment
Share on other sites

On 9/11/2020 at 11:45 AM, Stan` said:

AFAIK we only use the former to detect the timer then use a custom function for TSC or with my patch QPC which is part of the windows API.

Yep, this is what I meant. If we detect a false positive for TSC.

On 9/11/2020 at 11:45 AM, Stan` said:

I chatted a bit with @wraitii on the SIMD changes and I believe the discrepancy on Linux vs Windows is due to the fact some optmizations are disabled on MSVC while they are "on" on Linux.

Do you meant the performance difference at all, or only when using SSE? I guess, most of the differences are related to the AMD OpenGl drivers. Do you think the newer 2019 compiler would have a big performance benefit?

Link to comment
Share on other sites

4 minutes ago, Froschkoenig84 said:

Just another info...
Is there a problem because localization? "," (comma) and "." (point) for floats and doubles (fraction signs)?

I guess, test.exe wont work, because it's normally only available with the development (svn/git) version. I didn't delete all unnecessary files out of the folder.

  • Haha 1
Link to comment
Share on other sites

-------------------------------------------------------FMT bug---------------------------------------------------------------------------

The error above is actually a bug it's fixed when @s0600204 or @Itms update FMT the library being the serialization. Basically it's broken when the used locale is not present on the system.

-------------------------------------------------------Thread Ripper bug---------------------------------------------------------------------------

https://github.com/0ad/0ad/blob/4b35ac33f7f30e6bb0a674a6996357a8a75cf1a3/source/lib/sysdep/arch/x86_x64/topology.cpp#L174-L193

Here is the callstack

 	KERNELBASE.dll!76529962()	Unknown
 	KERNELBASE.dll![Frames below may be incorrect and/or missing, no symbols loaded for KERNELBASE.dll]	Unknown
 	VCRUNTIME140.dll!74e87756()	Unknown
 	msvcp140.dll!73dcec4f()	Unknown
 	[Inline Frame] pyrogenesis.exe!std::bitset<32>::_Xran() Line 486	C++
 	[Inline Frame] pyrogenesis.exe!std::bitset<32>::set(unsigned int) Line 266	C++
>	pyrogenesis.exe!`topology::InitCpuTopology'::`5'::NumUniqueValuesInField::operator()(const topology::ApicField & apicField) Line 185	C++
 	pyrogenesis.exe!topology::InitCpuTopology() Line 193	C++
 	pyrogenesis.exe!ModuleInit(volatile int * initState, __int64(*)() init) Line 47	C++
 	pyrogenesis.exe!topology::NumPackages() Line 247	C++
 	pyrogenesis.exe!RunHardwareDetection() Line 307	C++
 	pyrogenesis.exe!InitGraphics(const CmdLineArgs & args, int flags, const std::vector<CStr8,std::allocator<CStr8>> & installedMods) Line 1001	C++
 	pyrogenesis.exe!AtlasMessage::fInitGraphics(AtlasMessage::mInitGraphics * msg) Line 90	C++
 	pyrogenesis.exe!AtlasMessage::fInitGraphics_wrapper(AtlasMessage::IMessage * msg) Line 84	C++
 	pyrogenesis.exe!RunEngine(void * data) Line 173	C++
 	pyrogenesis.exe!thread_start(void * param) Line 624	C++
 	ucrtbase.dll!7701505f()	Unknown
 	kernel32.dll!7694f989()	Unknown
 	ntdll.dll!77da74a4()	Unknown
 	ntdll.dll!77da7474()	Unknown

The bug is this one https://trac.wildfiregames.com/ticket/5412 @Itms submitted a fix https://code.wildfiregames.com/D1789 @OptimusShepard can you make another zip for @Froschkoenig84 to try?

 

Link to comment
Share on other sites

On 9/14/2020 at 4:23 PM, Stan` said:

The bug is this one https://trac.wildfiregames.com/ticket/5412 @Itms submitted a fix https://code.wildfiregames.com/D1789 @OptimusShepard can you make another zip for @Froschkoenig84 to try?

I add the patch D1789, hopefully it work system.zip

If this doesn't work you may want to test this here. I hardcoded some parts, so another chance ^^ system_hardcoded.zip

On 9/14/2020 at 4:23 PM, Stan` said:

-------------------------------------------------------FMT bug---------------------------------------------------------------------------

The error above is actually a bug it's fixed when @s0600204 or @Itms update FMT the library being the serialization. Basically it's broken when the used locale is not present on the system.

So ignoring this bug?

Edited by OptimusShepard
Reupload and different naming of the files.
Link to comment
Share on other sites

  • 2 weeks later...
On 9/14/2020 at 11:24 PM, OptimusShepard said:
On 9/14/2020 at 4:23 PM, Stan` said:

The bug is this one https://trac.wildfiregames.com/ticket/5412 @Itms submitted a fix https://code.wildfiregames.com/D1789 @OptimusShepard can you make another zip for @Froschkoenig84 to try?

I add the patch D1789, hopefully it work system.zip

If this doesn't work you may want to test this here. I hardcoded some parts, so another chance ^^ system.zip

@Froschkoenig84 does it work for you?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...