#11814: Catch and fix the segmentation fault in dlx_solver
-------------------------+-------------------------------------------------
       Reporter:         |        Owner:  sage-combinat
  jdemeyer               |       Status:  needs_work
           Type:         |    Milestone:  sage-6.8
  defect                 |   Resolution:
       Priority:         |    Merged in:
  critical               |    Reviewers:  Jeroen Demeyer
      Component:         |  Work issues:
  combinatorics          |       Commit:
       Keywords:         |  e2b82a4b7b035d84955c3c15a41cd740fc050eaf
        Authors:         |     Stopgaps:
  Sébastien Labbé        |
Report Upstream:  N/A    |
         Branch:         |
  u/slabbe/11814         |
   Dependencies:         |
-------------------------+-------------------------------------------------
Changes (by vbraun):

 * status:  positive_review => needs_work


Comment:

 When building with `SAGE_DEBUG=yes`:
 {{{
 sage: from sage.combinat.matrices.dancing_links import dlx_solver ## line
 163 ##
 sage: x = dlx_solver([])          # indirect doctest ## line 164 ##
 python: /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/src/build/cythonized/sage/combinat/matrices/dancing_links_c.h:217:
 void dancing_links::setup_columns(): Assertion `nr_columns > 0' failed.
 ------------------------------------------------------------------------
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-packages/sage/ext/interrupt/interrupt.so(+0x3747)[0x7f012e49a747]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-packages/sage/ext/interrupt/interrupt.so(+0x3902)[0x7f012e49a902]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-packages/sage/ext/interrupt/interrupt.so(+0x3257)[0x7f012e49a257]
 /lib64/libpthread.so.0(+0x10430)[0x7f013a8b8430]
 /lib64/libc.so.6(gsignal+0x38)[0x7f0139e0d9c8]
 /lib64/libc.so.6(abort+0x16a)[0x7f0139e0f65a]
 /lib64/libc.so.6(+0x2d187)[0x7f0139e06187]
 /lib64/libc.so.6(+0x2d232)[0x7f0139e06232]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 
packages/sage/combinat/matrices/dancing_links.so(_ZN13dancing_links13setup_columnsEv+0x36)[0x7f00f9ec3fe8]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 
packages/sage/combinat/matrices/dancing_links.so(_ZN13dancing_links8add_rowsESt6vectorIS0_IiSaIiEESaIS2_EE+0x153)[0x7f00f9ec4335]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x1301a)[0x7f00f9ebf01a]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x121c9)[0x7f00f9ebe1c9]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x161b6)[0x7f00f9ec21b6]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x16378)[0x7f00f9ec2378]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x1091e)[0x7f00f9ebc91e]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x106dd)[0x7f00f9ebc6dd]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(+0xdf3ed)[0x7f013aba33ed]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x160bb)[0x7f00f9ec20bb]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x13c13)[0x7f00f9ebfc13]
 /mnt/disk/home/buildslave-sage/slave/sage_git/build/local/lib/python2.7
 /site-
 packages/sage/combinat/matrices/dancing_links.so(+0x13ac4)[0x7f00f9ebfac4]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(+0x15a60b)[0x7f013ac1e60b]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x7c85)[0x7f013ac19290]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x113f)[0x7f013ac1bd59]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(PyEval_EvalCode+0x41)[0x7f013ac115e6]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(+0x15d369)[0x7f013ac21369]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x432d)[0x7f013ac15938]
 /mnt/disk/home/buildslave-
 
sage/slave/sage_git/build/local/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x113f)[0x7f013ac1bd59]
 }}}

--
Ticket URL: <http://trac.sagemath.org/ticket/11814#comment:36>
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to