I am curious what is "page size" issue that kill the game for over 12 hours

As a developer myself, I find it intriguing for me to learn from GGG's dev experience.
Last bumped on Apr 21, 2021, 12:59:00 AM
"
thiendaoxuan wrote:
As a developer myself, I find it intriguing for me to learn from GGG's dev experience.


maybe it's telling us, the end users, to keep our resource manager tab open to look for PoE memory leaks and PF errors, because they "tried" to address the recurring memory leaks and "couldn't".

Or maybe they really did say "Bob, don't forget to manually enter a command Monday afternoon to start migrating all the Rit characters over to standard," and then Bob promptly forgot, rushing home to sort his Yu-Gi-Oh collection, and realised his error, but covered it up and lied. Then Friday night, in the middle of a vast smouldering shitshow, Chris turns to bob and says, "You had one job, Bob. ONE. JOB."

I haven't seen or heard anyone say they've seen the code, but it has all the earmarks of a spaghetti buffet table with no limits.

If say, somehow you were able to decompile the source code for the game, you'd crack the .ggpk and open the files and your screen would fill with static and you'd be like



Basically your take-home lesson from this episode, Thien, is "Don't."
[19:36]#Mirror_stacking_clown: try smoke ganja every day for 10 years and do memory game
Last edited by crunkatog#0985 on Apr 18, 2021, 1:12:30 AM
"
crunkatog wrote:
"
thiendaoxuan wrote:
As a developer myself, I find it intriguing for me to learn from GGG's dev experience.


maybe it's telling us, the end users, to keep our resource manager tab open to look for PoE memory leaks and PF errors, because they "tried" to address the recurring memory leaks and "couldn't".

Or maybe they really did say "Bob, don't forget to manually enter a command Monday afternoon to start migrating all the Rit characters over to standard," and then Bob promptly forgot, rushing home to sort his Yu-Gi-Oh collection, and realised his error, but covered it up and lied. Then Friday night, in the middle of a vast smouldering shitshow, Chris turns to bob and says, "You had one job, Bob. ONE. JOB."

I haven't seen or heard anyone say they've seen the code, but it has all the earmarks of a spaghetti buffet table with no limits.

If say, somehow you were able to decompile the source code for the game, you'd crack the .ggpk and open the files and your screen would fill with static and you'd be like


Basically your take-home lesson from this episode, Thien, is "Don't."

"Take it from old Weylam! If yer thinkin' of a-codin' somethin' the way GGG would... Don't."
Last edited by FramFramson#6091 on Apr 18, 2021, 1:20:36 AM
The game had dozens of updates with new mechanics, new rendering methods and so on grafted into it one after another. By now it probably isn't spaghetti code anymore, it's Escher code.
There really are some wild things that make you really scratch your head wondering what on EARTH is going on "under the hood" though.

Like why does shutting off all sound at the .ini file improve performance so dramatically? Just HOW BAD is the audio coded for it to be taking up a quarter or more of the CPU use (!!!).

Or how when one part of the game gets patched, it often breaks something that in no sane world would be related. Like, patches are all too often the flushing-the-toilet-turns-on-the-garden-hose-outside kind of haywire.

Or just the basic reality that this is still on the ancient ARPG model of an old isometric pseudo-3D game with a fixed camera angle and textures which are hardly true high-res. In theory this format shouldn't be even remotely demanding on even a middling computer, at least when benchmarked against games with similar graphics presentation.

Just how much digital scotch tape and spit is being used to hold this game together these days?
Last edited by FramFramson#6091 on Apr 18, 2021, 2:13:39 AM
My guess is that a smaller space was allocated than what was needed. Since the data read from the data base was greater than the size of the buffer variable allocated for it, the data base wrote over the buffer and clobbered the memory after it. Further I would guess that this buffer area might have been local buffer variables in the procedure and therefore allocated in the runtime stack.
Over 430 threads discussing labyrinth problems with over 1040 posters in support (thread # 1702621) Thank you all! GGG will implement a different method for ascension in PoE2. Retired!
From my limited knowledge of database programming: Page size is how much space is allocated in a block. What goes into a "page" is up to the programmer, though.

Whatever new features they added in ultimatum ended up overflowing the amount of space allocated, which made the database explode, which triggered their error handling, which resulted in crashes and rollbacks. Increasing the page size fixed this.
Украина в моём сердце
Last edited by kaijyuu2#0256 on Apr 21, 2021, 12:59:23 AM

Report Forum Post

Report Account:

Report Type

Additional Info