|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Archive::Linux Servers Archive area for Linux Servers's posts that were moved here after an inactivity period of 90 days. |

11-18-2003, 10:41 AM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
|
|
I've already corrected all the ones you reports are displaying, that was done this weekend.
New code is being pushed out now, should be available in a few hours. Sourceforge can take time to recognize the updates.
Please test with this updated version. Also, I still believe running multiple leak zones will continully overwrite the leak.out file, so you might be eliminating information by running them all concurrently in the same directory. It is definitely not appending or there would be multiple occurences of each alloc scheme mismatch.
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
|

11-18-2003, 11:54 AM
|
Sarnak
|
|
Join Date: Dec 2002
Posts: 31
|
|
Sorry for being late. I hope I got things together properly, I had
to step away for a bit while this ran. Please let me know if this
helps at all. I asked people to zone in and out of gfaydark, which
is the zone I ran this on. Sorry if its a big large.
http://www.ubzub.com/fish-wolf/leak.out
-bobzub
|

11-18-2003, 12:29 PM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
|
|
That needs to be run through leak-analyze before the results will help....
leak analyze will use gdb to isolate the code
I could try but if my binary doesnt match yours, the source lines wouldnt match up, so run it through there and post the results..
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
|

11-18-2003, 12:32 PM
|
 |
Discordant
|
|
Join Date: Oct 2003
Location: Victoria, BC
Posts: 253
|
|
bobzub
have a look at my first post of a leak.txt I gave the command you need to use. There is more info on analysing in the README
|

11-18-2003, 12:43 PM
|
Sarnak
|
|
Join Date: Dec 2002
Posts: 31
|
|
grrr figures I forget something, lemme get that done.
-bobzub
|
 |
|
 |

11-18-2003, 10:18 PM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
|
|
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.
|
 |
|
 |

11-19-2003, 01:43 AM
|
Discordant
|
|
Join Date: May 2002
Posts: 434
|
|
All of those death/damage ones should be fixed, loot one is fixed.
With the parser ones.. i'm not sure parser ever cleans up after itself. It's a lot of code to go through but I got the impression that even if that zone is unbooted things will still be loaded.. obviously as 'bad thing'(tm).
Thank you all for your help.
__________________
++[>++++++<-]>[<++++++>-]<.>++++[>+++++<-]>[<
+++++>-]<+.+++++++..+++.>>+++++[<++++++>-]<+
+.<<+++++++++++++++.>.+++.------.--------.>+.
|

11-19-2003, 03:34 AM
|
 |
Discordant
|
|
Join Date: Oct 2003
Location: Victoria, BC
Posts: 253
|
|
Has public CVS been updated? Looking at the mod dates on the files there are only 3 that have changed in the past 7 days:
zone.leak
splintreport.txt
splint.sh
|

11-19-2003, 03:49 AM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
|
|
Yes, I pushed it out both last night and this morning. I just removed zone.leak and the splint stuff, that was an accidental checkin, along with world.386 and world.pent.
I think that LE has started updating CVS at the same time he makes changes to the dev only CVS, and that might be causing conflicts in my jobs..
I'll take a look tonight, I might have to rewrite the CVS jobs... They were originally written with the idea that I'd be the only one putting updates in CVS , so the method I used was very simple and primitive, and probably prone to problems when other people put changes directly into CVS.
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
|

11-19-2003, 04:06 AM
|
 |
Discordant
|
|
Join Date: Oct 2003
Location: Victoria, BC
Posts: 253
|
|
I think I'm missing something here.
So CVS has been updated? If so why are all the files dated Nov 11? And the .leak file is also still there.
|

11-19-2003, 05:23 AM
|
Demi-God
|
|
Join Date: Jan 2002
Location: Charlotte, NC
Posts: 2,614
|
|
If you delete your soruce directories, and pull everything down fresh, it won't be there...
assuming you use anonymous 'cvs checkout' to pull code code down as opposed to that junky web interface.
__________________
Quitters never win, and winners never quit, but those who never win and never quit are idiots.
|

11-19-2003, 05:27 AM
|
Sarnak
|
|
Join Date: Dec 2002
Posts: 31
|
|
Lets see...
I ran the leakcheck script on a single instance of zone, which I
compiled with the -g flag. For that zone, I ran a static area,
which was gfaydark. I asked people on the server to zone in
and out, but I have no idea what they did since I asked via
console. At that point I had to leave, and I was away for maybe
an hour. So it ran for about an hour.
I will grab CVS from today and compile it. If all goes well
I will run leakcheck on a zone again, and try to get people
into the zone to help out.
Thanks,
-bobzub
|

11-19-2003, 05:33 AM
|
Sarnak
|
|
Join Date: Dec 2002
Posts: 31
|
|
Sorry to ask about his, but I just did a fresh pull from cvs after
moving my eqemu dir to another location. I was looking in
common/version.h, and notice DR5 still in it. Is this correct?
-bobzub
|

11-19-2003, 05:37 AM
|
 |
Discordant
|
|
Join Date: Oct 2003
Location: Victoria, BC
Posts: 253
|
|
Yeah same thing here. I always pull a fresh copy from CVS via the command line and all the files are from Nov 11th. Public CVS has not been updated since Pre 5.0 release.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 01:40 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |