Jump to content

MaxLogiaclPerCore?


mickmca
 Share

Recommended Posts

I've been playing 0ad 20 on Ubuntu 16.04. I upgraded to 21, and when I try to run the game, the following happens:

1. I get an error message:

Assertion failed: 'logicalPerPackage % maxCoresPerPackage== 0"

Location: topology.cpp:105 (MaxLogicalPerCore)

2. The screen greys down and the computer hangs. Re-booted.

3. The third time, I noticed that I had a full-screen window labelled 0 a.d. with no content. I clicked the close button, and the hang ended.

I tried uninstalling 0 a.d. with the software manager, rebooting, and re-installing. The SM showed that it was installing v 21. Once it was installed, the same thing happened.

I'm going to try manually deleting any residual files after another uninstall.

I may need to re-install v 20. Is that possible?

================

Uninstall doesn't seem to leave anything behind. I looked in usr/bin for 0ad, pathenogenesis, and wildfire. Nothing there. I'm going to try to reinstall v 20.

Edited by mickmca
additional info
Link to comment
Share on other sites

I installed with apt-get, and got v21 again. However, when the white panel with the error message came up, I noticed a "continue" button, clicked it, and v21 is running.

==========

The first time I ran it, the launchbar and top status line remained on-screen, and the 0ad screen would not scroll up or left in response to the mouse (had to move w/arrow keys, but they DID NOT work for down and right!). It also ran veerrry slowly. It took more than five minutes to load a Giant map, and everything was choppy and jerky.

The second time I ran it, the screen was OK (after "continue"), speed was Ok, but the app icon was gone. When I locked it to the launchbar, all I got was a grey box with a ? on it.

I'm way over my head; maybe some else knows what's happening?

Edited by mickmca
additional info
Link to comment
Share on other sites

On 3/28/2017 at 3:55 PM, Imarok said:

Tried using the 0ad repo?

Actually, that's how I broke it in the first place. The Software Center wouldn't install v21 until after I had installed it directly and then uninstalled. The two glitches both continue, and they can be fixed by 1. clicking Continue and 2. pressing Alt-enter as if we were in Window mode. however, true Window mode (press Alt-Enter again) gives a true, four boundaried window.

Link to comment
Share on other sites

  • 3 weeks later...

Hello,

I am also hitting this issue. On Ubuntu and I am pretty sure on a Windows computer too, but I cannot confirm it now.

(By the way there are at least two other threads related to this issue: this one and this one.)

Here is a gdb session with a recent source which I got from svn.

It indicates logicalPerPackage is 109 (correct according to the bitfield found in regs.ebx).

Thread 1 "pyrogenesis" hit Breakpoint 1, topology::MaxLogicalPerCore ()
    at ../../../source/lib/sysdep/arch/x86_x64/topology.cpp:105
105                     ENSURE(logicalPerPackage % maxCoresPerPackage == 0);
(gdb) list
100                     if(!x86_x64::cpuid(&regs))
101                             DEBUG_WARN_ERR(ERR::CPU_FEATURE_MISSING);
102                     const size_t logicalPerPackage = bits(regs.ebx, 16, 23);
103                     const size_t maxCoresPerPackage = MaxCoresPerPackage();
104                     // cores ought to be uniform WRT # logical processors
105                     ENSURE(logicalPerPackage % maxCoresPerPackage == 0);
106                     const size_t maxLogicalPerCore = logicalPerPackage / maxCoresPerPackage;
107                     return maxLogicalPerCore;
108             }
109             else
(gdb) print regs.ebx
$1 = 141385728
(gdb) print /x regs.ebx
$2 = 0x86d6000
(gdb) print /x logicalPerPackage
$3 = 0x6d
...
(gdb) print /x maxCoresPerPackage
$5 = <optimized out>

maxCoresPerPackage is optimized out but when adding a print statement it says 2.

I attach /proc/cpuinfo because I thought it might help you. I am sorry I didn't find the various information you need in general (compiler version, whatever). Please let me know if there is anything I could do. Especially I assume it is not easy to reproduce the issue on your side if it occurs only on certain CPUs (?), if you guys need me to test a patch or
collect more information please ask and I'll do.

Many thanks for this great and beautiful game, me and my kids like it a lot.

cpuinfo

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

@mrben, There could be an issue with Intel: http://stackoverflow.com/a/24824554. Do you know your real values of both values: logicalPerPackage, maxCoresPerPackage?

May be Philip or @janwas could say something, at least only they've edited this file https://trac.wildfiregames.com/log/ps/trunk/source/lib/sysdep/arch/x86_x64/topology.cpp.

Edited by vladislavbelov
Link to comment
Share on other sites

  • 2 weeks later...

Hello.

I could try to figure out from the specifications of my CPU? Is it something in /proc/cpuinfo? It would be practical. Because I'm not sure what we are talking about "logicalPerPackage", "maxCoresPerPackage", I'm not too much into CPU low level details like those.

By the way in the meantime I edited the file to put logicalPerPackage = 1 I think and it permits to play.

Link to comment
Share on other sites

  • 5 months later...

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