Skip to content

SEGV using algebraic_closure(QQ) #5648

@JohnAAbbott

Description

@JohnAAbbott

Describe the bug
An apparently harmless computation leads to SEGV after quite a long time; I'm not certain, but do not believe that it is caused by exhaustion of RAM/swap. The computation is not important to me: I was just playing with OSCAR

Here is what the error message was:

[560384] signal (11.1): Segmentation fault
in expression starting at REPL[13]:1
unknown function (ip: 0x7f2f08e4fb45)
flint_parallel_do at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
_fmpz_vec_set_fft at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
_fmpz_poly_mullow_SS at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
_fmpq_poly_mullow at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
_fmpq_poly_div_series at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
fmpq_poly_div_series at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
qqbar_fmpz_poly_composed_op at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
qqbar_binary_op at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
qqbar_add at /home/zez25zuh/.julia/artifacts/f1fbaa2f3bc028c94a47175c5481b8e241352d3c/lib/libflint.so (unknown line)
add! at /home/zez25zuh/OSCAR/GIT/Nemo.jl/src/calcium/qqbar.jl:1328
add! at /home/zez25zuh/OSCAR/GIT/AbstractAlgebra.jl/src/fundamental_interface.jl:406 [inlined]
fflu! at /home/zez25zuh/OSCAR/GIT/AbstractAlgebra.jl/src/Matrix.jl:1934
det_fflu at /home/zez25zuh/OSCAR/GIT/AbstractAlgebra.jl/src/Matrix.jl:2385
det at /home/zez25zuh/OSCAR/GIT/AbstractAlgebra.jl/src/Matrix.jl:2394
[...]
Allocations: 44910475 (Pool: 44830692; Big: 79783); GC: 16836
Segmentation fault (core dumped)

To Reproduce
Steps to reproduce the behavior, please provide a code snippet that triggers
the bug.

using Oscar
QQbar = algebraic_closure(QQ);
Kx,x = QQbar["x"];
N = 8;
f = x^N - (N^N*x-1)^2; # has 2 real roots close to N^(-N)
r = roots(f);  # is the order of the result always the same?
r[2] - r[3]    # the roots are close
M = matrix(QQbar,2,2,[r[1], r[2], r[5], r[6]+r[7]]);
display(M);

D = det(M)  # quick
D^2         # also quick
M2 = M^2;   # entries are in much-higher degree extensions
det(M2)     # very slow -- then SEGV

Expected behavior
No SEGV

System (please complete the following information):
Please paste the output of Oscar.versioninfo(full=true) below. If this does
not work, please paste the output of Julia's versioninfo() and your Oscar
version.

julia> Oscar.versioninfo(full=true)
OSCAR version 1.7.0-DEV - #master, a3f6b0db86 -- 2025-12-10 10:15:35 +0100
  combining:
    AbstractAlgebra.jl   v0.47.5 - #master, 811e27c103 -- 2025-12-10 13:43:02 +0000
    GAP.jl               v0.16.2
    Hecke.jl             v0.39.4 - #master, 2aee9450a4 -- 2025-12-09 19:57:26 +0100
    Nemo.jl              v0.53.0 - #master, 8e3aea0d7a -- 2025-12-01 17:26:42 +0100
    Polymake.jl          v0.13.4
    Singular.jl          v0.28.3
  building on:
    FLINT_jll                  v301.400.1+0
    GAP_jll                    v400.1500.100+1
    GAP_lib_jll                v400.1500.100+0
    Singular_jll               v404.101.503+0
    libpolymake_julia_jll      v0.14.4+0
    libsingular_julia_jll      v0.47.9+0
    polymake_jll               v400.1500.1+0
    polymake_oscarnumber_jll   v0.3.13+0
See `]st -m` for a full list of dependencies.

Julia Version 1.10.10
Commit 95f30e51f41 (2025-06-27 09:51 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 20 × Intel(R) Core(TM) i9-10900 CPU @ 2.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 20 virtual cores)
Environment:
  JULIA_LOAD_PATH = @:@v#.#:@stdlib:/environments/globalenv
  JULIA_DEPOT_PATH = /home/zez25zuh/.julia:
Official https://julialang.org/ release

Additional context
I'll try running with non DEV version of OSCAR, but expect the behaviour to be the same.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions