[ET Trac] [Einstein Toolkit] #751: Carpet fails when running qc0-mclachlan.par

Einstein Toolkit trac-noreply at einsteintoolkit.org
Tue Feb 7 12:55:12 CST 2012


#751: Carpet fails when running qc0-mclachlan.par
--------------------+-------------------------------------------------------
 Reporter:  rhaas   |       Owner:  eschnett
     Type:  defect  |      Status:  new     
 Priority:  major   |   Milestone:          
Component:  Carpet  |     Version:          
 Keywords:          |  
--------------------+-------------------------------------------------------
 this is due to ggf::transfer_from_all line 613 (dst->transfer_from) where
 dst is NULL:

 {{{
 03      assert (lc1>=0 or lc2>=0);
 604
 605      // Source and destination data
 606      gdata * const dst =
 607        lc1>=0 ? storage.AT(ml1).AT(rl1).AT(lc1).AT(tl1) : NULL;
 608      cdata const & srcs = srcstorage.AT(ml2).AT(rl2);
 609      for (int i=0; i<(int)gsrcs.size(); ++i) {
 610        gsrcs.AT(i) = lc2>=0 ? srcs.AT(lc2).AT(tl2s.AT(i)) : NULL;
 611      }
 612
 613      dst->transfer_from
 614        (state, gsrcs, times, recv, send, slabinfo, p1, p2, time, pos,
 pot);
 }}}
 which causes a segfault in line 613. lc1 is -1 in this case and passes the
 assert in line 603. Since dst is used as a pointer it may never be NULL.

 It can be reproduced with the qc0-mclachlan.par example from simfactory.
 Tested on Caltech's bethe workstation with 12 MPI processes and no OpenMP.

 hg blames commit 5418b354a3ab which seems to be the original Carpet import
 into mercurial so this seems to be caused by something else.

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


More information about the Trac mailing list