Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfaults in sage.libs.gap.element #37289

Open
mkoeppe opened this issue Feb 10, 2024 · 2 comments
Open

Segfaults in sage.libs.gap.element #37289

mkoeppe opened this issue Feb 10, 2024 · 2 comments
Labels

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 10, 2024

On test / linux (ubuntu-jammy, minimal)

sage -t --random-seed=16825356534323926666935235918487534724 src/sage/libs/gap/element.pyx
**********************************************************************
File "src/sage/libs/gap/element.pyx", line 1152, in sage.libs.gap.element.GapElement.noexcept
Failed example:
    libgap.CyclicGroup(2) ^ 2
Expected:
    Traceback (most recent call last):
    ...
    GAPError: Error, no method found!
    Error, no 1st choice method found for `^' on 2 arguments
Got:
    <BLANKLINE>
    Traceback (most recent call last):
      File "/sage/src/sage/doctest/forker.py", line 712, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/sage/src/sage/doctest/forker.py", line 1147, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.libs.gap.element.GapElement.noexcept[8]>", line 1, in <module>
        libgap.CyclicGroup(Integer(2)) ** Integer(2)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "sage/libs/gap/element.pyx", line 2510, in sage.libs.gap.element.GapElement_Function.__call__
        a = [x if isinstance(x, GapElement) else libgap(x) for x in args]
      File "sage/structure/parent.pyx", line 901, in sage.structure.parent.Parent.__call__
        return mor._call_(x)
      File "sage/structure/coerce_maps.pyx", line 158, in sage.structure.coerce_maps.DefaultConvertMap_unique._call_
        return C._element_constructor(x)
      File "sage/libs/gap/libgap.pyx", line 319, in sage.libs.gap.libgap.Gap._element_constructor_
        return x._libgap_()
      File "sage/structure/sage_object.pyx", line 758, in sage.structure.sage_object.SageObject._libgap_
        return libgap.eval(self)
      File "sage/libs/gap/libgap.pyx", line 406, in sage.libs.gap.libgap.Gap.eval
        elem = make_any_gap_element(self, gap_eval(gap_command))
      File "sage/libs/gap/util.pyx", line 361, in sage.libs.gap.util.gap_eval
        sig_on()
    cysignals.signals.SignalError: Segmentation fault

(https://github.com/sagemath/sage/actions/runs/7852863047/job/21431835442?pr=37277#step:11:8409)

@mkoeppe mkoeppe added the t: bug label Feb 10, 2024
@tornaria
Copy link
Contributor

I think this is the same issue I mentioned in passing in #37263.

Can you try sage -c 'gap(1)' or sage -c 'libgap(1)' ? Both fail really bad.

Then try setting GAP_ROOT_PATHS=/usr/lib/gap;/usr/share/gap. The problem for me is that gap is installed in the system prefix (/usr) but the default search path uses SAGE_LOCAL as prefix.

@tornaria
Copy link
Contributor

Actually, this looks different since it's not using system gap afaict.

Maybe it is related to #37026.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants