PieterTack / polycap

Polycapillary X-ray raytracing
GNU General Public License v3.0
3 stars 3 forks source link

Todos #39

Closed PieterTack closed 5 years ago

tschoonj commented 6 years ago

De code crasht momenteel nog altijd hier:

https://github.com/PieterTack/polycap/blob/036f94a7b61703b9f22981861e8990287216bd76/src/polycap-capil.c#L240-L258

d_travel wordt niet geinitializeerd indien polycap_capil_trace_wall -1 returned...

Dat laat ik u aan u over :smile:

PieterTack commented 6 years ago

Deze meest recente build geeft enkel wat fouten bij valgrind bij runnen van de source test waar ik niet veel van snap. Mss iets te maken met wegschrijven naar hdf5 file van de 'efficiencies->leak->weights' array, maar niet volledige bereik te laten wegschrijven ofzo?

tschoonj commented 6 years ago

Gefikst!

PieterTack commented 6 years ago

Deze build faalt (althans, de checks falen) De reden lijkt hem te zitten in polycap_photon_free(). Je moet maar eens valgrind loslaten op tests/photon. Er zijn geen problemen zolang ik in polycap_capil_reflect niet tracht memory te realloc'en voor photon->leaks (in het stuk waar wall_trace == 3 dient te zijn. Lijn 368 in polycap-capil.c

Ksnap niet zo goed waarom plots polycap_photon_free niet meer zou werken. Jij een suggestie?

tschoonj commented 6 years ago

Eens zien...

PieterTack commented 6 years ago

Thx. Sowieso is gans da leak gedoe een gigantische onderneming. Kzou er een optie van maken om het al dan niet te simuleren, maar probleem is dat de 'leaks' waar ik nu aan bezig ben echt nog relevant kunnen zijn voor een polycapillair (zonder de leaks dwing ik fotonen om in hun capillairtjes te blijven, maar de wanden zijn natuurlijk zodanig dun dat ze er ook regelmatig door kunnen vliegen, zeker op iets hogere energie). Dus feitelijk zou ik ze wel altijd moeten meerekenen... Tough choices :)

tschoonj commented 6 years ago

Btw, uw capil test faalt door een verkeerde assert:

capil: ../../tests/capil.c:153: test_polycap_capil_reflect: Assertion `test == 0' failed.
PieterTack commented 6 years ago

idd. Maar dat moet iets te maken hebben met invullen van memory in photon->leaks (dus wss memory out of bounds ergens), want als je in polycap-capil.c lijnen 369-383 uit commentaarieert dan slaagt de capil test nog..

tschoonj commented 6 years ago

photon test gefikst, nu aan het kijken naar source

tschoonj commented 6 years ago

In de regel zet je best pointers op NULL nadat ze gefree'ed zijn. Zo kan je daarvoor later checken en gepaste actie nemen.

PieterTack commented 6 years ago

Zou het een idee zijn om in alle polycap_*_free functies telkens na free'en automatisch de pointers op NULL te zetten? Zou in dit geval uiteraard niet geholpen hebben, maar kan mss nuttig zijn?

tschoonj commented 6 years ago

Nah, dat heeft geen nut want het object zelf waarop ge de polycap_*_free functie hebt opgeroepen zal zelf ook gefree'ed worden. Wat er tot dan zou ingezeten hebben van member variables kan hoe dan ook niet meer gebruikt worden.

wat ge wel zou kunnen doen is iets zoals:

polycap_profile_free(profile);
profile = NULL;

op die manier kan je later check of profile al gefree'ed is of niet.

PieterTack commented 6 years ago

Ksnap eigenlijk echt niet goed wat het verschil is tussen:

polycap_photon_free(profile);
profile = NULL;

en

polycap_photon_free(argument){
     free(argument);
     profile = NULL;
}
tschoonj commented 6 years ago

Ik veronderstel dat je dit bedoelt?

polycap_photon_free(polycap_photon *photon){
     free(photon);
     photon = NULL;
}

Het probleem is dat wanneer je het volgende dan doet:

polycap_photon *photon = polycap_photon_new(...);
polycap_photon_free(photon);
assert(photon == NULL); // ERROR!

dit zal falen aangezien polycap_photon_free enkel de inhoud (het pointer adres van de struct) van photon kent doordat het een kopie is van de oorspronkelijke variabele. Remember: C is pass by value, niet reference!

Als je het oorspronkelijk photon op NULL zou willen zetten, moet je er een referentie van gebruiken:

polycap_photon_clear(polycap_photon **photon){
     free(*photon);
     *photon = NULL;
}

polycap_photon *photon = polycap_photon_new(...);
polycap_photon_clear(&photon);
assert(photon == NULL); // SUCCESS!
PieterTack commented 6 years ago

aja, makes sense :) Thanks voor de uitleg. Enig geluk met de overige test fails? Kheb al gemerkt dat capil dus effectief -1 returned, waardoor de assert(test == 0) faalt. Ik vermoed dat polycap_capil_trace daar -1 returned omdat het de memory niet kan alloceren voor photon->leaks. Maar kzou de error boodschap eens moeten uitprinten (dacht dat hij dat vanzelf ging doen als er een error was :) )

PieterTack commented 6 years ago

Ah, figured it out voor capil... Geeft zware problemen in nieuwe stuk als photon->n_leaks gelijk is aan 0. Dan wil ik immers iets van size 0 alloceren etc... Zal zien of ik fiksje kan maken :)

tschoonj commented 6 years ago

Ben momenteel source aan het valgrinden maar dat duurt eeuwig...

PieterTack commented 6 years ago

Ja, was dat ook aan het doen. Duurt nu nog extra lang door die leak photons... Een manier om het te versnellen is natuurlijk aantal gesimuleerde fotonen verminderen, maar dat gaat ook een invloed hebben op transmission efficientie asserts als je te laag gaat. (en kheb al gemerkt dat sommige memory errors enkel bij grote aantallen fotonen voorkomen blijkbaar).

In any case lukken alle checks terug bij mij dankzij de fix die er zo aan komt.

PieterTack commented 6 years ago

Hm, bij opslaan van leaked fotonen ben ik onderscheid beginnen maken tussen de fotonen die het (poly)capillair verlaten aan de zijkant (leaked fotonen, die in praktijk doorgaans geabsorbeerd zouden worden door housings) en fotonen die lekken (dus niet gewoon de binnenkant van een capillair volgen) maar die toch aan het einde van het (poly)capillair raken, en dus in principe wel zouden bijdragen tot elke experimenteel gemeten waarde van transmissie efficientie (bvb fotonen van hoge energie die gewoon dwars door het cpillair vliegen). Deze laatste fractie noemde ik 'Recap' fotonen (van recapture, omdat ze bvb door 1 glaswand vliegen, en dan recaptured worden in volgend capillair). Ben echter niet tevreden over de naam... jij een betere suggestie hoe we ze kunnen noemen zodat het voor de gebruiker duidelijker is wat we hiermee bedoelen?

Momenteel zit er ook nog ogenschijnlijk een probleem in de simulatie. Er lijken steeds exact 3 leaked fotonen te zijn, en miljoenen (eigenlijk exact 1674642 fotonen...) recap fotonen (voor 50k gesimuleerde fotonen). Ik vrees ergens een out of bounds memory error, maar kzie niet direct iets met valgrind.

Programma gebruikt nu ook voor de meeste simulaties ongeveer 4Gb memory (bij simuleren van 5k of 50k fotonen, ik vermoed dat wel stijgt bij simuleren van bvb 100k fotonen, maar blijkbaar niet lineair). Geen idee of dit mss te memory-hungry is? Simulatie tijd lijkt al bij al mee te vallen.

Hoe dan ook, als ik deze peculiariteiten eruit weet te halen moet ik enkel nog een issue met d_travel oplossen en dan zijn mijn TODOs ongeveer gedaan voorlopig denk ik. Dan is het aan de polarisatie, en daarna maak ik werk van een interessant paper verhaal...

tschoonj commented 6 years ago

4 Gb geheugen gebruik? Dat lijkt mij nogal aan de hoge kant. Een memory leak waarschijnlijk. Probeer eens valgrind te draaien met --leak-check=full

PieterTack commented 6 years ago

Mja, de h5 file die uiteindelijk wordt weggeschreven is ook 4Gb ongeveer, dus ik vertrouw het ergens wel. Als je een arrays van bijna 600 miljoen double elementen maakt kom je er wel snel... (de recap weights array is momenteel zo groot, maar is dus onwaarschijnlijk dat er effectief zoveel recap fotonen zouden zijn) Valgrind helpt me niet echt verder. In het begin geeft hij een aantal leak fouten, maar dat is normaal nog voor er iets wordt gesimuleerd, en hij geeft niet weer waar in de code het probleem zich effectief voordoet. Tijdens de simulatie (dus wanneer je de % complete ziet verschijnen op het scherm) of erna geeft hij geen fouten meer weer.

tschoonj commented 6 years ago

Azo... wel 4GB geheugen gebruik is in elk geval moeilijk te rechtvaardigen, zeker aangezien de modale gebruiker eigenlijk geen behoefte zal hebben aan al die extra informatie.

Misschien werken met een optie voor configure die ervoor zorgt dat al die per foton informatie niet bijgehouden wordt wanneer de transmissie efficiëntie profielen berekend worden?

PieterTack commented 6 years ago

zeker een optie. Maar kzou eerst het huidige geval willen proberen fiksen.

Tot dusver heb ik al gemerkt dat de python test af en toe faalt, maar soms ook succeed met eenzelfde build. Valgrind heeft me nog niet echt verder geholpen. Ook merk ik dat hij op een of andere manier het aantal photon->n_leaks niet echt juist lijkt op te tellen, maar nog niet gevonden waarom. Grootste vermoeden blijft dus een memory leak dat ergens de boel verstoord.

PieterTack commented 6 years ago

Kgeraak geen stap verder... Heb jij nog inspiratie? python.sh valgrind zegt me enkel dat er ergens (reachable) leaks zijn in 662 blocks, maar die zitten allemaal ergens in malloc zonder een duidelijke link naar de plaats in mijn code waar het probleem zit. De python.sh test blijft overigens ad random wel of niet segmentation faults geven. Kvind het ergens jammer dat mijn commits hier blijkbaar steeds succesvol zijn, want mochten ze falen zouden appveyor of travis mss wat nuttigere informatie kunnen bijbrengen, maar het lijkt me zo omslachtig om te blijven recomitten in de hoop dat het eens fout loopt :P .

valgrind op source duurt uiteraard een halve eeuw, maar wanneer die afliep kreeg ik wel enkele nuttige leaks te zien, maar die had ik inmiddels zelf ook al weggewerkt vermoedelijk (met de voorlaatste commit, enkele efficiencies->images pointers vergeten free'en). Nu opnieuw valgrind op source aan het lopen, maar resultaat valt nog af te wachten.

Valgrind op example/ellip_l9.inp geeft in het begin (voor er op het scherm 'Starting Calculations...' komt (dus voor de code wordt aangesproken waar ik effectief veranderingen in doorvoerde) enkele foutmeldingen (opnieuw zonder duidelijke verwijzing naar mijn/onze eigen code), maar voor de rest niks van foutmeldingen. Kvind het ook interessant hoe valgrind op een example file een stuk sneller werkt dan op de source test. Of heeft dat iets te maken met de track-origins die bij de example file niet echt mogelijk zijn en bij source wel ofzo?

Soit, elke hulp is welkom want kzie het echt niet meer... Het werkte allemaal nog ogenschijnlijk perfect voor ik de recap struct toevoegde aan de images, maar alle info toen dus werd weggeschreven in de leaks struct. Nu splits ik het gewoon op in 2 soorten...

tschoonj commented 6 years ago

Ben de python en source tests aan het valgrinden: ik krijg ook nu en dan een segfault bij de eerste...

tschoonj commented 6 years ago

Hier is de output van de python valgrind. Ik denk dat er ergens een dubbele free gebeurt... Ik zal tijdens mijn lunch er wat meer naar kijken...

==29074== Invalid read of size 4
==29074==    at 0x1EE862: PyMem_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x200A8D: PyArena_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CDB2: PyRun_FileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CFA3: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0xc1a6020 is 1,184 bytes inside a block of size 2,000 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0xCB2B429: polycap_capil_reflect (polycap-capil.c:452)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xCB29D26: polycap_capil_reflect (polycap-capil.c:236)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1EE862: PyMem_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x200A9F: PyArena_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CDB2: PyRun_FileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CFA3: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0xc1aa020 is 4,864 bytes inside a block of size 8,000 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0xCB2B3F6: polycap_capil_reflect (polycap-capil.c:446)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xCB2AA14: polycap_capil_reflect (polycap-capil.c:355)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1EE862: PyMem_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x200AB2: PyArena_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CDB2: PyRun_FileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CFA3: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0xc1ae020 is 48 bytes inside a block of size 2,000 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0xCB28CDC: polycap_photon_free (polycap-photon.c:459)
==29074==    by 0xCB26569: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:734)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xCB2B37D: polycap_capil_reflect (polycap-capil.c:439)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1EE862: PyMem_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x272790: module_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x265250: list_ass_slice (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB5EF: _PyState_ClearModules (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1AE9: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x116f4020 is 32 bytes before a block of size 48 in arena "client"
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x272406: func_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5C8A: PyDict_Clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2710F3: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1AEF: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Uninitialised value was created by a heap allocation
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x22ACBA: PyUnicode_New (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2303CD: PyUnicode_FromKindAndData (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A376D: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3574: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3AC5: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A35BC: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3AC5: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3669: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3AC5: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2AA457: marshal_loads (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2710F3: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1AEF: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5dec020 is 192 bytes inside a block of size 576 free'd
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23D88F: PyDict_SetItem (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x25B4E1: _PyModule_ClearDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1D72: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5ace020 is 1,040 bytes inside a block of size 1,152 free'd
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x271A2C: code_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2723D7: func_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23D88F: PyDict_SetItem (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x25B49A: _PyModule_ClearDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1E27: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Uninitialised value was created by a heap allocation
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xEE6FFA3: H5FL_reg_malloc (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEF2875F: H5S_create (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEF290D6: H5Screate (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xCB2CE37: polycap_h5_write_dataset (polycap-transmission-efficiencies.c:249)
==29074==    by 0xCB2D0A3: polycap_transmission_efficiencies_write_hdf5 (polycap-transmission-efficiencies.c:322)
==29074==    by 0xC8FAEF3: __pyx_pf_7polycap_24TransmissionEfficiencies_4write_hdf5 (polycap-python.c:4116)
==29074==    by 0xC8FAD0F: __pyx_pw_7polycap_24TransmissionEfficiencies_5write_hdf5 (polycap-python.c:4078)
==29074==    by 0x216B54: _PyCFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A667B: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A070A: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F6F27: dict_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A760D: subtype_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23D88F: PyDict_SetItem (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x25B49A: _PyModule_ClearDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1D72: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Uninitialised value was created by a heap allocation
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x22ACBA: PyUnicode_New (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x22DE7D: PyUnicode_Concat (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x10C0C892: ufunc_get_doc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/lib/python3.6/site-packages/numpy/core/umath.cpython-36m-x86_64-linux-gnu.so)
==29074==    by 0x215F27: getset_get (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x21423C: _PyObject_GenericGetAttrWithDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8D39: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A070A: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A6754: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x29FC25: _PyEval_EvalCodeWithName (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E88: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5abf020 is 656 bytes inside a block of size 1,216 free'd
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x272C40: type_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270E6B: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0xc2a9020 is 784 bytes inside a block of size 1,112 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0x1F5D59: dict_tp_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23C0FF: dictresize (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23D93C: PyDict_SetItem (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2CA0AE: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A1458: PyEval_EvalCodeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A21EB: PyEval_EvalCode (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C65BC: builtin_exec (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x219A60: PyCFunction_Call (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2CDFDA: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x29FA93: _PyEval_EvalCodeWithName (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A0940: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x272C40: type_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270E6B: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x272D35: type_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270E6B: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E88: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Uninitialised value was created by a heap allocation
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xEE6FFA3: H5FL_reg_malloc (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEF2875F: H5S_create (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEF290D6: H5Screate (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xCB2CE37: polycap_h5_write_dataset (polycap-transmission-efficiencies.c:249)
==29074==    by 0xCB2D0A3: polycap_transmission_efficiencies_write_hdf5 (polycap-transmission-efficiencies.c:322)
==29074==    by 0xC8FAEF3: __pyx_pf_7polycap_24TransmissionEfficiencies_4write_hdf5 (polycap-python.c:4116)
==29074==    by 0xC8FAD0F: __pyx_pw_7polycap_24TransmissionEfficiencies_5write_hdf5 (polycap-python.c:4078)
==29074==    by 0x216B54: _PyCFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A667B: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A070A: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E76: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Uninitialised value was created by a heap allocation
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1EEFE0: _PyObject_Alloc.isra.0 (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2347D2: newblock (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2E43E9: deque_new (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A6964: type_call (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216D7A: _PyObject_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A67CD: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x29FA93: _PyEval_EvalCodeWithName (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A0E1A: _PyFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216F5E: _PyObject_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x21BA02: _PyObject_Call_Prepend (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Use of uninitialised value of size 8
==29074==    at 0x1E857B: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E76: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Uninitialised value was created by a heap allocation
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1EEFE0: _PyObject_Alloc.isra.0 (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2347D2: newblock (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2E43E9: deque_new (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A6964: type_call (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216D7A: _PyObject_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A67CD: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x29FA93: _PyEval_EvalCodeWithName (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A0E1A: _PyFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216F5E: _PyObject_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x21BA02: _PyObject_Call_Prepend (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5C8A: PyDict_Clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5D59: dict_tp_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Uninitialised value was created by a heap allocation
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x22ACBA: PyUnicode_New (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2303CD: PyUnicode_FromKindAndData (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A376D: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3574: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3AC5: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2AA457: marshal_loads (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216AD0: _PyCFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A667B: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x29FA93: _PyEval_EvalCodeWithName (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E76: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x1bc9e020 is 8 bytes after a block of size 136 alloc'd
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xEE6FFA3: H5FL_reg_malloc (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEE7057C: H5FL_reg_calloc (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEEBC9C3: H5HL_dblk_new (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEEB8F98: H5HL_dblk_realloc (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEEB9B41: H5HL_insert (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEE85597: H5G__ent_convert (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEE8C726: H5G_node_insert (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEDFD569: H5B_insert_helper (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEDFE0D7: H5B_insert (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEE936B4: H5G__stab_insert_real (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074==    by 0xEE9384C: H5G__stab_insert (in /dls_sw/apps/hdf5/1.8.15p1/lib/libhdf5.so.10.0.1)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1EE765: property_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5C8A: PyDict_Clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E88: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x119bf020 is 16 bytes inside a block of size 610 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0x1EE765: property_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5C8A: PyDict_Clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E88: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x22ACBA: PyUnicode_New (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2303CD: PyUnicode_FromKindAndData (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A376D: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3574: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3AC5: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3669: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3AC5: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3669: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A3AC5: r_object (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2AA457: marshal_loads (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x272019: code_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2723D7: func_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5C8A: PyDict_Clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5D59: dict_tp_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x13593020 is 432 bytes inside a block of size 768 free'd
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270CFD: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x1bbe4020 is 192 bytes inside a block of size 272 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0xCB28D0F: polycap_photon_free (polycap-photon.c:463)
==29074==    by 0xCB2710F: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:643)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A089F0: calloc (vg_replace_malloc.c:711)
==29074==    by 0xCB27AA9: polycap_photon_new (polycap-photon.c:128)
==29074==    by 0xCB24208: polycap_source_get_photon (polycap-source.c:119)
==29074==    by 0xCB2628C: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:609)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1E86E6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB8C4: pattern_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5C8A: PyDict_Clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F8E88: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0xc4d6020 is 160 bytes inside a block of size 576 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0x1F5D59: dict_tp_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23C0FF: dictresize (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23D93C: PyDict_SetItem (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2CA0AE: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A1458: PyEval_EvalCodeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A21EB: PyEval_EvalCode (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C65BC: builtin_exec (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x219A60: PyCFunction_Call (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2CDFDA: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x29FA93: _PyEval_EvalCodeWithName (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A0940: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A7635: subtype_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x272637: meth_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5C8A: PyDict_Clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F5D59: dict_tp_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x11863020 is 480 bytes inside a block of size 1,112 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0x1F8E88: type_clear (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x270F31: collect (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB629: _PyGC_CollectNoFail (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1C15: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23C0FF: dictresize (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A51CF: dict_merge (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A5520: PyDict_Copy (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A7F73: type_new (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A6964: type_call (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216D7A: _PyObject_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A57F7: builtin___build_class__ (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216B93: _PyCFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A667B: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1EE862: PyMem_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2D5A06: _PyFaulthandler_Fini (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316437: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5af5020 is 8,768 bytes inside a block of size 9,248 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0x1F6F18: dict_dealloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2FB5B3: _PyState_ClearModules (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B1AE9: PyImport_Cleanup (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316410: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x23C0FF: dictresize (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A51CF: dict_merge (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A5520: PyDict_Copy (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x30C207: _PyImport_FixupExtensionObject (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C7FAE: _imp_create_builtin (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x219A23: PyCFunction_Call (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2CDFDA: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x29FA93: _PyEval_EvalCodeWithName (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A0940: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A6754: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2D42: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5c92020 is 1,424 bytes inside a block of size 1,536 free'd
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2DB2: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5c94020 is 1,936 bytes inside a block of size 2,000 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0xCB28BE8: polycap_photon_free (polycap-photon.c:446)
==29074==    by 0xCB2B3DE: polycap_capil_reflect (polycap-capil.c:444)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xCB2A784: polycap_capil_reflect (polycap-capil.c:330)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2D6C: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5c96020 is 720 bytes inside a block of size 1,152 free'd
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A08BE7: realloc (vg_replace_malloc.c:785)
==29074==    by 0xCB2B1F7: polycap_capil_reflect (polycap-capil.c:427)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2DD8: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5c97020 is 832 bytes inside a block of size 2,000 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0xCB28BA2: polycap_photon_free (polycap-photon.c:442)
==29074==    by 0xCB2B3DE: polycap_capil_reflect (polycap-capil.c:444)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xCB2A686: polycap_capil_reflect (polycap-capil.c:318)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2DFD: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5c98020 is 80 bytes inside a block of size 608 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0x1F2DD8: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F3242: PyGrammar_AddAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2064AB: PyParser_New (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B21FB: PyParser_ParseStringObject (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x317C23: PyParser_ASTFromStringObject (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CA1E: PyRun_StringFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C6661: builtin_exec (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216AD0: _PyCFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A667B: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A070A: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2E2C: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5c9d020 is 16 bytes inside a block of size 608 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0x1F2E2C: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0x1F08B3: PyObject_Malloc (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F3242: PyGrammar_AddAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2064AB: PyParser_New (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2B21FB: PyParser_ParseStringObject (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x317C23: PyParser_ASTFromStringObject (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31CA1E: PyRun_StringFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C6661: builtin_exec (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x216AD0: _PyCFunction_FastCallDict (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A667B: call_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2C8CB9: _PyEval_EvalFrameDefault (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x2A070A: fast_function (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Invalid read of size 4
==29074==    at 0x1E855A: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2D8F: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==  Address 0x5c9e020 is 1,232 bytes inside a block of size 2,000 free'd
==29074==    at 0x4A07CEA: free (vg_replace_malloc.c:530)
==29074==    by 0xCB28C0B: polycap_photon_free (polycap-photon.c:448)
==29074==    by 0xCB2B3DE: polycap_capil_reflect (polycap-capil.c:444)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074==  Block was alloc'd at
==29074==    at 0x4A06B3D: malloc (vg_replace_malloc.c:299)
==29074==    by 0xCB2A803: polycap_capil_reflect (polycap-capil.c:336)
==29074==    by 0xCB2C226: polycap_capil_trace (polycap-capil.c:649)
==29074==    by 0xCB28954: polycap_photon_launch (polycap-photon.c:371)
==29074==    by 0xCB262B7: polycap_source_get_transmission_efficiencies._omp_fn.0 (polycap-source.c:611)
==29074==    by 0xF4AE7D5: gomp_thread_start (team.c:119)
==29074==    by 0x4C48AA0: start_thread (in /lib64/libpthread-2.12.so)
==29074==    by 0x1DE6D6FF: ???
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2D42: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2D6C: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== Conditional jump or move depends on uninitialised value(s)
==29074==    at 0x1E8563: _PyObject_Free (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1F2D8F: PyGrammar_RemoveAccelerators (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3164E5: Py_FinalizeEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316578: Py_Exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x316667: handle_system_exit (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x3166D1: PyErr_PrintEx (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x31D020: PyRun_SimpleFileExFlags (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x320A9D: Py_Main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074==    by 0x1E84BD: main (in /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python3.6)
==29074== 
==29074== 
==29074== HEAP SUMMARY:
==29074==     in use at exit: 1,936,288 bytes in 3,784 blocks
==29074==   total heap usage: 3,617,744 allocs, 3,613,960 frees, 12,521,679,883 bytes allocated
==29074== 
==29074== LEAK SUMMARY:
==29074==    definitely lost: 164,425 bytes in 88 blocks
==29074==    indirectly lost: 0 bytes in 0 blocks
==29074==      possibly lost: 179,115 bytes in 117 blocks
==29074==    still reachable: 1,592,748 bytes in 3,579 blocks
==29074==         suppressed: 0 bytes in 0 blocks
==29074== Rerun with --leak-check=full to see details of leaked memory
tschoonj commented 6 years ago

Hey Pieter,

Heb kleine bug gefikst in transmission-efficiencies. Niet gerelateerd aan de andere miserie die ge ziet echter :cry:

Omdat valgrind nogal rare fouten geeft heb ik ook eens geprobeerd te debuggen met gdb en ik kreeg na een paar pogingen dit:

Starting program: /dls_sw/apps/python/anaconda/1.7.0/64/envs/python3/bin/python ../../tests/python.py
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
version: b'0.1'
test_description_bad_input (__main__.TestPolycapDescription) ... AtomicNumberToSymbol: unknown symbol
ok
test_description_good_input (__main__.TestPolycapDescription) ... ok
test_photon_bad_coords (__main__.TestPolycapPhoton) ... ok
test_photon_bad_input (__main__.TestPolycapPhoton) ... ok
test_photon_good_coords (__main__.TestPolycapPhoton) ... ok
test_profile_bad_input (__main__.TestPolycapProfile) ... ok
test_profile_enums (__main__.TestPolycapProfile) ... ok
test_profile_good_conical (__main__.TestPolycapProfile) ... ok
test_profile_good_ellipsoidal (__main__.TestPolycapProfile) ... ok
test_profile_good_paraboloidal (__main__.TestPolycapProfile) ... ok
test_rng_with_bad_seed_negative_int (__main__.TestPolycapRng) ... ok
test_rng_with_bad_seed_string (__main__.TestPolycapRng) ... ok
test_rng_with_good_seed (__main__.TestPolycapRng) ... ok
test_rng_without_seed (__main__.TestPolycapRng) ... ok
test_source_bad_get_transmission_efficiencies (__main__.TestPolycapSource) ... ok
test_source_bad_input (__main__.TestPolycapSource) ... ok
test_source_get_photon (__main__.TestPolycapSource) ... ok
test_source_good_get_transmission_efficiencies (__main__.TestPolycapSource) ... [New Thread 0x7fffe0ed8700 (LWP 11648)]
[New Thread 0x7fffe04d7700 (LWP 11649)]
[New Thread 0x7fffdfad6700 (LWP 11650)]
[New Thread 0x7fffdf0d5700 (LWP 11651)]
[New Thread 0x7fffde6d4700 (LWP 11652)]
[New Thread 0x7fffddcd3700 (LWP 11653)]
[New Thread 0x7fffdd2d2700 (LWP 11654)]

Thread 8 "python" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffdd2d2700 (LWP 11654)]
0x00007ffff066a85d in polycap_source_get_transmission_efficiencies._omp_fn () at ../../src/polycap-source.c:730
730                     efficiencies->images->recap_coord_weights[(recap_mem_id[thread_id]+k)*n_energies+l] = photon->recap[k].weight[l];
(gdb) bt
#0  0x00007ffff066a85d in polycap_source_get_transmission_efficiencies._omp_fn () at ../../src/polycap-source.c:730
#1  0x00007fffedce97d6 in gomp_thread_start (xdata=<optimized out>) at ../../../libgomp/team.c:119
#2  0x00007ffff7bc6aa1 in start_thread () from /lib64/libpthread.so.0
#3  0x00007ffff7913bdd in clone () from /lib64/libc.so.6

Heb dan wat in je code zitten kijken en er zit daar volgens mij een race condition: het is immers mogelijk dat je recap_coord_weights gaat zitten realloc'en op lijn 702 (wat een relatief trage operatie is EN meer dan waarschijnlijk zal resulteren in een nieuwe pointer!) terwijl een andere thread op lijn 718 zit te schrijven naar de oude pointer.

Je zal hier moeten werken met een lock denk ik aangezien er echt maar 1 thread tegelijkertijd met die variabele mag werken.

Mijn algemeen advies is echter: werken met shared dynamic memory vanuit verschillende threads is een hoop miserie dat zelfs indien goed geschreven altijd zal leiden tot verminderde execution speed.

PieterTack commented 6 years ago

Thanks om er grondig naar te kijken! Toch opmerkelijk dat jouw valgrind wel relevante lijnen van onze code weergeeft. Mijn versie gaf enkel weer dat de fout ergens bij een malloc functie zat :)

Interessant idee van de memory race. Ik had daar ook al aan gedacht, maar dacht dat ik het probleem had opgelost dmv gebruik van de recap_mem_id en leak_mem_id. Maar ik heb er inderdaad niet bij stil gestaan dat realloc ook het adres kan/zal veranderen, waardoor je dus op die manier memory loss krijgt.

Kzal het aanpassen zodat er initieel een thread specifieke array is waar alles wordt opgeslaan, en dan op het einde alles samenvoegen. Kvrees wel dat ik met de realloc zal moeten blijven werken. Ik weet immers echt niet op voorhand hoe groot die array kan worden. Die kan bvb gemakkelijk 3 keer zo groot zijn als het aantal gesimuleerde fotonen, of de helft.

tschoonj commented 6 years ago

Wel, ik heb het probleem eigenlijk gevonden met gdb, niet met valgrind. De foutmeldingen die valgrind gaf houden geen steek, en worden waarschijnlijk veroorzaakt door die memory corruption.

Thread lokale arrays kunnen het probleem van de memory corruption oplossen, maar realloc blijft wel een erg dure call...

Als je met alles in deze PR klaar bent zal ik eens wat profilen om te zien wat het effect ervan is,

PieterTack commented 6 years ago

Oke, dus huidig probleem zit vermoedelijk hoofdzakelijk in het wegschrijven van de info in HDF5 file. Vermoedelijk bij proberen wegschrijven van data die niet bestaat.

PieterTack commented 6 years ago

oef... Deze build lijkt het te doen. Er was ook een interessant probleem waar ik de output bekeek met IDL H5_BROWSER, maar die laadde blijkbaar gewoon altijd een oudere dataset in ofzo, dus moest even IDL afsluiten vooraleer die weer deftig wou functioneren.

Enige probleem is nu, ogenschijnlijk, nog dat ik voor een monocapillair heel veel recap fotonen krijg, en geen leaks, terwijl ik het eigenlijk eerder/voornamelijk andersom verwacht.

PieterTack commented 6 years ago

Kan jij eens kijken naar die resterende fout? Het lijkt me iets dat dient aangepast te worden in de configure file...

tschoonj commented 6 years ago

Yep no problemo.

PieterTack commented 6 years ago

Hm, datie faalt op de source test kan wel eens zijn door de c04ba78 commit. Heb daar aantal gesimuleerde fotonen in source.c aangepast om de boel sneller te doen lopen. Bij mij passed de test nog steeds altijd, maar mss op andere systemen iets afwijkender...

tschoonj commented 6 years ago

Mja, ik zie het ook net... kan je eens valgrinden en zien wat er misloopt?

PieterTack commented 6 years ago

zo, valgrind loopt. Kzal je morgen weten te verkondigen of er problemen waren ;)

Denk hoe dan ook dat het puur statistische afwijking is hoor. Mss als we opnieuw doen compileren dat de assert wel zou slagen. Pure gok uiteraard (en kan geen kwaad om sowieso eens te valgrinden, zeker met de aanpassingetjes die ik vandaag heb gemaakt)

tschoonj commented 6 years ago

Ik heb een keer de source test failure kunnen repliceren lokaal:

Open area Calculated: 0.574548, Simulated: 0.683153
Assertion failed: (fabs(efficiencies->efficiencies[2] - 0.117) <= 0.005), function test_polycap_source_get_transmission_efficiencies, file ../../tests/source.c, line 196.
PieterTack commented 6 years ago

Hmm... Hoe fix ik dit fatsoenlijk? Als ik polycap_refl niet uitcommentarieer doet het lastig omdat het in principe een niet gebruikte functie is. Indien ik het wel uitcommentarieer doen de checks lastig, omdat ze polycap_refl niet vinden... Het liefst zou ik de code van polycap_refl wel in het bestand houden, alsook in de checks. Kan voor didactische redenen leuk zijn om verschil tussen de twee te bekijken (wat ook een deeltje van onze paper zal worden wss). Hoe zou jij dit aanpakken?

Mss enigszins gerelateerd: bij de leak berekenen zei je eens dat we het mss best in configure aanpassen zodat dit enkel wordt meegenomen bij meegeven van bepaalde optie. Hoe pak je zoiets precies aan? Persoonlijk ben ik mss liever geneigd te werken met een optie die je meegeeft in de berekening (die dan bvb in photon wordt opgeslaan) omdat je dan makkelijker 'on the fly' beide situaties met elkaar kan vergelijken. (kbegin immers te zien dat voor energieën boven de 10 keV die recap fotonen wel relevant beginnen te worden... Opnieuw een leuke opmerking voor in onze paper)

tschoonj commented 6 years ago

Hey Pieter,

Sorry voor mijn recent stilzwijgen maar ben eigenlijk op verlof deze maand dus zal niet veel kunnen bijdragen...

In het algemeen: als je ergens een functie wil behouden die noch gebruikt wordt door de library noch door de tests, dan is het beter gewoon die hele functie uit te commentariëren met /* ... */. Als ze enkel in de tests gebruikt wordt: verhuis de code naar het bestand waar de functie gebruikt zal worden. Indien gebruikt in meerdere tests: verhuis naar een nieuw bestand dat enkel gecompileerd zal worden in libpolycap-check.la.

Mijn voorstel was inderdaad de leak checks een compile time optie te maken: je gebruikt daarvoor iets als AC_ARG_ENABLE in configure.ac, waarna je dan een bepaalde preprocessor macro kan zetten in config.h indien de gebruiker dit zou willen.

Indien je er echter een run-time optie van wil maken, dan moet je inderdaad een argument toevoegen aan polycap_source_get_transmission_effiencies en polycap_photon_launch (denk ik...). Als dit de enige optie is die je van plan bent te ondersteunen kan je dit eenvoudigst doen met een bool. Indien je meerdere opties plant die allemaal te zetten zijn als een boolean (true of false), kan je best eens kijken naar een bit-wise OR implementatie zoals uitgelegd hier (voor C++, maar eigenlijk identiek in C).

Groeten,

Tom

PieterTack commented 6 years ago

Geen probleem! Geniet van je verlof! Mijn tweede kind zal ook binnenkort ter wereld komen vermoedelijk, dus dan ben ik er ook even van tussenuit ;)

Zal in tussentijd eens naar je opties kijken. Momenteel ben ik wat aan het prutsen met de polaire reflectiviteiten. De voorlopige resultaten zijn dat het allemaal haast niks uitmaakt wat de polarisatie is, want de resultaten zijn exact dezelfde (of zodanig weinig verschillend dat het niks uitmaakt). Dus ik denk/hoop dat er mss nog iets fout is in mijn redeneringen, maar ik krijg wel normale resultaten voor niet-X-straal simulaties. Dus mss zijn X-stralen beetje naughty op dit vlak door hun index of refraction die kleiner is dan 1 enzo... Soit, zal het eens goed moeten bespreken met Laszlo, die heeft ongetwijfeld nog inzichten die ik niet heb verkregen.

Nogmaals veel plezier op je verlof, en ik merk het wel wanneer je terug bent :)

tschoonj commented 6 years ago

Aha proficiat alvast met nummer 2 👍

Wel ik zal ook tijdens mijn verlof beschikbaar zijn voor wat advies en kleine fixes... vanaf zondag zit ik wel voor 12 dagen in Singapore dus serieus wat tijdverschil...

PieterTack commented 6 years ago

Hmm.. Praktisch vraagje (geen haast om te antwoorden, dus negeer gerust zolang je op verlof bent, behalve als het antwoord zeer logisch is)

Ben dus de polarisatie berekeningen aan het invoegen. Zit momenteel op het stuk waar ik een start_electric_vector moet meegeven aan een foton. (momenteel is dit puur random een getal tussen 0 en 1 voor zowel x, y als z van de vector) Ik zou de input file aanpassen zodat de gebruiker een hor_pol dient te definieren, wat feitelijk de degree of polarisation in horizontale richting is (dus ongepolariseerd zou 0.5 geven). Nu, stel dat de gebruiker een hor_pol van 0.8 geeft, dan zou ik een vector definieren loodrecht op de (semi-random) richting van het foton, en de bijdrage daarvan op x-as voor sqrt(0.8) en op de y-as voor sqrt(0.2) laten tellen. De bijdrage in z zou dan 0 zijn (althans relatief tov de richting van het foton). (ik verwoord het hier mss raar, maar denk dat ik het juist zie, mbt de richtingen en bijdrage van de betrokken vectoren)

Nu vraag ik me af, mocht ik deze werkingswijze toepassen, is de beam dan echt gepolariseerd, of de-polariseer ik ze net door de polarisatie vectoren te combineren met de willekeurige richtingsvectoren? Basically vroeg ik me af hoe je de electric field vectors van een individueel foton bepaald in XMIMSIM. Ik zou dan denk ik hetzelfde moeten doen, maar dan geprojecteerd op de foton propagatie richting?

EDIT: kheb net het overeenkomstig stuk gevonden denk ik in xmi_main.F90. Zal iets analoog proberen doen :) EDIT2: hm, ksnap het toch niet helemaal. Ik begrijp in de eerste plaats niet hoe je precies die hor_ver_ratio bepaald (lijn 369). Althans, ksnap niet wat die fysische uitdrukt (lijkt me een interpolatie tussen energiën en hun intensiteiten, maar snap dus niet wat het met polarisatie te maken heeft). Dan begrijp ik weer even wat je doet, tot je plots met die c_ae en c_be begint (cosecant ofzoiets?) Is mss een heel eenvoudige, snelle manier om de vectoren te berekenen exact zoals ik het hierboven beschrijf, maar kvolg dus niet echt :) Mocht je dus een woordje kunnen uitleggen zou wel handig zijn (als je het zelf weet natuurlijk, kzie hier en daar ook wat stukjes waarvan vermeld staat dat Laszlo het doet, maar die je dus mss zelf ook niet 100% begrijpt; ik heb alleszins in ons code ook wat gelijkaardige stukjes staan)

tschoonj commented 6 years ago

Ben dus de polarisatie berekeningen aan het invoegen. Zit momenteel op het stuk waar ik een start_electric_vector moet meegeven aan een foton. (momenteel is dit puur random een getal tussen 0 en 1 voor zowel x, y als z van de vector) Ik zou de input file aanpassen zodat de gebruiker een hor_pol dient te definieren, wat feitelijk de degree of polarisation in horizontale richting is (dus ongepolariseerd zou 0.5 geven). Nu, stel dat de gebruiker een hor_pol van 0.8 geeft, dan zou ik een vector definieren loodrecht op de (semi-random) richting van het foton, en de bijdrage daarvan op x-as voor sqrt(0.8) en op de y-as voor sqrt(0.2) laten tellen. De bijdrage in z zou dan 0 zijn (althans relatief tov de richting van het foton). (ik verwoord het hier mss raar, maar denk dat ik het juist zie, mbt de richtingen en bijdrage van de betrokken vectoren)

Eerst en vooral: ongepolarizeerd komt overeen met een degree of polarization van 0, niet 0.5! Perfect horizontale polarisatie is 1, perfect vertical polarisatie is -1.

Je kan de polarisatie graad eigenlijk op twee manieren in rekening brengen. Ofwel werk je zoals XMI-MSIM met zowel photon/sec voor de horizontaal gepolariseerde en verticaal gepolariseerde fotonen, voor elke energie, ofwel werk je met de het totaal aantal photon/sec en de degree of polarization.

Als je de tweede methode gebruikt kan je altijd de horizontale en verticale photon/sec berekenen met Eq 12 uit Laszlo zijn tweede publicatie over MC simulaties

Van zodra je de horizontal en verticaal gepolariseerde intensiteiten hebt wordt het simpel: je kijkt naar hun gewichten in de totale intensiteit en je kan beginnen fotonen samplen op basis van de overeenkomstige discrete inverse cumulatieve distributie functie. Alternatief kan je de simulatie ook dwingen om exact de gewichten te gaan respecteren en dan niet te samplen.

Hoe dan ook zijn de electrical field vectors bij initializeren ofwel perfect horizontal ofwel perfect verticaal, maar nooit iets daartussen.

Nu vraag ik me af, mocht ik deze werkingswijze toepassen, is de beam dan echt gepolariseerd, of de-polariseer ik ze net door de polarisatie vectoren te combineren met de willekeurige richtingsvectoren? Basically vroeg ik me af hoe je de electric field vectors van een individueel foton bepaald in XMIMSIM. Ik zou dan denk ik hetzelfde moeten doen, maar dan geprojecteerd op de foton propagatie richting?

EDIT: kheb net het overeenkomstig stuk gevonden denk ik in xmi_main.F90. Zal iets analoog proberen doen :) EDIT2: hm, ksnap het toch niet helemaal. Ik begrijp in de eerste plaats niet hoe je precies die hor_ver_ratio bepaald (lijn 369). Althans, ksnap niet wat die fysische uitdrukt (lijkt me een interpolatie tussen energiën en hun intensiteiten, maar snap dus niet wat het met polarisatie te maken heeft). Dan begrijp ik weer even wat je doet, tot je plots met die c_ae en c_be begint (cosecant ofzoiets?) Is mss een heel eenvoudige, snelle manier om de vectoren te berekenen exact zoals ik het hierboven beschrijf, maar kvolg dus niet echt :) Mocht je dus een woordje kunnen uitleggen zou wel handig zijn (als je het zelf weet natuurlijk, kzie hier en daar ook wat stukjes waarvan vermeld staat dat Laszlo het doet, maar die je dus mss zelf ook niet 100% begrijpt; ik heb alleszins in ons code ook wat gelijkaardige stukjes staan)

PieterTack commented 6 years ago

Hoe werkt die polarisatie graad dan in praktijk? Ik simuleer dus bvb 5000 fotonen die elk telkens ofwel horizontaal of verticaal gepolariseerd zijn. Is het dan voldoende om adhv de polarisatiegraad te berekenen welke fractie verticaal en horizontaal is (dus dan degree of polarisation =0 is 50/50%, DoP=1 is 0/100% en DoP=-1 is 100/0%, en alles daartussen adhv Laszlo's formule), en dan dus een random nr genereren en afhankelijk van die waarde de juiste polarisatie toewijzen? Of zou ik voor elk foton in een gegeven richting de contributie moeten berekenen mocht dat foton verticaal of horizontaal gepolariseerd zijn, en dan de totale resultaten laten meetellen, gewogen met hun relatieve DoP? De eerste methode lijkt me handiger, maar induceert mss meer variabiliteit (en heeft dus mss nog meer fotonen te simuleren nodig voor de berekeningen echt stabiel zijn?) Dit is een gok natuurlijk, geen idee of het echt zo zou zijn.

Ik denk ook dat er in mijn berekeningen nog iets schort mbt de initialisatie van de electric field vectors. Stel een verticaal gepolariseerd foton vliegt in richting X(=horizontaal)Y(=verticaal)Z (0,0,1), en heeft dus een electric field van (0,1,0). Mocht er nu een verticaal gepolariseerd foton vliegen in richting (0,0.7,0.7), dan is de electric field vector niet langer (0,1,0), maar een projectie hiervan volgens (0, 0.7, 0.7), toch? Want momenteel in mijn berekeningen (analoog aan die main.f90) lijkt het alsof die projectie gewoon altijd (0,1,0) of (1,0,0) blijft, maar dan ben ik niet zeker dat ik nadien in mijn Fresnel vergelijking wel de juiste contributies meereken. (kwestie van zeker te zijn dat alles klopt uiteraard)

PieterTack commented 6 years ago

oja, en nog ietwat belangrijk nieuws: ik ben dus tijdje geleden vader geworden van Alexander :) Mijn vaderschapsverlof zit er ongeveer op, dus volgende week ben ik back in action.

Als die polarisatie dingen er goed genoeg in zitten begin ik wat simulaties uit te voeren die experimentele zaken vergelijken met de simulaties, wat dan uiteindelijk tot een publicatietje zal leiden/lijden. Min of meer net op tijd voor mijn jaarlijks FWO verslag ;)

tschoonj commented 6 years ago

Proficiat met de geboorte van Alexander! Ik hoop dat moeder en zoon het goed stellen...

PieterTack commented 6 years ago

moeder en zoon stellen het inderdaad goed :) Alexander slaapt wel iets minder dan zijn zus op gelijkaardige leeftijd, maar we mogen nog steeds niet klagen. We zitten nu wel bijna vollop in de reflux fase, maar voorlopig klaagt hij er enkel om, hij huilt niet echt, dus valt allemaal mee. Kleine kindjes, kleine zorgen he :)

tschoonj commented 6 years ago

Hoe werkt die polarisatie graad dan in praktijk? Ik simuleer dus bvb 5000 fotonen die elk telkens ofwel horizontaal of verticaal gepolariseerd zijn. Is het dan voldoende om adhv de polarisatiegraad te berekenen welke fractie verticaal en horizontaal is (dus dan degree of polarisation =0 is 50/50%, DoP=1 is 0/100% en DoP=-1 is 100/0%, en alles daartussen adhv Laszlo's formule), en dan dus een random nr genereren en afhankelijk van die waarde de juiste polarisatie toewijzen? Of zou ik voor elk foton in een gegeven richting de contributie moeten berekenen mocht dat foton verticaal of horizontaal gepolariseerd zijn, en dan de totale resultaten laten meetellen, gewogen met hun relatieve DoP? De eerste methode lijkt me handiger, maar induceert mss meer variabiliteit (en heeft dus mss nog meer fotonen te simuleren nodig voor de berekeningen echt stabiel zijn?) Dit is een gok natuurlijk, geen idee of het echt zo zou zijn.

Ik gebruik in XMI-MSIM de eerste methode alvast. Je zou eventueel ook ervoor kunnen zorgen dat de hor/ver ratio behouden blijft, onafhankelijk van hoeveel fotonen je effectief simuleert door als bijvoorbeeld 60 % van je intensiteit horizontaal gepolariseerd is de eerste 60 % van je gesimuleerde fotonen een horizontaal elektrisch veld te geven terwijl de laatste 40 % verticaal te maken.

Ik denk ook dat er in mijn berekeningen nog iets schort mbt de initialisatie van de electric field vectors. Stel een verticaal gepolariseerd foton vliegt in richting X(=horizontaal)Y(=verticaal)Z (0,0,1), en heeft dus een electric field van (0,1,0). Mocht er nu een verticaal gepolariseerd foton vliegen in richting (0,0.7,0.7), dan is de electric field vector niet langer (0,1,0), maar een projectie hiervan volgens (0, 0.7, 0.7), toch? Want momenteel in mijn berekeningen (analoog aan die main.f90) lijkt het alsof die projectie gewoon altijd (0,1,0) of (1,0,0) blijft, maar dan ben ik niet zeker dat ik nadien in mijn Fresnel vergelijking wel de juiste contributies meereken. (kwestie van zeker te zijn dat alles klopt uiteraard)

Wel in XMI-MSIM wordt de elektrische veld vector na elke interactie aangepast, rekening houdend met wat soort interactie er plaats vond. Misschien best Laszlo eens vragen?

PieterTack commented 5 years ago

dit mag voor mijn part gemerged worden. De overige TODOs zijn met betrekking tot de multi core processing en daar uit volgende error handling.

tschoonj commented 5 years ago

Cool!

Misschien eens kijken naar de documentatie PR nu? Vergeet niet eerst die branch te rebasen tegen origin/master (na git fetch)