Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

template.scalefont creates never removed textorientation object #235

Closed
doutriaux1 opened this issue Aug 21, 2017 · 7 comments
Closed

template.scalefont creates never removed textorientation object #235

doutriaux1 opened this issue Aug 21, 2017 · 7 comments
Assignees
Labels
Milestone

Comments

@doutriaux1
Copy link
Contributor

No description provided.

@doutriaux1 doutriaux1 added the bug label Aug 21, 2017
@doutriaux1 doutriaux1 added this to the 3.0 milestone Aug 21, 2017
@doutriaux1 doutriaux1 self-assigned this Aug 21, 2017
@gleckler1
Copy link

@doutriaux1 go CD go!

@durack1
Copy link
Member

durack1 commented Aug 21, 2017

@doutriaux1 when you reckon you've sorted this I'll let the demo script documented in CDAT/cdat#1424 rip on a nightly.. As it explodes from 1.5Gb to 100+Gb, it's a perfect test case

doutriaux1 added a commit that referenced this issue Aug 21, 2017
@doutriaux1
Copy link
Contributor Author

@durack1 great! I fixed this, but let me keep running @lee1043 example to make sure there's nothing else

@durack1
Copy link
Member

durack1 commented Aug 23, 2017

@doutriaux1 you probably want to reopen this issue (I have for you), or generate a new one with an amended (broader) title about objects being created and not purged, the demo code (just for ref CDAT/cdat#1424). For your ref the version of vcs is:

[duro@ocean some-cool-dir]$ ls -1 ~/anaconda2/envs/uvcdatNightly170822/conda-meta/*vcs-*
/home/duro/anaconda2/envs/uvcdatNightly170822/conda-meta/vcs-2.10.2017.08.22.21.30.dc1c718e3800ffbe7028430b7d01789377b2b3b8-py27ha5a9922_0.json

And upon a code review, your fix is not going to get even close, as my delFudge was purging more than just textorientation objects, see:

                if delFudge:
                    #del(vcs.elements["isofill"][iso1.name])
                    #del(vcs.elements["isofill"][iso2.name])
                    #del(vcs.elements["textcombined"][title.name])
                    #del(vcs.elements["template"][t1.name])
                    #del(vcs.elements["template"][t2.name])
                    #del(vcs.elements["template"][t3.name])
                    for nm in vcs.elements["texttable"].keys():
                        if not nm in basic_tt:
                            del(vcs.elements["texttable"][nm])
                    for nm in vcs.elements["textorientation"].keys():
                        if not nm in basic_to:
                            del(vcs.elements["textorientation"][nm])
                    for nm in vcs.elements["textcombined"].keys():
                        if not nm in basic_tc:
                            del(vcs.elements["textcombined"][nm])
                vcs.removeobject(iso1)
                vcs.removeobject(iso2)
                #vcs.removeobject(title)
                vcs.removeobject(t1)
                vcs.removeobject(t2)
                vcs.removeobject(t3)

The delFudge code leads to 116042 objects at iteration 50 compared to 117753. The output from the code with no delFudge engaged is below (I'll add both logs when they're done)

UV-CDAT version:      2.10-19-gba336f2
UV-CDAT prefix:       /export/durack1/anaconda2/envs/uvcdatNightly170822
delFudge:             False
Background graphics:  True
donotstoredisplay:    True
00001 processing: 1870-01 sic     Time: 23.881 secs; Max mem: 1.549 GB PyObj#: 0113596;
00002 processing: 1870-02 sic     Time: 18.564 secs; Max mem: 2.031 GB PyObj#: 0113661;
00003 processing: 1870-03 sic     Time: 17.349 secs; Max mem: 2.052 GB PyObj#: 0113581;
00004 processing: 1870-04 sic     Time: 20.931 secs; Max mem: 2.057 GB PyObj#: 0113664;
00005 processing: 1870-05 sic     Time: 16.427 secs; Max mem: 2.057 GB PyObj#: 0113873;
00006 processing: 1870-06 sic     Time: 17.019 secs; Max mem: 2.057 GB PyObj#: 0114158;
00007 processing: 1870-07 sic     Time: 16.797 secs; Max mem: 2.057 GB PyObj#: 0113959;
00008 processing: 1870-08 sic     Time: 18.188 secs; Max mem: 2.057 GB PyObj#: 0114122;
00009 processing: 1870-09 sic     Time: 19.846 secs; Max mem: 2.057 GB PyObj#: 0114245;
00010 processing: 1870-10 sic     Time: 16.137 secs; Max mem: 2.057 GB PyObj#: 0114420;
00011 processing: 1870-11 sic     Time: 17.955 secs; Max mem: 2.057 GB PyObj#: 0114298;
00012 processing: 1870-12 sic     Time: 19.820 secs; Max mem: 2.058 GB PyObj#: 0114501;
00013 processing: 1871-01 sic     Time: 22.262 secs; Max mem: 2.058 GB PyObj#: 0114617;
00014 processing: 1871-02 sic     Time: 21.922 secs; Max mem: 2.058 GB PyObj#: 0114636;
00015 processing: 1871-03 sic     Time: 17.976 secs; Max mem: 2.058 GB PyObj#: 0114761;
...
00099 processing: 1878-03 sic     Time: 18.317 secs; Max mem: 2.060 GB PyObj#: 0122323;
00100 processing: 1878-04 sic     Time: 16.252 secs; Max mem: 2.060 GB PyObj#: 0122129;
00101 processing: 1878-05 sic     Time: 12.401 secs; Max mem: 2.060 GB PyObj#: 0122143;
...
00199 processing: 1886-07 sic     Time: 21.819 secs; Max mem: 2.075 GB PyObj#: 0130781;
00200 processing: 1886-08 sic     Time: 22.009 secs; Max mem: 2.075 GB PyObj#: 0130694;
00201 processing: 1886-09 sic     Time: 21.950 secs; Max mem: 2.075 GB PyObj#: 0131138;
...
00299 processing: 1894-11 sic     Time: 40.093 secs; Max mem: 2.079 GB PyObj#: 0139659;
00300 processing: 1894-12 sic     Time: 31.882 secs; Max mem: 2.079 GB PyObj#: 0139577;
00301 processing: 1895-01 sic     Time: 31.947 secs; Max mem: 2.079 GB PyObj#: 0139610;
...
00399 processing: 1903-03 sic     Time: 34.747 secs; Max mem: 2.087 GB PyObj#: 0148134;
00400 processing: 1903-04 sic     Time: 35.787 secs; Max mem: 2.087 GB PyObj#: 0147854;
00401 processing: 1903-05 sic     Time: 69.491 secs; Max mem: 2.087 GB PyObj#: 0148166;
...

I'll keep adding this tomorrow and will upload the final log when it's done..

Just FYI, each counted figure looks like:
1870-01

@durack1
Copy link
Member

durack1 commented Aug 23, 2017

@doutriaux1 this needs to be reopened, the times taken to generate a single plot 60+!! seconds is really just not good at all

I am tempted to create a definitelyNotRobust label...

@durack1 durack1 reopened this Aug 23, 2017
@doutriaux1
Copy link
Contributor Author

@durack1 can you post your code here? I'm betting there's some user objects not removed. Please post code here so I can take a look.

@durack1
Copy link
Member

durack1 commented Aug 23, 2017

Discussion related to this thread can be found at PCMDI/amipbcs#10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants