#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.