#13961: Compute the root graph of a graph (inverse of Graph.line_graph)
---------------------------------+------------------------------------------
       Reporter:  ncohen         |         Owner:  jason, ncohen, rlm
           Type:  enhancement    |        Status:  needs_review      
       Priority:  major          |     Milestone:  sage-5.10         
      Component:  graph theory   |    Resolution:                    
       Keywords:                 |   Work issues:                    
Report Upstream:  N/A            |     Reviewers:                    
        Authors:  Nathann Cohen  |     Merged in:                    
   Dependencies:  #13787         |      Stopgaps:                    
---------------------------------+------------------------------------------

Comment (by dcoudert):

 The segfault happens in the isomorphism test at the end. I tried to track
 it back.

 Inside the isomorphic function (file
 sage/groups/perm_gps/partn_ref/refinement_graphs.pyx), it happens during
 the call to
 {{{
 cdef bint isomorphic = double_coset(<void *>GS1, <void *>GS2, part,
 ordering, n, &all_children_are_equivalent, &refine_by_degree,
 &compare_graphs, NULL, NULL, output)
 }}}
 Inside sage/groups/perm_gps/partn_ref/double_coset.pyx:
 {{{
 work_space = allocate_dc_work_space(n)
 }}}
 and inside the {{{SC_new}}} function in
 sage/groups/perm_gps/partn_ref/data_structures_pyx.pxi, we have:
 * an assignment before a NULL test: {{{SC.gen_used.bits[limbs-1] = 0}}}
 and {{{SC.gen_is_id.bits[limbs-1] = 0}}}
 * a call to the {{{SC_dealloc}}} in which we test if {{{SC.generators}}}
 is not NULL to dealloc both {{{SC.generators}}} AND {{{SC.gen_inverses}}}.
 Quite unsafe, no?

 At this point I'm no longer able to understand what's going on, but there
 is a pointer allocation problem somewhere.
 The call to {{{sage_free(SC.generators[i])}}} with i=0 fails but that
 pointer is apparently not NULL. O_o

 -------

 In your code, you should change this:
 * "The this is that this implementation" -> "the problem is that this
 implementation"

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13961#comment:11>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to