Ok I just recently installed redit delete into my mud. Their is this one line in particular that keeps crashing the mud. Here is the output from gdb on it. Sorry for the length of this email, I was trying to give you enough information to help debug. Any help on this matter would be appreciated. Note the log functions are in there because we wanted to see exactly what was in that memory. It would loop through about six area files and crash at that point. We were thinking possibly a buffer overflow of some kind. Just kinda wondering if their might be some other ideas out there, we seem to be stuck in a rut.

#0    0x080c187e in redit_delete (ch=0x40540414,
     argument=0xa <Address 0xa out of bounds>) at olc_act.c:7271
7271                     if( ex->u1.to_room == pRoom )


here is the actual block of code from olc_act.c

 for( pRoom2 = room_index_hash[iHash]; pRoom2; pRoom2 = pRoom2->next )
          {
             for( i = 0; i <= MAX_DIR; i++ )
             {
                if( ( ex = pRoom2->exit[i] )== NULL )
                    continue;
                if( pRoom2 == pRoom )
                {
                    /* these are freed by free_room_index */
                    ecount++;
                    continue;
                }
                logf("pRoom2 %s - ex->u1.to_room %s:  Read_delete",
pRoom2->name, ex->u1.to_room->name);
                         if( ex->u1.to_room == pRoom )
                {
//                   free_exit( pRoom2->exit[i] );
//                   pRoom2->exit[i] = NULL;
                    SET_BIT( pRoom2->area->area_flags, AREA_CHANGED );
                    ecount++;
                }
               logf("Exit test for redit_delete");
             }
       }

_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com


Reply via email to