<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Folks,</p>
<p>Please find the minutes <a moz-do-not-send="true"
href="https://halldweb.jlab.org/wiki/index.php/GlueX_Software_Meeting,_April_28,_2020#Minutes">here</a>
and below.</p>
<p> -- Mark</p>
<p>
</p>
<div id="globalWrapper">
<div id="column-content">
<div id="content" class="mw-body" role="main">
<h2 id="firstHeading" class="firstHeading" lang="en"><span
dir="auto">GlueX Software Meeting, April 28, 2020, </span><span
class="mw-headline" id="Minutes">Minutes</span></h2>
<div id="bodyContent" class="mw-body-content">
<div id="mw-content-text" dir="ltr" class="mw-content-ltr"
lang="en">
<table>
<tbody>
<tr>
<td>Present: Alex Austregesilo, Thomas Britton, Sean
Dobbs, Mark Ito (chair), Igal Jaegle, Naomi
Jarvis, David Lawrence, Susan Schadmand, Justin
Stevens, Simon Taylor, Beni Zihlmann
<p>There is a recording of his meeting on the
BlueJeans site. Click on the image to access it.
Use your JLab credentials to authenticate.
</p>
</td>
<td><a href="https://bluejeans.com/s/IlrTl/"
rel="nofollow"><img alt="Software
2020-04-28.png"
src="https://halldweb.jlab.org/wiki/images/a/a9/Software_2020-04-28.png"
width="214" height="118"></a>
</td>
</tr>
</tbody>
</table>
<h3><span class="mw-headline" id="Announcements">Announcements</span></h3>
<p>To accommodate an abbreviated agenda for the
collaboration meeting, there will not be a software talk
at the upcoming collaboration meeting. </p>
<h3><span class="mw-headline"
id="Review_of_Minutes_from_the_Last_Software_Meeting">Review
of Minutes from the Last Software Meeting</span></h3>
<p>We went over the <a
href="https://halldweb.jlab.org/wiki/index.php/GlueX_Software_Meeting,_April_14,_2020#Minutes"
title="GlueX Software Meeting, April 14, 2020">minutes
from April 14</a>.
</p>
<ul>
<li> Mark still needs to get going with deployment of <b>CCDB
2.0</b>.</li>
<li> Alex reported that Mark Dalton has added <b>random
number seed initialization</b> to the Bethe-Heitler
generator (on a private branch). The move of the
random noise generation to mcsmear still needs to be
discussed.</li>
<li> <b>Python 2 vs. Python 3</b>.
<ul>
<li> Mark has not submitted a pull request for the
Python-related changes he described last time. He
is trying to get a successful build and execution
of hdgeant4 on his Fedora 31 box first, as a test
of the entire software chain.</li>
<li> Beni called our attention to a recent post on
Slashdot titled <a rel="nofollow" class="external
text"
href="https://developers.slashdot.org/story/20/04/25/027248/python-2s-core-devs-say-fond-farewell-while-releasing-its-final-version">Python
2's Core Devs Say 'Fond Farewell' While
Releasing Its Final Version</a> talking about
the very last production release of Python 2.7. No
more security updates, no more bug fixes. David
remarked that the real edge of the cliff comes
when Linux distributions stop shipping
Python-2-based packages.</li>
</ul>
</li>
<li> Hao Li's issue, <a rel="nofollow" class="external
text"
href="https://groups.google.com/forum/#!msg/gluex-software/9XS9CTgYRbY/dpf0suBYAAAJ">hd_root
not filling the skims</a> was traced back to the
HDDM input code assigning the wrong flavor of HDDM to
his input file. The determination of "r" or "s" (REST
or simulation) was keying off the file name, Hao's
choice of "input.hddm" was unfortunate for a REST
file. Richard submitted a couple of pull requests that
use the first line of the input file to check if the
flavor was determined correctly. Flavor information is
coded there explicitly. In addition he added checks
for empty event buffers, a symptom of the
flavor-mis-assignment scenario.</li>
</ul>
<h3><span class="mw-headline"
id="Report_from_the_Last_HDGeant4_Meeting">Report from
the Last HDGeant4 Meeting</span></h3>
<p>We went over <a
href="https://halldweb.jlab.org/wiki/index.php/HDGeant4_Meeting,_April_21,_2020#Minutes"
title="HDGeant4 Meeting, April 21, 2020">the minutes
from the meeting on April 21</a>. We discussed the
fact that upgrading to the latest version of Geant4 will
require an upgrade of GCC, from 4.8.5 to 4.9.x. The last
time we did this, i.e., go to a compiler that does not
come with the commonly used distribution (now that is
CentOS7), it was a major disruption.
</p>
<h3><span class="mw-headline"
id="Tighter_rules_on_GitHub_Repositories.3F">Tighter
rules on GitHub Repositories?</span></h3>
<p>Naomi introduced the idea of using features of the
GitHub site to tighten access rules to our Git
repositories there in order to avoid accidental commits
to critical packages. We walked through the options on
the GitHub site in real time and before anyone knew what
was happening, we went ahead and changed the settings on
halld_recon to require reviews of pull requests before
they could be merged on to the master branch. We decided
to do the same for halld_sim. This has the beneficial
side-effect that pushes to the master branch are
disallowed. The thinking was that this was a minimal
change to our procedures and had the aforementioned
desired side-effect.
</p>
<h3><span class="mw-headline"
id="MCwrapper_Future_Feature">MCwrapper Future Feature</span></h3>
<p>Thomas presented a peak at a new feature of MCwrapper.
It will be able to produce charts and graphs to display
statistics from successes and failures of jobs. See <a
rel="nofollow" class="external text"
href="https://docs.google.com/presentation/d/1uC6WvsYUWLgP9EUK9jx8l81koGOPSL3BWeTYObN79-c/edit?usp=sharing">his
slides</a> for the details and charts.
</p>
<ul>
<li> The fate of MCwrapper jobs can be used as a code
health monitor.
<ul>
<li> All software packages are used.</li>
</ul>
</li>
<li> Two pieces of data used at present: number of
attempts per job before it succeeds and the stage at
which jobs bomb, e.g., mcsmear, hd_root.</li>
<li> One view: average number of attempts per job vs.
version set.</li>
<li> For a single project: histogram of number of
attempts.</li>
<li> Pie charts can be made of stages where a job bombs
(failure pies).
<ul>
<li> A failure pie browser is in the plan.</li>
</ul>
</li>
<li> Another: average number of attempts as a function
of username.</li>
</ul>
<p>If people have questions or ideas on useful directions
for future development, please see Thomas
([<a class="moz-txt-link-abbreviated" href="mailto:email:tbritton@jlab.org">email:tbritton@jlab.org</a>]).
</p>
<p>Naomi asked about whether we could have a tool that
would build and test a series of software versions to
find where a bug was introduced. We had a short
discussion of how hard it would be, however no
volunteers appeared.
</p>
<h3><span class="mw-headline"
id="Review_of_recent_issues_and_pull_requests">Review
of recent issues and pull requests</span></h3>
<p>We discussed <a rel="nofollow" class="external text"
href="https://github.com/JeffersonLab/halld_recon/issues/355">Issue
#355: ReactionFilter crash on simulated REST file</a>.
This problem seems to be single greatest contributor to
job failures in MCwrapper at present. The problem is not
reproducible; if one tries enough times (with one known
exception), one can get a job to succeed. Sean thinks
that there is some sort of memory overwrite problem
involved. And that it appears to happen only in Monte
Carlo, which is a hint.
</p>
<p>[Added in press: Sean has found an anomalous event
numbering scheme in the REST input file.]
</p>
<h3><span class="mw-headline" id="Action_Item_Review">Action
Item Review</span></h3>
<ol>
<li> Get CCDB 2.0 going. (Mark)</li>
<li> Schedule a discussion of moving the random number
generator in the trigger factory to mcsmear.</li>
<li> Send Thomas your ideas for MCwrapper job statistics
views.</li>
<li> Fix the event number in Monte Carlo event files.</li>
</ol>
</div>
<div class="printfooter">
Retrieved from "<a dir="ltr"
href="https://halldweb.jlab.org/wiki/index.php?title=GlueX_Software_Meeting,_April_28,_2020&oldid=98570">https://halldweb.jlab.org/wiki/index.php?title=GlueX_Software_Meeting,_April_28,_2020&oldid=98570</a>"</div>
</div>
</div>
</div>
<div id="footer" role="contentinfo">
<ul id="f-list">
<li id="lastmod"> This page was last modified on 29 April
2020, at 14:42.</li>
</ul>
</div>
</div>
</body>
</html>