Skip to content

"SignalError: Illegal instruction" on calling .right_kernel() #32447

@maxale

Description

@maxale

I have a particular matrix on which computing .right_kernel() by Sage 9.4 results in "SignalError: Illegal instruction". Sage 9.4 is installed from sage-9.4-Ubuntu_20.04-x86_64.tar.bz2

I see the same problem in Sage 9.3, but not in Sage 9.2. The screenlog from Sage 9.4 is quoted below. The file bug_illegal_kernel.sage and the output of lscpu are attached.

┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.4, Release Date: 2021-08-22                     │
│ Using Python 3.9.5. Type "help()" for help.                        │
└────────────────────────────────────────────────────────────────────┘
sage: load("bug_illegal_kernel.sage")                                                                                                                                                                                                                                                                                        
---------------------------------------------------------------------------
SignalError                               Traceback (most recent call last)
<ipython-input-1-5e05d00e2706> in <module>
----> 1 load("bug_illegal_kernel.sage")

/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/misc/persist.pyx in sage.misc.persist.load (build/cythonized/sage/misc/persist.c:2563)()
    171 
    172     if sage.repl.load.is_loadable_filename(filename):
--> 173         sage.repl.load.load(filename, globals())
    174         return
    175 

/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/repl/load.py in load(filename, globals, attach)
    270                 add_attached_file(fpath)
    271             with open(fpath) as f:
--> 272                 exec(preparse_file(f.read()) + "\n", globals)
    273     elif ext == '.spyx' or ext == '.pyx':
    274         if attach:

<string> in <module>

/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix.right_kernel (build/cythonized/sage/matrix/matrix2.c:31019)()
   4715 
   4716         # Go get the kernel matrix, this is where it all happens
-> 4717         M = self.right_kernel_matrix(*args, **kwds)
   4718 
   4719         ambient = R**self.ncols()

/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix2.pyx in sage.matrix.matrix2.Matrix.right_kernel_matrix (build/cythonized/sage/matrix/matrix2.c:29656)()
   4316         if M is None:
   4317             try:
-> 4318                 format, M = self._right_kernel_matrix(algorithm=algorithm, proof=proof)
   4319             except AttributeError:
   4320                 pass

/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix_integer_dense.pyx in sage.matrix.matrix_integer_dense.Matrix_integer_dense._right_kernel_matrix (build/cythonized/sage/matrix/matrix_integer_dense.cpp:22522)()
   2694             proof = kwds.pop('proof', None)
   2695             proof = get_proof_flag(proof, "linear_algebra")
-> 2696             K = self._rational_kernel_iml().transpose().saturation(proof=proof)
   2697             format = 'computed-iml-int'
   2698         else:

/usr/local/SageMath.94/local/lib/python3.9/site-packages/sage/matrix/matrix_integer_dense.pyx in sage.matrix.matrix_integer_dense.Matrix_integer_dense._rational_kernel_iml (build/cythonized/sage/matrix/matrix_integer_dense.cpp:32421)()
   3882         time = verbose('computing null space of %s x %s matrix using IML'%(self._nrows, self._ncols))
   3883         cdef mpz_t * m = fmpz_mat_to_mpz_array(self._matrix)
-> 3884         sig_on()
   3885         dim = nullspaceMP(self._nrows, self._ncols, m, &mp_N)
   3886         sig_off()

SignalError: Illegal instruction

Also reported on this aks question

Component: linear algebra

Reviewer: Michael Orlitzky

Issue created by migration from https://trac.sagemath.org/ticket/32447

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions