Page 3 of 3
Posted: 19 Aug 2006, 02:14
by pheldens
Some more NTAI test info.
versions:
72b1 linux spring data
with trunk/game/* copied into datadir recursively
test:
started ntai test script on simple chess.
infolog:
Code: Select all
TA Spring 0.72b1
GlobalAI1: error in Global constructor, cannot continue
GlobalAI1: St9exception
GlobalAI1: Error :: InitAI() in XE9RC22 failed, please notify AF at once
GlobalAI1: Error :: www.darkstars.co.uk
Posted: 19 Aug 2006, 02:23
by AF
I wish i knew what an st9exception was.....
Posted: 19 Aug 2006, 04:31
by pheldens
it may be just my system, or it's related to boost, it's somekind of c++ exception error.
Posted: 19 Aug 2006, 07:30
by patmo98
pheldens wrote:Some more NTAI test info.
versions:
72b1 linux spring data
with trunk/game/* copied into datadir recursively
This page might help.
http://www.gatago.com/gnu/g++/help/15178519.html
Posted: 19 Aug 2006, 11:19
by Tobi
AF wrote:I wish i knew what an st9exception was.....
Maybe it's the MSVC mangled name of something like "struct exception".
At least the 9 with exactly nine characters following suggests it's a mangled symbol, because thats the usual way to do it.
Posted: 19 Aug 2006, 15:00
by pheldens
> }//try
> catch(std::exception e) {
> cerr << "Exception:" << endl;
> cerr << e.what() << endl;
> exit(EXIT_FAILURE);
> }//catch
> catch(...) {
> cerr << "An unknown exception occurs while parsing :
> "command line arguments." << endl;
> exit(EXIT_FAILURE);
> }//catch
>
>
> Using the 'try' in the position shown above, if I input an unexpected
> command line options, an exceptioin is thrown whose what() method returns
> "St9exception".
> That's it. Just "St9exception". I can't find that string in the Boost
> source anywhere.
You are catching the exception by value. That will slice the derived
object, and lose the exception info. Catch by reference instead and you
might see something more useful.
Posted: 19 Aug 2006, 17:50
by AF
That makes outputting exception data make even less sense, so I definately know howto do it the wrong way but not the right?
Posted: 19 Aug 2006, 18:59
by Tobi
Code: Select all
try {
/* code here */
}
catch (const std::exception& e) {
std::cout << "Caught exception: " << e.what() << std::endl;
}
Posted: 19 Aug 2006, 21:11
by pheldens
The error has disappeared for me, building svn after today's tco sync merge, the ntai bot seems to work out of the box now, atleast it's building factories and I get no errors in the log.
It may also have been related to the used compiling optimizations. Since tco's changes force these to a minimum. (and they are no longer inherited from the environment.)
Posted: 20 Aug 2006, 17:06
by pheldens
ntai + AA + SVN + Coast to Coast remake map
----
Number of damage types: 40
Unknown feature type
TA Spring 0.72b1
AI has enabled cheating.
GlobalAI0: :: NTai XE9RC22 by AF
GlobalAI0: :: Copyright (C) 2006 AF
GlobalAI0: :: AA BT 0.12 by Egarwaen, Lindir The Green and AF
GlobalAI0: [12:10]error :: corlab is missing from the efficiency array
GlobalAI0: [12:10]error :: corllt is missing from the efficiency array
GlobalAI0: [12:10]error :: corllt is missing from the efficiency array
GlobalAI0: [12:10]error :: corrl is missing from the efficiency array
<last 4 repeated continuously>
Posted: 20 Aug 2006, 17:12
by AF
BT??? I'm not familiar with that variant.
Posted: 20 Aug 2006, 23:22
by keithjr
I get a similar error in standard AA, but I think it has to do with AA's use of metatags, right? I remember hearing that a while ago.
NTAI works fine with XTAv7 for me currently (rev 1903) with the few maps I've tried. Although, now AAI seems to be screwed up. I'm looking into it.
Posted: 21 Aug 2006, 00:08
by AF
delete all existign stuff in the AI fodler before installign NTai.
And no AA buildtree was included with XE9RC22 because of those metatag issues. Any existing AA buildtree would thus bork NTai....
Posted: 21 Aug 2006, 22:57
by keithjr
Using latest SVN, I'm actually getting similar problems in XTAPEv7. The following messages appear in-game
Code: Select all
GlobalAI1: [07:40]error :: armmmkr is missing from the efficiency array
GlobalAI1: [07:40]error :: armbrtha is missing from the efficiency array
GlobalAI1: [07:40]error :: armsilo is missing from the efficiency array
GlobalAI1: [07:40]error :: armamd is missing from the efficiency array
GlobalAI1: [07:40]error :: armamd is missing from the efficiency array
GlobalAI1: [07:40]error :: armmmkr is missing from the efficiency array
GlobalAI1: [07:40]error :: armmmkr is missing from the efficiency array
GlobalAI1: [07:40]error :: armfus is missing from the efficiency array
GlobalAI1: [07:40]error :: armckfus is missing from the efficiency array
This happens every few minutes. The AI in game builds mostly construction units and occassionally goes for a Krogoth way too early. As I said, this is with trunk revision 1908 after having cleaned and replaced the /AI folder with the newest one.