<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>