mickmca Posted March 26, 2017 Report Share Posted March 26, 2017 (edited) 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 March 26, 2017 by mickmca additional info Quote Link to comment Share on other sites More sharing options...
mickmca Posted March 26, 2017 Author Report Share Posted March 26, 2017 (edited) 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 March 26, 2017 by mickmca additional info Quote Link to comment Share on other sites More sharing options...
Imarok Posted March 28, 2017 Report Share Posted March 28, 2017 Tried using the 0ad repo? Quote Link to comment Share on other sites More sharing options...
mickmca Posted April 2, 2017 Author Report Share Posted April 2, 2017 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. Quote Link to comment Share on other sites More sharing options...
mrben Posted April 23, 2017 Report Share Posted April 23, 2017 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(®s)) 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 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted May 3, 2017 Report Share Posted May 3, 2017 (edited) @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 May 3, 2017 by vladislavbelov Quote Link to comment Share on other sites More sharing options...
mrben Posted May 12, 2017 Report Share Posted May 12, 2017 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. Quote Link to comment Share on other sites More sharing options...
fabio Posted November 7, 2017 Report Share Posted November 7, 2017 I am getting this same error on Ubuntu 16.04 with both 0 A.D. alpha 21 (installed from a package, it properly worked some time ago) and SVN versions. EDIT: 32 bit Ubuntu on a Intel Core T2600 CPU. Quote Link to comment Share on other sites More sharing options...
Stan` Posted November 7, 2017 Report Share Posted November 7, 2017 Any idea what changed ? Did you update your kernel or use Intel microcode ? Quote Link to comment Share on other sites More sharing options...
fabio Posted November 7, 2017 Report Share Posted November 7, 2017 For sure it still worked on the same ubuntu and 0ad versions, some packages including the kernel got updated for sure since last time I successfully tried it. Quote Link to comment Share on other sites More sharing options...
echotangoecho Posted November 7, 2017 Report Share Posted November 7, 2017 Strange that it suddenly stopped working, as this issue should only depend on the values provided by the CPU and it seems very unlikely that those would suddenly change. At least we should take care to somewhere before next release throw this code out, as it doesn't really serve a purpose. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.