IPB

Welcome Guest ( Log In | Register )

> Crash: m_Bots[slotOfEdict(pEdict)] is a bad pointer
JRob
post May 2 2011, 06:20 AM
Post #1


Advanced Member
***

Group: Members
Posts: 52
Joined: 30-April 11
Member No.: 1,970



I just compiled rcbots2 and tried it out. After a compile of minutes, it crashes at the same place.

I pinpointed it to bot.cpp line 2156.

CBot *pBot = m_Bots[slotOfEdict(pEdict)];

if ( pBot->inUse() )

pBot was 83 which is obviously a bad value. I did a quick hack to return NULL if pBot is less than 1000. It hasn't crashed in over an hour yet.

Here is the stack trace.

CBots::getBotPointer
CFlagEvent::execute
CBotGlobals::playerByUserId
CBotEvents::executeEvent
KeyValues::GetName
CRCBotPlugin::FireGameEvent
... some other stuff

http://crash.limetech.org/stack.php?pubid=1811
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Replies
Cheeseh
post May 2 2011, 08:23 AM
Post #2


Admin
*****

Group: Admin
Posts: 3,066
Joined: 11-September 03
From: uk
Member No.: 1



need to find out what 'event' it is crashing on (FireGameEvent) , its obviously returning a wrong player id within the game event, or the event has been changed and needs to be updated

i.e. the error is in a sub class of CBotEvents::executeEvent , need to find out which one and then find out the proper structure of that game event, (by using rcbot debug event 1) see what information it has and in what order
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Cheeseh
post May 3 2011, 02:40 AM
Post #3


Admin
*****

Group: Admin
Posts: 3,066
Joined: 11-September 03
From: uk
Member No.: 1



got a feeling that CFlagEvent::execute {
int player = pEvent->getInt("player");

edict_t *pPlayer = INDEXENT(player);

CBot *pBot = CBots::getBotPointer(pPlayer);

}

is part of the problem. player is bad.

can you run a game with no bots and just use 'rcbot debug gameevent 1' (or maybe its 'rcbot debug event 1') , and look out for the Flag event in the console when u either , pickup a flag, capture or drop. Can you remember when it crashed? Was it when a bot picked up the flag /dropped / or captured? Anyway the console information would be good. Cos my TF2 is still downloading from steam , I can't check myself right now....

User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



- Lo-Fi Version Time is now: 16th June 2025 - 08:07 PM