briot / geneapro

Genealogical software based on the GenTech data model
http://briot.github.com/geneapro/
GNU General Public License v2.0
33 stars 8 forks source link

Stats continuously reload, without ever displaying. #47

Closed changeling closed 5 years ago

changeling commented 5 years ago

With a database of >200,000, clicking on Stats never completes. Watching the console, the process loops without ever completing to browser.

I added completion lines to the logging for stats.py, resutling in an ongoing seequence of:

2019-02-18 00:27:01,009 stats 85485 123145370824704 refresh graph
2019-02-18 00:27:01,009 stats 85485 123145370824704 compute birth and death for people
2019-02-18 00:29:01,026 stats 85485 123145376079872 refresh graph
2019-02-18 00:29:01,027 stats 85485 123145376079872 compute birth and death for people
2019-02-18 00:31:01,046 stats 85485 123145381335040 refresh graph
2019-02-18 00:31:01,053 stats 85485 123145381335040 compute birth and death for people
2019-02-18 00:32:03,305 stats 85485 123145370824704 compute birth and death for people COMPLETED
2019-02-18 00:32:03,305 stats 85485 123145370824704 count persons in tree
2019-02-18 00:32:03,936 stats 85485 123145370824704 count persons in tree COMPLETED.
2019-02-18 00:32:03,937 stats 85485 123145370824704 group by generation
2019-02-18 00:32:03,958 stats 85485 123145370824704 group by generation COMPLETED.
2019-02-18 00:32:03,959 stats 85485 123145370824704 parse dates
2019-02-18 00:32:08,444 stats 85485 123145370824704 parse dates COMPLETED.
2019-02-18 00:32:08,446 stats 85485 123145370824704 compute timespans
2019-02-18 00:32:08,532 stats 85485 123145370824704 compute timespans COMPLETED.
2019-02-18 00:32:08,533 stats 85485 123145370824704 group by age
2019-02-18 00:32:08,638 stats 85485 123145370824704 group by age COMPLETED.
2019-02-18 00:32:08,639 stats 85485 123145370824704 RETURN STATS.
2019-02-18 00:33:01,043 stats 85485 123145370824704 refresh graph
2019-02-18 00:33:01,043 stats 85485 123145370824704 compute birth and death for people
2019-02-18 00:35:01,053 stats 85485 123145386590208 refresh graph
2019-02-18 00:35:01,055 stats 85485 123145386590208 compute birth and death for people
2019-02-18 00:37:01,774 stats 85485 123145391845376 refresh graph
2019-02-18 00:37:01,778 stats 85485 123145391845376 compute birth and death for people
2019-02-18 00:39:01,087 stats 85485 123145397100544 refresh graph
2019-02-18 00:39:01,112 stats 85485 123145397100544 compute birth and death for people
2019-02-18 00:41:01,079 stats 85485 123145402355712 refresh graph
2019-02-18 00:41:01,080 stats 85485 123145402355712 compute birth and death for people
2019-02-18 00:42:44,085 stats 85485 123145376079872 compute birth and death for people COMPLETED
2019-02-18 00:42:44,086 stats 85485 123145376079872 count persons in tree
2019-02-18 00:42:44,795 stats 85485 123145376079872 count persons in tree COMPLETED.
2019-02-18 00:42:44,797 stats 85485 123145376079872 group by generation
2019-02-18 00:42:44,833 stats 85485 123145376079872 group by generation COMPLETED.
2019-02-18 00:42:44,833 stats 85485 123145376079872 parse dates
2019-02-18 00:42:49,943 stats 85485 123145376079872 parse dates COMPLETED.
2019-02-18 00:42:49,944 stats 85485 123145376079872 compute timespans
2019-02-18 00:42:50,058 stats 85485 123145376079872 compute timespans COMPLETED.
2019-02-18 00:42:50,060 stats 85485 123145376079872 group by age
2019-02-18 00:42:50,209 stats 85485 123145376079872 group by age COMPLETED.
2019-02-18 00:42:50,210 stats 85485 123145376079872 RETURN STATS.
2019-02-18 00:43:01,169 stats 85485 123145376079872 refresh graph
2019-02-18 00:43:01,171 stats 85485 123145376079872 compute birth and death for people
changeling commented 5 years ago

Update: In Chrome, which has never accessed geneaprove, the stats process does complete, but the browser page never updates, just remains on the Loading spinner.

briot commented 5 years ago

Update: In Chrome, which has never accessed geneaprove, the stats process does complete, but the browser page never updates, just remains on the Loading spinner.

I have tried with your two large files, with Chrome and Firefox, and in both cases I was able to display the stats (after I did some fixes to javascript). In one of your file (the very deep one) they look strange because you have a biblical person who lived more than 4000 years, but I had managed to see the page.

In other contexts, I have noticed the following behavior: the server takes too long to compute the result. As a result, the client thinks there is an error/timeout, closes the connexion, and retries. I am not sure which part of the code makes it retry…

changeling commented 5 years ago

Hunh. Well, then I'll try running Firefox with a fresh clean profile, re-import the Many file and try it that way.

I'll let you know how that goes.

On Mon, Feb 18, 2019 at 1:24 AM Emmanuel Briot notifications@github.com wrote:

Update: In Chrome, which has never accessed geneaprove, the stats process does complete, but the browser page never updates, just remains on the Loading spinner.

I have tried with your two large files, with Chrome and Firefox, and in both cases I was able to display the stats (after I did some fixes to javascript). In one of your file (the very deep one) they look strange because you have a biblical person who lived more than 4000 years, but I had managed to see the page.

In other contexts, I have noticed the following behavior: the server takes too long to compute the result. As a result, the client thinks there is an error/timeout, closes the connexion, and retries. I am not sure which part of the code makes it retry…

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/briot/geneapro/issues/47#issuecomment-464615567, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYd_kD15oo4d8YaujSVJcm-4cjSQrRgks5vOlU1gaJpZM4a_6Dd .

changeling commented 5 years ago

Didn't change the behavior. But yes, both of those files have some clearly biblical entries which someone thought would be relevant. I see Adam and Eve in there, multiple times, Mary and Joseph, Noah's family, etcetera. These files were auto-generated by harvesting Family Search with myself as the starting point, and they get... weird. The main point for me was stress-testing various genealogical programs and GEDCCOM handling.

changeling commented 5 years ago

Update: The looping process does not abort following a change in the page requested in the browser, or even when browser is exited entirely. Attempting to reload the browser hangs the page, just never completes reload.

That is, once the code is looping, clicking on another link, Dashboard for example, doesn't abort the process and never loads the new link.