View Single Post
  #7  
Old 11-18-2003, 10:18 PM
Trumpcard
Demi-God
 
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
Default

Odd, its listing the line numbers and where they're from, but not listing the source lines...

This is obviously the older code base, pull down CVS today and test again with the updated version if you dont mind. Good tests would be having mixtures of spell casters and melees fighting, that way we'd be exercising alot of the code in spells.cpp as well.

Thanks!

This is one I havent seen... I'm guessing the way point list isnt being cleaned up properly.. Havent really messed with that code much, but I'll look into it.. How many zones was this, and how long was it running for ?

Code:
#-- Leak: counted 1150x / total Size: 23000
0x80e588a is in Mob::AssignWaypoints(unsigned short) (MobAI.cpp:1274).
	in MobAI.cpp

This one has been FIXED, we caught that one the other day in testing..

Code:
#-- Leak: counted 2x / total Size: 45404
0x80df355 is in Corpse::MakeLootRequestPackets(Client*, APPLAYER const*) (PlayerCorpse.cpp:527).
	in PlayerCorpse.cpp
Think we got all of these..

Code:
#-- Leak: counted 330x / total Size: 6600
0x80b1dd1 is in Client::Damage(Mob*, int, unsigned short, unsigned char, bool, signed char, bool) (attack.cpp:932).
	in attack.cpp

#-- Leak: counted 330x / total Size: 7590
0x80b1df7 is in Client::Damage(Mob*, int, unsigned short, unsigned char, bool, signed char, bool) (EQNetwork.h:69).
	in EQNetwork.h

#-- Leak: counted 330x / total Size: 7590
0x80b1e36 is in Client::Damage(Mob*, int, unsigned short, unsigned char, bool, signed char, bool) (attack.cpp:933).
	in attack.cpp

#-- Leak: counted 419x / total Size: 8380
0x80b31a5 is in NPC::Damage(Mob*, int, unsigned short, unsigned char, bool, signed char, bool) (attack.cpp:1354).
1353	in attack.cpp

#-- Leak: counted 419x / total Size: 9637
0x80b35a5 is in NPC::Damage(Mob*, int, unsigned short, unsigned char, bool, signed char, bool) (EQNetwork.h:69).
	in EQNetwork.h
The ones that show up in EQNetwork.h are from the APPlayer constructor, they should be getting cleaned up when the ~ deconstructor is called..

-------------------------------------------------------------------------

Not too sure about these..

Code:
#-- Leak: counted 1538x / total Size: 12304
0x80fd4c7 is in Parser::LoadScript(int, char const*) (atomicity.h:50).
49	__atomic_add (volatile _Atomic_word* __mem, int __val)
50	{

#-- Leak: counted 1538x / total Size: 12304
0x80fd4f6 is in Parser::LoadScript(int, char const*) (parser.cpp:984).
	in parser.cpp
Not sure how this code works but..

Code:
	EventList* event1 = new EventList;
	Events * NewEventList = new Events;
	while (file && !file.eof())
	{
		getline(file,line);
		string::iterator iterator = line.begin();
		while (*iterator)
		{
			if (iterator[0] == '/' && iterator[1] == '/') break;
			if (!ignore && *iterator == '/' && iterator[1] == '*') { ignore++; iterator++; iterator++; }
			if (*iterator == '*' && iterator[1] == '/') { ignore--; iterator++; iterator++; }
			if (!ignore && (strchr(charIn,*iterator) || quote || paren))
				buffer+=*iterator;
			if (!ignore)
			{
			if (*iterator == '{')
			{
				bracket++;
				if (bracket == 1)
				{
					event1 = new EventList;
					NewEventList->npcid = npcid;
					buffer.replace(buffer.length()-1,buffer.length(),"");
					event1->event = buffer;
					buffer="";
				}
			}
I see event1 is being new'd twice, not sure why it needs to be new'd again if bracket==1 . I think this is most likely a typo, why create a new over the same variable name ? Im pretty sure this is going to discard the memory address of the 1st one, and leak it, but im not 100% sure.

Also, there are no corresponding deletes to the list new's , probably need to be added to the deconstructor also
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
Reply With Quote