#11814: Segmentation fault in dlx_solver
-----------------------------+----------------------------------------------
   Reporter:  jdemeyer       |          Owner:  sage-combinat
       Type:  defect         |         Status:  new          
   Priority:  critical       |      Milestone:  sage-4.7.2   
  Component:  combinatorics  |       Keywords:               
Work_issues:                 |       Upstream:  N/A          
   Reviewer:                 |         Author:               
     Merged:                 |   Dependencies:               
-----------------------------+----------------------------------------------

Comment(by leif):

 A bit more information on the platform, or did you try this on different
 systems?

 On Ubuntu 10.04.3 x86_64 I get:
 {{{
 ...
 sage: sage: from sage.combinat.matrices.dancing_links import dlx_solver
 ==27537== Invalid read of size 4
 ==27537==    at 0x4EB5E83: PyObject_Free (obmalloc.c:931)
 ==27537==    by 0x4EDBE00: unicode_dealloc (unicodeobject.c:369)
 ==27537==    by 0x4E9C8E0: frame_dealloc (frameobject.c:420)
 ==27537==    by 0x4F1562E: PyEval_EvalCodeEx (ceval.c:2979)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==  Address 0x6156020 is 2,256 bytes inside a block of size 4,400
 free'd
 ==27537==    at 0x4C27058: realloc (vg_replace_malloc.c:525)
 ==27537==    by 0x9F13E6A: xrealloc (xmalloc.c:74)
 ==27537==    by 0x9F1442E: add_history (history.c:302)
 ==27537==    by 0x9F1761F: read_history_range (histfile.c:270)
 ==27537==    by 0x9CE3089: read_history_file (readline.c:102)
 ==27537==    by 0x4F13E19: PyEval_EvalFrameEx (ceval.c:3706)
 ==27537==    by 0x4F14CEE: PyEval_EvalFrameEx (ceval.c:3792)
 ==27537==    by 0x4F14CEE: PyEval_EvalFrameEx (ceval.c:3792)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4E9DC2A: function_call (funcobject.c:524)
 ==27537==
 ==27537== Invalid read of size 4
 ==27537==    at 0x4EB5E83: PyObject_Free (obmalloc.c:931)
 ==27537==    by 0x4E68C66: freechildren (node.c:135)
 ==27537==    by 0x4E68FAD: PyNode_Free (node.c:123)
 ==27537==    by 0x4F370C8: PyParser_ASTFromString (pythonrun.c:1439)
 ==27537==    by 0x4F37221: Py_CompileStringFlags (pythonrun.c:1382)
 ==27537==    by 0x4F0CE6B: builtin_compile (bltinmodule.c:546)
 ==27537==    by 0x4F13E19: PyEval_EvalFrameEx (ceval.c:3706)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4E9DB2E: function_call (funcobject.c:524)
 ==27537==    by 0x4E741A1: PyObject_Call (abstract.c:2492)
 ==27537==    by 0x4E868BC: instancemethod_call (classobject.c:2579)
 ==27537==    by 0x4E741A1: PyObject_Call (abstract.c:2492)
 ==27537==  Address 0xa73d020 is not stack'd, malloc'd or (recently) free'd
 ==27537==
 sage: sage: rows = []
 sage: sage: x = dlx_solver(rows)
 sage: sage: x.search()
 ==27537== Conditional jump or move depends on uninitialised value(s)
 ==27537==    at 0x2F2C3281:
 
__pyx_pf_4sage_8combinat_8matrices_13dancing_links_20dancing_linksWrapper_9search(_object*,
 _object*) (dancing_links_c.h:75)
 ==27537==    by 0x4F13B46: PyEval_EvalFrameEx (ceval.c:3690)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F15A21: PyEval_EvalCode (ceval.c:522)
 ==27537==    by 0x4F14510: PyEval_EvalFrameEx (ceval.c:4401)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F14CEE: PyEval_EvalFrameEx (ceval.c:3792)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==
 ==27537== Use of uninitialised value of size 8
 ==27537==    at 0x2F2C32AA:
 
__pyx_pf_4sage_8combinat_8matrices_13dancing_links_20dancing_linksWrapper_9search(_object*,
 _object*) (dancing_links_c.h:76)
 ==27537==    by 0x4F13B46: PyEval_EvalFrameEx (ceval.c:3690)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F15A21: PyEval_EvalCode (ceval.c:522)
 ==27537==    by 0x4F14510: PyEval_EvalFrameEx (ceval.c:4401)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F14CEE: PyEval_EvalFrameEx (ceval.c:3792)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==
 ==27537== Conditional jump or move depends on uninitialised value(s)
 ==27537==    at 0x2F2C32A8:
 
__pyx_pf_4sage_8combinat_8matrices_13dancing_links_20dancing_linksWrapper_9search(_object*,
 _object*) (dancing_links_c.h:76)
 ==27537==    by 0x4F13B46: PyEval_EvalFrameEx (ceval.c:3690)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F15A21: PyEval_EvalCode (ceval.c:522)
 ==27537==    by 0x4F14510: PyEval_EvalFrameEx (ceval.c:4401)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F14CEE: PyEval_EvalFrameEx (ceval.c:3792)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==
 ==27537== Conditional jump or move depends on uninitialised value(s)
 ==27537==    at 0x2F2C3291:
 
__pyx_pf_4sage_8combinat_8matrices_13dancing_links_20dancing_linksWrapper_9search(_object*,
 _object*) (dancing_links_c.h:76)
 ==27537==    by 0x4F13B46: PyEval_EvalFrameEx (ceval.c:3690)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F15A21: PyEval_EvalCode (ceval.c:522)
 ==27537==    by 0x4F14510: PyEval_EvalFrameEx (ceval.c:4401)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F14CEE: PyEval_EvalFrameEx (ceval.c:3792)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==
 ==27537== Invalid read of size 4
 ==27537==    at 0x2F2C328C:
 
__pyx_pf_4sage_8combinat_8matrices_13dancing_links_20dancing_linksWrapper_9search(_object*,
 _object*) (dancing_links_c.h:76)
 ==27537==    by 0x4F13B46: PyEval_EvalFrameEx (ceval.c:3690)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F15A21: PyEval_EvalCode (ceval.c:522)
 ==27537==    by 0x4F14510: PyEval_EvalFrameEx (ceval.c:4401)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==    by 0x4F14CEE: PyEval_EvalFrameEx (ceval.c:3792)
 ==27537==    by 0x4F15947: PyEval_EvalCodeEx (ceval.c:2968)
 ==27537==    by 0x4F13BF3: PyEval_EvalFrameEx (ceval.c:3802)
 ==27537==  Address 0x30 is not stack'd, malloc'd or (recently) free'd
 ==27537==
 
/tmp/Sage/sage-4.7.2.alpha2/local/lib/libcsage.so(print_backtrace+0x31)[0xbfa6817]
 /tmp/Sage/sage-4.7.2.alpha2/local/lib/libcsage.so(sigdie+0x14)[0xbfa6849]
 
/tmp/Sage/sage-4.7.2.alpha2/local/lib/libcsage.so(sage_signal_handler+0x20e)[0xbfa6474]
 /lib/libpthread.so.0(+0xf8f0)[0x52018f0]
 /tmp/Sage/sage-4.7.2.alpha2/local/lib/python2.6/site-
 packages/sage/combinat/matrices/dancing_links.so(+0x828c)[0x2f2c328c]
 
/tmp/Sage/sage-4.7.2.alpha2/local/lib/libpython2.6.so.1.0(PyEval_EvalFrameEx+0x4af7)[0x4f13b47]
 ... (same backtrace)
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11814#comment:1>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to