The Dawn Of Time
The Official Forums for the Dawn Of Time Mud Codebase
 
Log in Register FAQ Memberlist Search The Dawn Of Time Forum Index Goto the Official Dawn Website

Strange... Movement Bug or what?

 
Post new topic   Reply to topic    The Dawn Of Time Forum Index » 1.69r fixes implemented into the next pending release
View previous topic :: View next topic  
Author Message
certordin



Joined: 07 Dec 2004
Posts: 21

PostPosted: Sat Sep 12, 2009 8:13 pm    Post subject: Strange... Movement Bug or what? Reply with quote

I am running on XP SP3 and compiling using visual studio 2008.
When i sign up a character and attempt to move into a new room in ANY direction (n,s,e,w,etc) it crashes with the following:

Code:
Unhandled exception at 0x00725316 in dawn.exe: 0xC0000005: Access violation reading location 0x000002d4.


Code:

Call Stack:

    dawn.exe!finished_running_prog_for_trigger(char_data * mob=0x00000000, char_data * ch=0x01dbab70, int mtrig=64)  Line 2080 + 0x8 bytes   C++
    
>   dawn.exe!mp_greet_trigger(char_data * ch=0x01dbab70)  Line 2445 + 0xf bytes   C++

    dawn.exe!move_char(char_data * ch=0x01dbab70, int door=2, bool __formal=false)  Line 612 + 0x9 bytes   C++

    dawn.exe!do_south(char_data * ch=0x01dbab70, char * __formal=0x00a03819)  Line 688 + 0xd bytes   C++

    dawn.exe!interpret(char_data * ch=0x01dbab70, char * argument=0x00a03819)  Line 1355 + 0x1b bytes   C++

    dawn.exe!process_input(connection_data * c=0x01db19e4)  Line 3962 + 0x22 bytes   C++

    dawn.exe!netio_process_input_from_polled_connections()  Line 1259 + 0x9 bytes   C++

    dawn.exe!game_loop()  Line 1154   C++

    dawn.exe!main(int argc=1, char * * argv=0x003429d0)  Line 764   C++

    dawn.exe!__tmainCRTStartup()  Line 582 + 0x19 bytes   C

    dawn.exe!mainCRTStartup()  Line 399   C


Seems to maybe be a bug in the mob pointer in the following function maybe? I am not sure:

Code:

In MUD_PROG.CPP
void finished_running_prog_for_trigger( char_data *mob, char_data *ch, int mtrig)
{
   // clear the trigger type as being run for this mobile
   REMOVE_RUNNING_TRIGGER(mob,mtrig);
}


Anyway my debugger say next line to run and then stops at the REMOVE_RUNNING_TRIGGER(mob,mtrig); line.

Hope this is something simple.
Not sure what the problem is. Might be my compiler.
Cert


Back to top
View user's profile Send private message MSN Messenger
Kalahn
Codebase Developer


Joined: 18 Jan 2003
Posts: 710
Location: New Zealand

PostPosted: Mon Sep 14, 2009 9:01 pm    Post subject: Reply with quote

Hi,

You can see from the callstack you posted, mob is null.
dawn.exe!finished_running_prog_for_trigger(char_data * mob=0x00000000,...

Turns out mp_greet_trigger() has a bug.

The tail end of the function should read:
Code:
         // GrAll triggers will greet all players except
         // wizi LEVEL_IMMORTAL+ immortals
         if ( HAS_TRIGGER( mob, MTRIG_GRALL )){
            mp_percent_trigger( mob, ch, NULL, NULL, MTRIG_GRALL );
         }

         // flag the trigger as finished running, for the recursion prevention code
         finished_running_prog_for_trigger(mob, ch, MTRIG_GREET);
      }
    }
    return;
.

I have rechecked all the finished_running_prog_for_trigger() calls...
mp_percent_trigger() is missing a finished_running_prog_for_trigger(mob, ch, type); just before early return as well.

Thanks for the bug report, fixed in next release Smile

- Kal



_________________
Kalahn
Developer of the Dawn of Time Codebase
http://www.dawnoftime.org/
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    The Dawn Of Time Forum Index » 1.69r fixes implemented into the next pending release All times are GMT + 13 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001-2005 phpBB Group
Theme created by Vjacheslav Trushkin