[ET Trac] [Einstein Toolkit] #309: segfault with kerr initial data using IDAnalyticBH

Einstein Toolkit trac-noreply at einsteintoolkit.org
Thu Feb 24 10:13:07 CST 2011


#309: segfault with kerr initial data using IDAnalyticBH
--------------------------+-------------------------------------------------
 Reporter:  bmundim       |       Owner:  bmundim
     Type:  defect        |      Status:  new    
 Priority:  major         |   Milestone:         
Component:  Other         |     Version:         
 Keywords:  IDAnalyticBH  |  
--------------------------+-------------------------------------------------
 Yosef's bug report and patch:

 Hi,

 If initial_data=kerr and metric_type=physical, IDAnalyticBH
 writes to psi[x-z] and psi[x-z][x-z] (it tries to set these
 GFs to zero) even if no storage is
 allocated. The problem is with the code

 IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
 etc.., which is only executed when the metric is
 physical.

 I was able to use the Kerr data with the following patch,
 but just deleting the offending lines should be sufficient.


 --- Kerr.c      2011-02-10 09:08:58.000000000 -0500
 +++ /tmp/Kerr.c 2011-02-23 18:15:38.000000000 -0500
 @@ -103,6 +103,10 @@
                    conformal_storage); /*NOTREACHED*/
       }
     }
 +  else
 +  {
 +    *conformal_state = 0;
 +  }


     /* printf("npoints: %i\n",npoints); */
 @@ -311,15 +315,22 @@
       }
       IDAnalyticBH_zero_CCTK_REAL_array(npoints, gxz);
       IDAnalyticBH_zero_CCTK_REAL_array(npoints, gyz);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiy);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiz);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixx);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixy);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixz);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyy);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyz);
 -    IDAnalyticBH_zero_CCTK_REAL_array(npoints, psizz);
 +
 +    if (psix && *conformal_state < 2)
 +    {
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psix);
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiy);
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiz);
 +    }
 +    if (psixx && *conformal_state < 3)
 +    {
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixx);
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixy);
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psixz);
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyy);
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psiyz);
 +      IDAnalyticBH_zero_CCTK_REAL_array(npoints, psizz);
 +    }
     }

     return;

-- 
Ticket URL: <https://trac.einsteintoolkit.org/ticket/309>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit


More information about the Trac mailing list