id summary reporter owner description type status priority milestone component resolution keywords cc merged author reviewer upstream work_issues branch commit dependencies stopgaps
13719 Illegal free in graph_generators nbruin rlm "On linux:
{{{
$ export MALLOC_CHECK_=3
$ sage -t -gdb -force_lib ""devel/sage/sage/graphs/graph_generators.py""
}}}
produces a SIGABRT. gdb traceback (first bit):
{{{
#0 0x00000031cfe36285 in raise () from /lib64/libc.so.6
#1 0x00000031cfe37b9b in abort () from /lib64/libc.so.6
#2 0x00000031cfe7774e in __libc_message () from /lib64/libc.so.6
#3 0x00000031cfe7da76 in malloc_printerr () from /lib64/libc.so.6
#4 0x00007fffbe7eeead in sage_free (ptr=) at /usr/local/sage/5.0/local/include/csage/memory.h:46
#5 __pyx_pf_4sage_6graphs_5trees_12TreeIterator_1__dealloc__ (__pyx_v_self=0x7fffbf10c930) at sage/graphs/trees.c:807
#6 __pyx_tp_dealloc_4sage_6graphs_5trees_TreeIterator (o=0x7fffbf10c930) at sage/graphs/trees.c:2486
#7 0x00007ffff7cc6bf3 in tupledealloc (op=0x7fffc3890450) at Objects/tupleobject.c:220
#8 0x00007ffff7d12c49 in do_call (nk=, na=, pp_stack=0x7fffffffb990, func=0x7ffff7fc33e0) at Python/ceval.c:4233
...
}}}
For tree with no vertices, no memory was allocated (more or less as intended, with a malloc with size 0), but the next routine of the iterator tries to write something at the ""allocated"" address.
This is fixed by handling separately the 0 sized trees and not allocating nor writing anything in this case." defect closed critical sage-5.6 graph theory fixed graphs segfault sage-5.6.beta0 Jean-Pierre Flori Nathann Cohen N/A