PDA

View Full Version : Diagnostic Tools to see, why NC FRE'd?



netster
30-03-05, 09:10
hey Lupus or someone of KK...

i would like to offer my NC-time to help you guys getting as much information as needed to eliminate most FRE's + Memleaks. u got any Backlogging-tool, Diagnostic-tool, Monitor ... that could help you with it?
An extra load (i.e. like a background-checking proggy) wouldn mind me too much, as my box is fast enough i think (AMD64 3200+, 9800pro, 1gb ram,XP-x64,lalala).

DM me via email, if u need help.

(ouch, i hope Nid will not kill me for posts like this :confused: )

Capt. Rik
30-03-05, 09:30
As far as I know they are/have already developed tools for debugging FRE/mem-leaks. Atm there's no information on how they will work and integrate with the game

AlphaGremlin
30-03-05, 13:01
*enables the full pageheap for Neocron*

"gflags -p /enable client.exe /full"

Let's see what it finds ;) So far, it's taken 5 minutes to load and consumed 300mb of memory, and I haven't even reached the menu yet! In theory it will find every single memory leak in Neocron though! :D
AlphaGremlin

Dr Strange
30-03-05, 13:07
*enables the full pageheap for Neocron*

"gflags -p /enable client.exe /full"

Let's see what it finds ;) So far, it's taken 5 minutes to load and consumed 300mb of memory, and I haven't even reached the menu yet! In theory it will find every single memory leak in Neocron though! :D
AlphaGremlin

Haven't they already said they have tools to do the same, but won't fix it? I don't remember the specifics but I do remember Nid or someone saying the leaks/errors were somewhere in the millions of lines of code. And that fixing it would take entirely too long.

Nidhogg
30-03-05, 13:35
Haven't they already said they have tools to do the same, but won't fix it? I don't remember the specifics but I do remember Nid or someone saying the leaks/errors were somewhere in the millions of lines of code. And that fixing it would take entirely too long.
It's messages like this that really annoy me. Do you honestly think that we would ever say anything like that? Simply by posting something like this there will be people who will believe it as a statement of fact when it is actually nothing of the sort!

We are currently developing tools to help us sort these problems out. Also, patch by patch you have seen with your own eyes patch notes along the lines of "Fixed a server-side crash" (one of the main causes of login syncs) so we are finding and fixing issues.

We've said that it's going to be difficult because it is - remember, all you see is the client but there's also a huge and sophisticated server architecture at our side so it's not an easy job, but it's one we're not shirking.

N

AlphaGremlin
30-03-05, 13:50
Well, Client.exe peaked at 400mb of memory, took half an hour, and then FRE'ed.

Basically what that program does it tell Windows to allocate every piece of memory at the end of a memory page (not sure what the granularity of XP is, but they're about 4k in size I think). This means that each allocation, even a 4 byte string, takes up 4k * 2 of memory (meaning it whores the RAM like nothing else); a page for the data, and a buffer page. Windows then locks the buffer page, and every instruction that reads from or writes to that page causes an exception. This means that if/when your program overflows, even by one byte, it writes to the locked page, and you can pinpoint where the problem is.
It's all handled by the CPU, but it does slow the program down a lot. Much better than any software solution though.

"gflags" comes with Windows 2000 and XP, devs! Look in your /SUPPORT/TOOLS folder, and install SUPTOOLS.MSI.

Here's the callstack log for the Client, hope it helps.
AlphaGremlin

Dr Strange
30-03-05, 14:04
It's messages like this that really annoy me. Do you honestly think that we would ever say anything like that? Simply by posting something like this there will be people who will believe it as a statement of fact when it is actually nothing of the sort!

We are currently developing tools to help us sort these problems out. Also, patch by patch you have seen with your own eyes patch notes along the lines of "Fixed a server-side crash" (one of the main causes of login syncs) so we are finding and fixing issues.

We've said that it's going to be difficult because it is - remember, all you see is the client but there's also a huge and sophisticated server architecture at our side so it's not an easy job, but it's one we're not shirking.

N


Well Nid, I also can honestly say I don't mean to flame by saying it. It's just while I still love NC and love playing it, most players are coming to or already at the point of not really expecting much. Now I did say I may be wrong, but I was also right in the fact that it's bugs within millions apon millions of lines of code, and finding them all is gonna be a long process, one most of us think will never be reached.

I mean I like the idea of the new features for International Release, for example. But it would have been better to fix FRE's and such as much as possible before other things.

Imagine the Release happens, hundreds of new players install NC2 and start a character. After X amount of time ingame, they get a "Fatal Runtime Error" and crash to desktop, or the more random C++ Error. Or better yet they start a new character, and at the starting MC5 area, they get a "50/50" synch bug... Things like that will detract more possible new players than no item tracking which if it works currently, could be held off till later in favor of less-to-no FRE's (assuming it was months before I.R. and not so soona s now).

And as said, its not a flame its just things that need to be said. If I didn't say them, some other forum troll will, you know it, I know it. And we both know not all trolls are as polite, even with the consequences some of them face, as have I.

Mighty Max
30-03-05, 15:03
I mean I like the idea of the new features for International Release, for example. But it would have been better to fix FRE's and such as much as possible before other things.

So the graphic artists and content developer should play with their thunbs while the Coders are busy fixing ? There is no "that one is on higher priority as the other work" when complete different ppl are involved.

As for the FRE and synching probs, that is indeed a difficult task. And for sure needs high priority.

john irons
30-03-05, 15:29
wouldnt it have been a better idea to write nc2 from scratch?

Dr Strange
30-03-05, 15:55
wouldnt it have been a better idea to write nc2 from scratch?

Depends on the coders abilities. Some companies have tried writing their own engines for sequels. Some do great like the Unreal engine (and now the Source engine) some flounder and take years to balance out and fix (i.e. the Torque engine).

Either way that'd be a 50/50 chance of working or not

Nidhogg
30-03-05, 16:17
Not many people re-write everything from the ground up for an expansion. We wrote a new graphics engine for the client and re-wrote much of the back-end for the inclusion of item tracking - that was enough for now.

N

Dr Strange
30-03-05, 16:34
Not many people re-write everything from the ground up for an expansion. We wrote a new graphics engine for the client and re-wrote much of the back-end for the inclusion of item tracking - that was enough for now.

N

Gotta nitpick this one;

an Expansion is simply an addition to a game already in existance right?

a Sequel is generation the same thing, usually with a continuing title or subtitle right?

Wouldn't NC 2 be a sequel? If it was an Expansion then it'd be simply named NC: Beyond Dome of York, instead its got the 2 right in there leading people to believe its a sequel.

Capt. Rik
30-03-05, 16:38
What you say is correct Dr. Strange but it was a marketing decision to call this Neocron 2: Beyond Dome of York rather than a coding decision.

It was obviously felt that marketing this as a sequel would bring more players in/back rather than promoting it as an add-on.

Neocron 2 is a lot different to Neocron 1, both in atmosphere and game content. It's not just behind the scenes coding and graphics that justify a product name.

Nidhogg
30-03-05, 16:40
Neocron 2 is an expansion. It was called Neocron Two because we didn't want people to get the idea that you had to own Neocron One in order to play it.

N

Infinite
30-03-05, 18:09
We are currently developing tools to help us sort these problems out. Also, patch by patch you have seen with your own eyes patch notes along the lines of "Fixed a server-side crash" (one of the main causes of login syncs) so we are finding and fixing issues.

I don't want to be picky here as i have returned to neocron with a positive attitude for the most part but login bugs are far from better. Playing Neocron before I used to FRE/syncout/getsomebug/get pushed to desktop rather a lot... maybe a little more than now. But RARELY did i ever have any problems in logging into the game. Since i have been back i have to log in 4 or 5 times frequently for everything to work. (50 health/black screen/items missing/things not activating etc.) The game ran a hell of a lot smoother.

Dribble Joy
30-03-05, 18:31
Back before the beginning of the Open Beta, there wasn't a mem leak, NC ran far better than it did now. Is there not a way to 'roll back' the graphics changes to Closed Beta status?

Seven
30-03-05, 19:43
Yeah I remember the framerates were awesome for a few days in closed beta and then the next patch killed it again.

Brammers
30-03-05, 19:54
Finding memory leaks in C++ code is just plain horrid, expically with pointers flying around left, right and centre.

One problem rolling back the DX9 drivers to Closed Beta, is the Geforce 3 owners wont be able to play. (And I think the Geforce 4 owners had the same problem)

Edit: Back to the starting post, what files Nidhogg was it recommended to attach to the bug track thread to help Codi and everyone in KK track those leaks down?

SovKhan
30-03-05, 19:58
did the dx7 drivers for those users work in closed beta? maybe they could add the closed beta drivers as a secondary option to the current dx9 drivers for users without those cards.

Dirus
31-03-05, 03:43
Finding memory leaks in C++ code is just plain horrid, expically with pointers flying around left, right and centre.

One problem rolling back the DX9 drivers to Closed Beta, is the Geforce 3 owners wont be able to play. (And I think the Geforce 4 owners had the same problem)

Edit: Back to the starting post, what files Nidhogg was it recommended to attach to the bug track thread to help Codi and everyone in KK track those leaks down?
Error.log & Callstack.log.

Clobber
31-03-05, 12:54
I can live with the fre's but the login problems are killing this game for me, its so frustrating.

Coid
01-04-05, 18:27
before i use to think this game was in really bad shape with all the bugs and all, but after ive played many other mmorpgs, this game honestly i hate to admit it though, is in very good shape considering the lack of staff if u know what i mean...nc2 of course is far better with the buggs than nc1 was.