FYI.  There will be an RC2.  Plan below.

From: Cooley, D S. (GSFC-5950)
Sent: Wednesday, April 29, 2020 12:24 PM
To: John McGreevy <[email protected]>; Darrel Conway 
<[email protected]>; Hughes, Steven P. (GSFC-5950) 
<[email protected]>; Shoan, Wendy C. (GSFC-5830) 
<[email protected]>; Stark, Michael E. (GSFC-5830) 
<[email protected]>; Nguyen, Tuan D. (GSFC-5830) 
<[email protected]>; Royzman, Tetyana (GSFC-595.0)[Pearl River 
Technologies] <[email protected]>
Subject: RE: We will need an RC2

CCB Outtakes/Plan Forward:


·         GMT-7243 approved.

·         DJC commit this.  Send email to Team when finished.

·         Tuan create LatestComplete Version.  Send email to DSC.

·         DSC run bundling package to create the 4 bundles.  Send email.

·         DSC kick off test.

o   Internal Installer AlphaOn

o   Public Zip

·         DJC run Sample Linux tests (including API)

·         JM run Sample Windows tests (Including API)

·         JM to run API  script regression tests on Windows.

·         DJC to run API  script regression tests on Linux.

·         MS to run full regression test for RC2

o   Internal

o   Public


From: Cooley, D S. (GSFC-5950)
Sent: Wednesday, April 29, 2020 11:37 AM
To: John McGreevy 
<[email protected]<mailto:[email protected]>>; 
Darrel Conway 
<[email protected]<mailto:[email protected]>>; Hughes, 
Steven P. (GSFC-5950) 
<[email protected]<mailto:[email protected]>>; Shoan, Wendy C. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Stark, 
Michael E. (GSFC-5830) 
<[email protected]<mailto:[email protected]>>; Nguyen, Tuan D. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Royzman, 
Tetyana (GSFC-595.0)[Pearl River Technologies] 
<[email protected]<mailto:[email protected]>>
Subject: RE: We will need an RC2

Yikes, definitely need to run these much more often.

From: John McGreevy 
<[email protected]<mailto:[email protected]>>
Sent: Wednesday, April 29, 2020 11:36 AM
To: Cooley, D S. (GSFC-5950) <[email protected]<mailto:[email protected]>>; 
Darrel Conway 
<[email protected]<mailto:[email protected]>>; Hughes, 
Steven P. (GSFC-5950) 
<[email protected]<mailto:[email protected]>>; Shoan, Wendy C. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Stark, 
Michael E. (GSFC-5830) 
<[email protected]<mailto:[email protected]>>; Nguyen, Tuan D. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Royzman, 
Tetyana (GSFC-595.0)[Pearl River Technologies] 
<[email protected]<mailto:[email protected]>>
Subject: [EXTERNAL] RE: We will need an RC2

We have 48 API tests that take about 5 minutes to run.

From: Cooley, D S. (GSFC-5950) <[email protected]<mailto:[email protected]>>
Sent: Wednesday, 29 April, 2020 11:34
To: John McGreevy 
<[email protected]<mailto:[email protected]>>; 
Darrel Conway 
<[email protected]<mailto:[email protected]>>; Hughes, 
Steven P. (GSFC-5950) 
<[email protected]<mailto:[email protected]>>; Shoan, Wendy C. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Stark, 
Michael E. (GSFC-5830) 
<[email protected]<mailto:[email protected]>>; Nguyen, Tuan D. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Royzman, 
Tetyana (GSFC-595.0)[Pearl River Technologies] 
<[email protected]<mailto:[email protected]>>
Subject: RE: We will need an RC2

When you say “Samples,” do you mean the Samples directory?  Or do you mean the 
API folder?

Lesson Learned:  Sounds like we should have run the API folder in addition to 
everything in the Samples folder.

Out of curiousity, how  many API regression tests do we have and how long do 
they take to run?

From: John McGreevy 
<[email protected]<mailto:[email protected]>>
Sent: Wednesday, April 29, 2020 10:59 AM
To: Darrel Conway 
<[email protected]<mailto:[email protected]>>; Cooley, 
D S. (GSFC-5950) <[email protected]<mailto:[email protected]>>; Hughes, 
Steven P. (GSFC-5950) 
<[email protected]<mailto:[email protected]>>; Shoan, Wendy C. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Stark, 
Michael E. (GSFC-5830) 
<[email protected]<mailto:[email protected]>>; Nguyen, Tuan D. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Royzman, 
Tetyana (GSFC-595.0)[Pearl River Technologies] 
<[email protected]<mailto:[email protected]>>
Subject: [EXTERNAL] RE: We will need an RC2

Same on WIndows

From: Darrel Conway 
<[email protected]<mailto:[email protected]>>
Sent: Wednesday, 29 April, 2020 00:01
To: Cooley, D S. (GSFC-5950) <[email protected]<mailto:[email protected]>>; 
John McGreevy 
<[email protected]<mailto:[email protected]>>; 
Hughes, Steven P. (GSFC-5950) 
<[email protected]<mailto:[email protected]>>; Shoan, Wendy C. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Stark, 
Michael E. (GSFC-5830) 
<[email protected]<mailto:[email protected]>>; Nguyen, Tuan D. 
(GSFC-5830) <[email protected]<mailto:[email protected]>>; Royzman, 
Tetyana (GSFC-595.0)[OMITRON] 
<[email protected]<mailto:[email protected]>>
Subject: Re: We will need an RC2

With this change, all API samples run as expected in Linux.
On 4/28/20 6:14 PM, Darrel Conway wrote:
The API issue is in a change to the object initializer 
(src/base/foundation/ObjectInitializer.cpp, lines 447 and following) made in 
early April.  The crashing code looks like this:
   for (omi = GOS->begin(); omi != GOS->end(); ++omi)
   {
      GmatBase *obj = omi->second;
      if (obj->IsOfType(Gmat::SPACECRAFT))
      {
         GmatEpoch ep = ((Spacecraft*)(obj))->GetEpoch();
         #ifdef DEBUG_BASE_EPOCH
            MessageInterface::ShowMessage("--- (GOS) earliest is %.12lf\n",
                                          earliest);
            MessageInterface::ShowMessage("--- (GOS) ep is %.12lf\n", ep);
         #endif
         // Find the earliest Spacecraft time but omit the standard default 
epoch
         if ((ep < earliest) && !(GmatMathUtil::IsEqual(ep, baseDefault, 
epochTol)))
            earliest = ep;
      }
   }
The issue is that the global object store (GOS) likely does not exist when GMAT 
is run using the API.  The fix looks like this:
   if (includeGOS)
   {
      for (omi = GOS->begin(); omi != GOS->end(); ++omi)
      {
         GmatBase *obj = omi->second;
         if (obj->IsOfType(Gmat::SPACECRAFT))
         {
            GmatEpoch ep = ((Spacecraft*)(obj))->GetEpoch();
            #ifdef DEBUG_BASE_EPOCH
               MessageInterface::ShowMessage("--- (GOS) earliest is %.12lf\n",
                                             earliest);
               MessageInterface::ShowMessage("--- (GOS) ep is %.12lf\n", ep);
            #endif
            // Find the earliest Spacecraft time but omit the standard default 
epoch
            if ((ep < earliest) && !(GmatMathUtil::IsEqual(ep, baseDefault, 
epochTol)))
               earliest = ep;
         }
      }
   }
(I attached the file containing the fix.)

Lesson learned:  We need to get the API tests better integrated into the script 
test system.  We've known this, but haven't had schedule to make it happen.

The good news, such as it is, is that the boolean parameter includeGOS rarely 
affects the code in a meaningful way, except when the system is run using the 
API.  (The global object store in NULL in API runs, leading to the crash.)  
Generally in GMAT, running from either the console or the GUI, the GOS is set 
regardless of the setting on this flag, and the flag itself is false except 
when managing functions or manipulating owned objects in a Sandbox.

That means that generally speaking, the test results seen to date are likely 
still solid (but, of course, must be rechecked).  The question remains how to 
proceed; here's what I suggest:

  1.  John and I check the code fix for use in the API examples
  2.  Rebuild with the fix, and run the internal/no alpha script tests (or turn 
on the alphas)
  3.  Run additional TBD test sets - maybe all of them, but that may be 
overkill.
If #2 matches the results of the existing runs, I'd be in favor of declaring 
the fix valid.  Running the subset test cases (public etc) just turns off 
cases, and we've already checked that the packaging is correct for those 
subsets.

Thoughts?

- DJC
On 4/28/20 4:52 PM, Darrel Conway wrote:
Something that occurred recently has broken the API.  We were solid on 3/23.  
We are crashing the the release packages for Linux and Windows.

Investigating now.  There are plenty of intervening code merges. Sigh.

- DJC


--

Darrel J. Conway, Ph.D.      Thinking Systems, Inc.

Senior Scientist and CEO     437 W Thurber Road, Suite 6

Phone: (623) 298-4530        Tucson, AZ 85705

FAX:   (520) 232-2533        
www.thinksysinc.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.thinksysinc.com&d=DwMGaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=VScJSNoKSOyAbmOHypDTOJwz8PcYtqjPxvOf88b9L1k&m=zR-4P7iAhsh7NOhF68Pkbiykuoe-X5G5KnOjiwprQrg&s=doVt1mu-rtw32Zz_NRAL3zO385cbBLVKgQ0iLXG5ITI&e=>

Cell:  (520) 425-3626        
[email protected]<mailto:[email protected]>


--

Darrel J. Conway, Ph.D.      Thinking Systems, Inc.

Senior Scientist and CEO     437 W Thurber Road, Suite 6

Phone: (623) 298-4530        Tucson, AZ 85705

FAX:   (520) 232-2533        
www.thinksysinc.com<https://urldefense.proofpoint.com/v2/url?u=http-3A__www.thinksysinc.com&d=DwMGaQ&c=ApwzowJNAKKw3xye91w7BE1XMRKi2LN9kiMk5Csz9Zk&r=VScJSNoKSOyAbmOHypDTOJwz8PcYtqjPxvOf88b9L1k&m=zR-4P7iAhsh7NOhF68Pkbiykuoe-X5G5KnOjiwprQrg&s=doVt1mu-rtw32Zz_NRAL3zO385cbBLVKgQ0iLXG5ITI&e=>

Cell:  (520) 425-3626        
[email protected]<mailto:[email protected]>
_______________________________________________
Gmat-buildtest mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gmat-buildtest

Reply via email to