twohoursonelife / OneLifeWeb

Web services used by the game server and client of OneLife, now seperate from the monolith repository.
https://twohoursonelife.com
Other
3 stars 2 forks source link

Lineage not showing deepest root #19

Open connorhsm opened 4 months ago

connorhsm commented 4 months ago

In the case of Eve Happy, members of generation 282 are currently dying. Eve is only showing as 250 deep, while prior lineages show this well. image

It does not appear there is a generation missing in the chain after briefly clicking through generations.

I can also select Serena Happy of gen 251 and cause all gens to now appear as expected. Following up to 10 of her grandparents and all gens still show as expected. image

connorhsm commented 4 months ago

Possibly related #18

connorhsm commented 4 months ago

Eve Happy is only showing up to Gen 251 because... their data has only been generated to be equal to 251.

What's stopping the reloading of their generation information to update?

1315489 displayID   playerID    Eve Happy   118.522 1   2024-07-07 06:01:38 251 play.twohoursonelife.com
connorhsm commented 4 months ago

Likely somewhere in these functions, at somepoint we must have failed to compute the generations correctly.

https://github.com/twohoursonelife/OneLifeWeb/blob/0ab910aa396e2fdf85e4a09578ebfce556fd4616/web/public/lineageServer/server.php#L1413

https://github.com/twohoursonelife/OneLifeWeb/blob/0ab910aa396e2fdf85e4a09578ebfce556fd4616/web/public/lineageServer/server.php#L2614

connorhsm commented 3 months ago

CSV of all Happy Family lives HappyFamilyRedacted.csv This was not actually all, by mistake.

I'm wondering if there's a correlation in the data that can point to where it went wrong, even filtering out the lives that are not part of the direct lineage line or visualisations of the direct line would be helpful.

A few related locations in the web server, some already mentioned above. https://github.com/twohoursonelife/OneLifeWeb/blob/0ab910aa396e2fdf85e4a09578ebfce556fd4616/web/public/lineageServer/server.php#L1727 https://github.com/twohoursonelife/OneLifeWeb/blob/0ab910aa396e2fdf85e4a09578ebfce556fd4616/web/public/lineageServer/server.php#L1803 https://github.com/twohoursonelife/OneLifeWeb/blob/0ab910aa396e2fdf85e4a09578ebfce556fd4616/web/public/lineageServer/server.php#L1441 https://github.com/twohoursonelife/OneLifeWeb/blob/0ab910aa396e2fdf85e4a09578ebfce556fd4616/web/public/lineageServer/server.php#L2661

TanyaPegasus commented 3 months ago

May or may not be useful, but clicking through the family members, starting with Eve, also incrementally adds more generations. eg Reality Happy shows up to gen 253,. Her daughter, Violet Happy shows up to gen 254 etc

connorhsm commented 3 months ago

The earliest life in the tree that can see max gen 301

connorhsm commented 3 months ago

My best guess here is that at some point, for some reason around Tacori Happy's life being logged, or a character of a nearby generation, the PHP process was exited or failed while recursing up the tree.

https://github.com/twohoursonelife/OneLifeWeb/blob/0ab910aa396e2fdf85e4a09578ebfce556fd4616/web/public/lineageServer/server.php#L1413-L1463