Opened 11 months ago

Closed 8 months ago

#32576 closed defect (fixed)

Cysignals not compatible with glibc >= 2.34 (fedora-35, ubuntu-impish)

Reported by: gh-kliem Owned by:
Priority: blocker Milestone: sage-9.5
Component: cython Keywords:
Cc: embray, vdelecroix, dimpase, vbraun, mjo Merged in:
Authors: Jonathan Kliem Reviewers: Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: 8c5551a (Commits, GitHub, GitLab) Commit: 8c5551ae5b7df2ddd78eba20607dcd06a6664261
Dependencies: Stopgaps:

Status badges

Description

As reported on https://groups.google.com/g/sage-devel/c/Wz5Rhjnn4sU/m/rUd1PQbwAwAJ.

Cysignals is not compatible with glibc >= 2.34. Fedora 35 is using it and other systems will follow.

This is the cysignals issue: https://github.com/sagemath/cysignals/issues/150 and this is intended to solve it: https://github.com/sagemath/cysignals/pull/151.

Change History (37)

comment:1 Changed 11 months ago by mkoeppe

  • Summary changed from Cysignals not compatible with glib >= 2.34 to Cysignals not compatible with glibc >= 2.34

comment:2 Changed 10 months ago by mkoeppe

  • Summary changed from Cysignals not compatible with glibc >= 2.34 to Cysignals not compatible with glibc >= 2.34 (fedora-35, ubuntu-impish)

comment:3 Changed 9 months ago by enriqueartal

I was able to build stable and develop branches with the proposed solutions. It seems to be some problems with giac, see https://trac.sagemath.org/ticket/32828#comment:11 for details.

comment:4 Changed 9 months ago by enriqueartal

I have problems with testing in develop with python3.10. Almost any test yields

usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0x7c08)[0x7fa76016dc08]
/usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0x7ca9)[0x7fa76016dca9]
/usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/python3.10/site-packages/cysignals/signals.cpython-310-x86_64-linux-gnu.so(+0xaa1c)[0x7fa760170a1c]
/lib64/libc.so.6(+0x42760)[0x7fa767c4d760]
/usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/python3.10/site-packages/sage/cpython/atexit.cpython-310-x86_64-linux-gnu.so(+0x6641)[0x7fa7607c7641]
/usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/python3.10/site-packages/sage/cpython/atexit.cpython-310-x86_64-linux-gnu.so(+0x50d2)[0x7fa7607c60d2]
/usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/libpython3.10.so.1.0(+0xe90de)[0x7fa7680530de]
/usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/libpython3.10.so.1.0(_PyEval_EvalFrameDefault+0x44eb)[0x7fa767fd3afb]
/usr/local/sagedev/local/var/lib/sage/venv-python3.10.0/lib/libpython3.10.so.1.0(+0x16f604)[0x7fa7680d9604]
...

in 9.4 with this packages (and also #32828 to be able to build) I get the following errors (I do not know if related with cysignals):

sage -t --random-seed=0 src/sage/env.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/docs/instancedoc.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/cpython/wrapperdescr.pxd  # 1 doctest failed
sage -t --random-seed=0 src/sage/cpython/cython_metaclass.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/cpython/string.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/cpython/getattr.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/lfunctions/pari.py  # 1 doctest failed 
sage -t --random-seed=0 src/sage/lfunctions/lcalc.py  # 2 doctests failed 
sage -t --random-seed=0 src/sage/parallel/decorate.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/symbolic/integration/integral.py  # 1 doctest failed sage -t --random-seed=0 src/sage/schemes/elliptic_curves/lseries_ell.py  # 2 doctests failed
sage -t --random-seed=0 src/sage/interfaces/tachyon.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/structure/factory.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/structure/dynamic_class.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/structure/mutability.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/structure/element.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/arith/long.pxd  # 1 doctest failed
sage -t --random-seed=0 src/sage/sets/set_from_iterator.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/repl/interface_magic.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/repl/ipython_tests.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/repl/ipython_extension.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/repl/interpreter.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/features/__init__.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/combinat/words/paths.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/cython.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/cachefunc.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/inherit_comparison.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/lazy_attribute.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/sageinspect.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/bindable_class.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/superseded.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/nested_class.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/sagedoc.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/sphinxify.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/misc/session.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/rings/tate_algebra_ideal.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/rings/integer_fake.pxd  # 1 doctest failed
sage -t --random-seed=0 src/sage/rings/polynomial/ore_polynomial_element.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/libs/giac/__init__.py  # 7 doctests failed
sage -t --random-seed=0 src/sage/sandpiles/sandpile.py  # 1 doctest failed
sage -t --random-seed=0 src/sage/graphs/connectivity.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/graphs/graph_decompositions/fast_digraph.pyx  # 1 doctest failed
sage -t --random-seed=0 src/sage/tests/lazy_imports.py  # 1 doctest failed
sage -t --random-seed=0 src/sage_setup/find.py  # 1 doctest failed
sage -t --random-seed=0 src/sage_setup/optional_extension.py  # 1 doctest failed
sage -t --random-seed=0 src/sage_setup/clean.py  # 1 doctest failed
sage -t --random-seed=0 src/sage_docbuild/__init__.py  # 1 doctest failed
sage -t --random-seed=0 src/sage_docbuild/sphinxbuild.py  # 1 doctest failed
sage -t --random-seed=0 src/sage_docbuild/utils.py  # 1 doctest failed
sage -t --random-seed=0 src/doc/en/developer/coding_basics.rst  # 1 doctest failed
sage -t --random-seed=0 src/doc/en/thematic_tutorials/sandpile.rst  # 1 doctest failed

An example:

sage -t --random-seed=0 src/sage/env.py
**********************************************************************
File "src/sage/env.py", line 435, in sage.env.?
Failed example:
    cython('''
    #distutils: extra_compile_args = OPENMP_CFLAGS
    #distutils: extra_link_args = OPENMP_CFLAGS
    from cython.parallel import prange

    cdef int i
    cdef int n = 30
    cdef int sum = 0

    for i in prange(n, num_threads=4, nogil=True):
        sum += i

    print(sum)
    ''')
Expected:
    435
Got:
    doctest:warning
      File "/usr/local/sage/src/bin/sage-runtests", line 144, in <module>
        err = DC.run()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 1207, in run
        self.run_doctests()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 909, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2044, in dispatch
        self.parallel_dispatch()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 1939, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2211, in start
        super(DocTestWorker, self).start()
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/context.py", line 277, in _Popen
        return Popen(process_obj)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
        self.run()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2183, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2512, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2559, in _run
        result = runner.run(test)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 910, in run
        return self._run(test, compileflags, out)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 718, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 1137, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.env.?[5]>", line 1, in <module>
        cython('''
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 661, in cython_compile
        return cython_import_all(tmpfile, get_globals(), **kwds)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 551, in cython_import_all
        m = cython_import(filename, **kwds)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 526, in cython_import
        name, build_dir = cython(filename, **kwds)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 295, in cython
        import setuptools
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 855, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/usr/local/sage/local/lib/python3.9/site-packages/setuptools/__init__.py", line 16, in <module>
        import setuptools.version
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 855, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/usr/local/sage/local/lib/python3.9/site-packages/setuptools/version.py", line 1, in <module>
        import pkg_resources
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 855, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3257, in <module>
        def _initialize_master_working_set():
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3231, in _call_aside
        f(*args, **kwargs)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3269, in _initialize_master_working_set
        working_set = WorkingSet._build_master()
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 564, in _build_master
        ws = cls()
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 557, in __init__
        self.add_entry(entry)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 613, in add_entry
        for dist in find_distributions(entry, True):
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2064, in find_on_path
        path_item_entries = _by_version_descending(filtered)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2034, in _by_version_descending
        return sorted(names, key=_by_version, reverse=True)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2032, in _by_version
        return [packaging.version.parse(part) for part in parts]
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2032, in <listcomp>
        return [packaging.version.parse(part) for part in parts]
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py", line 51, in parse
        return LegacyVersion(version)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py", line 111, in __init__
        warnings.warn(
      File "/usr/local/sage/local/lib/python3.9/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    DeprecationWarning: Creating a LegacyVersion has been deprecated and will be removed in the next major release
    doctest:warning
      File "/usr/local/sage/src/bin/sage-runtests", line 144, in <module>
        err = DC.run()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 1207, in run
        self.run_doctests()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/control.py", line 909, in run_doctests
        self.dispatcher.dispatch()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2044, in dispatch
        self.parallel_dispatch()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 1939, in parallel_dispatch
        w.start()  # This might take some time
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2211, in start
        super(DocTestWorker, self).start()
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/context.py", line 277, in _Popen
        return Popen(process_obj)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/usr/local/sage/local/lib/python3.9/multiprocessing/process.py", line 315, in _bootstrap
        self.run()
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2183, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2512, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 2559, in _run
        result = runner.run(test)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 910, in run
        return self._run(test, compileflags, out)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 718, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/doctest/forker.py", line 1137, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.env.?[5]>", line 1, in <module>
        cython('''
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 661, in cython_compile
        return cython_import_all(tmpfile, get_globals(), **kwds)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 551, in cython_import_all
        m = cython_import(filename, **kwds)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 526, in cython_import
        name, build_dir = cython(filename, **kwds)
      File "/usr/local/sage/local/lib/python3.9/site-packages/sage/misc/cython.py", line 295, in cython
        import setuptools
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 855, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/usr/local/sage/local/lib/python3.9/site-packages/setuptools/__init__.py", line 16, in <module>
        import setuptools.version
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 855, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/usr/local/sage/local/lib/python3.9/site-packages/setuptools/version.py", line 1, in <module>
        import pkg_resources
      File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
      File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 855, in exec_module
      File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3257, in <module>
        def _initialize_master_working_set():
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3231, in _call_aside
        f(*args, **kwargs)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 3292, in _initialize_master_working_set
        list(map(working_set.add_entry, sys.path))
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 613, in add_entry
        for dist in find_distributions(entry, True):
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2064, in find_on_path
        path_item_entries = _by_version_descending(filtered)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2034, in _by_version_descending
        return sorted(names, key=_by_version, reverse=True)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2032, in _by_version
        return [packaging.version.parse(part) for part in parts]
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/__init__.py", line 2032, in <listcomp>
        return [packaging.version.parse(part) for part in parts]
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py", line 51, in parse
        return LegacyVersion(version)
      File "/usr/local/sage/local/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py", line 111, in __init__
        warnings.warn(
      File "/usr/local/sage/local/lib/python3.9/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    DeprecationWarning: Creating a LegacyVersion has been deprecated and will be removed in the next major release
    435
**********************************************************************
1 item had failures:
   1 of   7 in sage.env.?
    [47 tests, 1 failure, 16.69 s]

comment:5 Changed 9 months ago by gh-kliem

Looks like a follow up on #30975 is needed.

comment:6 follow-up: Changed 9 months ago by mkoeppe

I would guess that this goes away with #32828.

comment:7 in reply to: ↑ 6 Changed 9 months ago by enriqueartal

Replying to mkoeppe:

I would guess that this goes away with #32828.

I made the test in two situations. One was in the branch #32828, merged with develop, python3.10, and the corrected cysgnals package. The other one was 9.4 with the corrected cysignals package and also the packages pyzmq and setuptools of #32828 (if not, it is not possible to build in Fedora 35).

Summarizing, the stable build produced some failed tests (quite a number, actually) but most tests were successful. For the python3.10 build, no test passed but I could use it for my work. Actually #32828 is the branch where the tests are done, merged with develop

comment:8 Changed 9 months ago by gh-kliem

I would say that cysignals is ready to be released.

I opened https://github.com/sagemath/cysignals/issues/157 for this. Not sure, how to proceed from here.

comment:9 Changed 9 months ago by mkoeppe

  • Cc embray vdelecroix added

comment:10 Changed 9 months ago by mkoeppe

  • Cc dimpase vbraun added

@embray, @vdelecroix, please see https://github.com/sagemath/cysignals/issues/157#issuecomment-979756762, could you please give @kliem and perhaps other Sage developers access to the cysignals project on PyPI?

comment:11 Changed 9 months ago by dimpase

I don't have access to SageMath pypi. Is it done using a token, or in some other way?

comment:12 Changed 9 months ago by mkoeppe

Current "owners" of the project (embray, vdelecroix, jdemeyer) can invite other users to be maintainers or owners using the link https://pypi.org/manage/project/cysignals/collaboration/

comment:13 Changed 9 months ago by mkoeppe

I have just sent out invitations to become owner of some of the PyPI projects that I created (https://pypi.org/project/sage-conf/, https://pypi.org/project/sage-setup/, https://pypi.org/project/sage-docbuild/, https://pypi.org/project/sage-sws2rst/, https://pypi.org/project/sagemath-standard/) to a few people, in order to avoid similar bottlenecks in the future.

comment:14 Changed 9 months ago by mkoeppe

Thanks, Vincent, I now have access.

comment:15 Changed 9 months ago by gh-kliem

  • Authors set to Jonathan Kliem
  • Branch set to public/32576
  • Commit set to 53cfadfe6652df0331e731a47463e509c70e2f44

New commits:

53cfadfupdate cysignals to 1.11.0

comment:16 Changed 9 months ago by git

  • Commit changed from 53cfadfe6652df0331e731a47463e509c70e2f44 to 5ed4717e7d8bb8d43ce276cbcc951230a2127e98

Branch pushed to git repo; I updated commit sha1. New commits:

5ed4717update cysignals to 1.11.1

comment:17 Changed 9 months ago by gh-kliem

Next time I'll hopefully remember to first try the tarball in sage.

comment:18 Changed 9 months ago by gh-kliem

  • Status changed from new to needs_review

comment:19 Changed 9 months ago by dimpase

  • Cc mjo added

it affects sufficiently up to date Gentoo, as well.

comment:20 Changed 9 months ago by mkoeppe

  • Reviewers set to Matthias Koeppe
  • Status changed from needs_review to positive_review

Fixes the build on fedora-35.

comment:21 Changed 9 months ago by gh-kliem

Thank you.

comment:22 Changed 9 months ago by enriqueartal

Thanks for your work!

comment:23 Changed 8 months ago by gh-mbombar

Hi, I am trying to build sage on fedora-35. Cherry-picking the commits doesn't seem to be sufficient. More specifically if I cherry-pick, then while building sage, it tries to download cysignals-1.11.1 from the mirrors, but they don't have it, quite obviously.

What do I need to do to tell sage to use this fix ?

comment:24 Changed 8 months ago by enriqueartal

./configure --without-system-python3 --enable-download-from-upstream-url and ./configure --enable-download-from-upstream-url worked for me on fedora-35. The git branch #30767 contains everything needed to build in fedora-35 (and some more tickets).

comment:25 Changed 8 months ago by gh-mbombar

Ah yes indeed it works thanks. I didn't know about this option --enable-download-from-upstream-url.

comment:26 Changed 8 months ago by gh-kliem

You can also just manually download the package by the url in checksums.ini into the folder upstream.

Thanks for verifying.

comment:27 Changed 8 months ago by vbraun

  • Status changed from positive_review to needs_work

The cypari testsuite segfaults

# make SAGE_CHECK=yes cypari
[...]
[cypari-2.1.2] Running the test suite for cypari-2.1.2...
[cypari-2.1.2] ulimit -s 8192; python3 -u tests/rundoctest.py
[cypari-2.1.2] ================================================================================
[cypari-2.1.2] Testing cypari2.closure
[cypari-2.1.2] ================================================================================
[cypari-2.1.2] Testing cypari2.convert
[cypari-2.1.2] ------------------------------------------------------------------------
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/python3.9/site-packages/cysignals/signals.cpython-39-x86_64-linux-gnu.so(+0x6c28)[0x7fa3f9db9c28]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/python3.9/site-packages/cysignals/signals.cpython-39-x86_64-linux-gnu.so(+0x6e08)[0x7fa3f9db9e08]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/python3.9/site-packages/cysignals/signals.cpython-39-x86_64-linux-gnu.so(+0x9153)[0x7fa3f9dbc153]
[cypari-2.1.2] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7fa400109390]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/python3.9/site-packages/cypari2/convert.cpython-39-x86_64-linux-gnu.so(+0x8e78)[0x7fa3f9787e78]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/python3.9/site-packages/cypari2/convert.cpython-39-x86_64-linux-gnu.so(+0x96ad)[0x7fa3f97886ad]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/python3.9/site-packages/cypari2/convert.cpython-39-x86_64-linux-gnu.so(+0x9a4d)[0x7fa3f9788a4d]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/python3.9/site-packages/cypari2/convert.cpython-39-x86_64-linux-gnu.so(+0x9ab4)[0x7fa3f9788ab4]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyObject_MakeTpCall+0x8a)[0x7fa4003bf90a]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x742c)[0x7fa400384d7c]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x16e063)[0x7fa400483063]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyEval_EvalCodeWithName+0x52)[0x7fa400483282]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(PyEval_EvalCodeEx+0x3e)[0x7fa4004832ce]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(PyEval_EvalCode+0x1b)[0x7fa4004832fb]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x168a09)[0x7fa40047da09]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0xe54d1)[0x7fa4003fa4d1]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x5f4a)[0x7fa40038389a]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x679e8)[0x7fa40037c9e8]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x5eaf)[0x7fa4003837ff]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x16e063)[0x7fa400483063]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyFunction_Vectorcall+0xbd)[0x7fa4003bf6fd]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x5eaf)[0x7fa4003837ff]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x16e063)[0x7fa400483063]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyFunction_Vectorcall+0xbd)[0x7fa4003bf6fd]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyEval_EvalFrameDefault+0x686f)[0x7fa4003841bf]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x16e063)[0x7fa400483063]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(_PyEval_EvalCodeWithName+0x52)[0x7fa400483282]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(PyEval_EvalCodeEx+0x3e)[0x7fa4004832ce]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(PyEval_EvalCode+0x1b)[0x7fa4004832fb]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x1a59e9)[0x7fa4004ba9e9]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x1a5ac6)[0x7fa4004baac6]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(+0x1a85ef)[0x7fa4004bd5ef]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(PyRun_SimpleFileExFlags+0x12c)[0x7fa4004bd78c]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(Py_RunMain+0x748)[0x7fa4004d85b8]
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/lib/libpython3.9.so.1.0(Py_BytesMain+0x39)[0x7fa4004d89e9]
[cypari-2.1.2] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7fa3ffd4e830]
[cypari-2.1.2] python3(_start+0x29)[0x400749]
[cypari-2.1.2] ------------------------------------------------------------------------
[cypari-2.1.2] Attaching gdb to process id 6612.
[cypari-2.1.2] GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
[cypari-2.1.2] Copyright (C) 2016 Free Software Foundation, Inc.
[cypari-2.1.2] License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
[cypari-2.1.2] This is free software: you are free to change and redistribute it.
[cypari-2.1.2] There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
[cypari-2.1.2] and "show warranty" for details.
[cypari-2.1.2] This GDB was configured as "x86_64-linux-gnu".
[cypari-2.1.2] Type "show configuration" for configuration details.
[cypari-2.1.2] For bug reporting instructions, please see:
[cypari-2.1.2] <http://www.gnu.org/software/gdb/bugs/>.
[cypari-2.1.2] Find the GDB manual and other documentation resources online at:
[cypari-2.1.2] <http://www.gnu.org/software/gdb/documentation/>.
[cypari-2.1.2] For help, type "help".
[cypari-2.1.2] Type "apropos word" to search for commands related to "word".
[cypari-2.1.2] done.
[cypari-2.1.2] [Thread debugging using libthread_db enabled]
[cypari-2.1.2] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] done.
[cypari-2.1.2] 0x00007fa400108f7b in __waitpid (pid=6628, stat_loc=stat_loc@entry=0x0, options=options@entry=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
[cypari-2.1.2] 
[cypari-2.1.2] Stack backtrace
[cypari-2.1.2] ---------------
[cypari-2.1.2]         resultvar = 18446744073709551104
[cypari-2.1.2]         sc_cancel_oldtype = 0
[cypari-2.1.2] #1  0x00007fa3f9db9d03 in print_enhanced_backtrace () at build/src/cysignals/implementation.c:586
[cypari-2.1.2]         parent_pid = 6612
[cypari-2.1.2]         pid = <optimized out>
[cypari-2.1.2] #2  0x00007fa3f9db9e45 in sigdie (sig=sig@entry=11, s=s@entry=0x7fa3f9dc2408 "Unhandled SIGSEGV: A segmentation fault occurred.")
[cypari-2.1.2]     at build/src/cysignals/implementation.c:612
[cypari-2.1.2] No locals.
[cypari-2.1.2] #3  0x00007fa3f9dbc153 in sigdie_for_sig (inside=0, sig=11) at build/src/cysignals/implementation.c:179
[cypari-2.1.2] No locals.
[cypari-2.1.2] #4  cysigs_signal_handler (sig=11) at build/src/cysignals/implementation.c:278
[cypari-2.1.2]         inside = <optimized out>
[cypari-2.1.2] #5  <signal handler called>
[cypari-2.1.2] No locals.
[cypari-2.1.2] #6  0x00007fa3f9787e78 in __pyx_f_7cypari2_7convert_gtoi (__pyx_v_g0=<optimized out>) at cypari2/convert.c:2922
[cypari-2.1.2]         __pyx_tstate = <optimized out>
[cypari-2.1.2]         __pyx_v_g = <optimized out>
[cypari-2.1.2]         __pyx_v_s = 0x0
[cypari-2.1.2]         __pyx_r = <optimized out>
[cypari-2.1.2]         __pyx_t_1 = <optimized out>
[cypari-2.1.2]         __pyx_t_2 = 0x7fa400836400 <_Py_NoneStruct>
[cypari-2.1.2]         __pyx_t_3 = 0x0
[cypari-2.1.2]         __pyx_t_4 = 0x0
[cypari-2.1.2]         __pyx_t_5 = 0
[cypari-2.1.2]         __pyx_t_6 = 0x0
[cypari-2.1.2]         __pyx_t_7 = 0x0
[cypari-2.1.2]         __pyx_t_8 = 0x0
[cypari-2.1.2]         __pyx_t_9 = 0x0
[cypari-2.1.2]         __pyx_t_10 = 0x0
[cypari-2.1.2]         __pyx_lineno = 395
[cypari-2.1.2]         __pyx_filename = 0x7fa3f978b469 "cypari2/convert.pyx"
[cypari-2.1.2]         __pyx_clineno = 2769
[cypari-2.1.2] #7  0x00007fa3f97886ad in __pyx_f_7cypari2_7convert_PyInt_FromGEN (__pyx_v_g=<optimized out>) at cypari2/convert.c:2426
[cypari-2.1.2]         __pyx_v_res = 0x0
[cypari-2.1.2]         __pyx_r = 0x0
[cypari-2.1.2]         __pyx_t_1 = <optimized out>
[cypari-2.1.2]         __pyx_t_2 = <optimized out>
[cypari-2.1.2]         __pyx_t_3 = <optimized out>
[cypari-2.1.2]         __pyx_t_4 = <optimized out>
[cypari-2.1.2]         __pyx_t_5 = 0x0
[cypari-2.1.2]         __pyx_t_6 = 0x0
[cypari-2.1.2]         __pyx_t_7 = 0x0
[cypari-2.1.2]         __pyx_t_8 = 0x0
[cypari-2.1.2]         __pyx_t_9 = 0x0
[cypari-2.1.2]         __pyx_t_10 = 0x0
[cypari-2.1.2]         __pyx_t_11 = <optimized out>
[cypari-2.1.2]         __pyx_t_12 = 0x0
[cypari-2.1.2]         __pyx_lineno = 0
[cypari-2.1.2]         __pyx_filename = 0x0
[cypari-2.1.2]         __pyx_clineno = 0
[...]
[cypari-2.1.2] #64 0x00007fa3ffd4e830 in __libc_start_main (main=0x400710 <main>, argc=3, argv=0x7ffcfe9f2258, init=<optimized out>, fini=<optimized out>, 
[cypari-2.1.2]     rtld_fini=<optimized out>, stack_end=0x7ffcfe9f2248) at ../csu/libc-start.c:291
[cypari-2.1.2]         result = <optimized out>
[cypari-2.1.2]         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, -5420855774822333260, 4196128, 140724580328016, 0, 0, 5421416798003594420, 5441121637594760372}, 
[cypari-2.1.2]               mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x7fa400aa2168}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
[cypari-2.1.2]         not_first_call = <optimized out>
[cypari-2.1.2] #65 0x0000000000400749 in _start ()
[cypari-2.1.2] No symbol table info available.
[cypari-2.1.2] 29	../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
[cypari-2.1.2] Traceback (most recent call last):
[cypari-2.1.2]   File "<string>", line 25, in <module>
[cypari-2.1.2] ImportError: No module named 'Cython'
[cypari-2.1.2] Error while executing Python code.
[cypari-2.1.2] 
[cypari-2.1.2] Your system GDB uses an incompatible version of Python.
[cypari-2.1.2] Install gdb for enhanced tracebacks.
[cypari-2.1.2] ------------------------------------------------------------------------
[cypari-2.1.2] Unhandled SIGSEGV: A segmentation fault occurred.
[cypari-2.1.2] This probably occurred because a *compiled* module has a bug
[cypari-2.1.2] in it and is not properly wrapped with sig_on(), sig_off().
[cypari-2.1.2] Python will now terminate.
[cypari-2.1.2] ------------------------------------------------------------------------
[cypari-2.1.2] Segmentation fault (core dumped)
[cypari-2.1.2] Makefile:16: recipe for target 'check' failed
[cypari-2.1.2] make[3]: *** [check] Error 139
[cypari-2.1.2] 
[cypari-2.1.2] real	0m1.749s
[cypari-2.1.2] user	0m1.344s
[cypari-2.1.2] sys	0m0.244s
[cypari-2.1.2] ************************************************************************
[cypari-2.1.2] Error testing package cypari-2.1.2
[cypari-2.1.2] ************************************************************************
[cypari-2.1.2] Please email sage-devel (http://groups.google.com/group/sage-devel)
[cypari-2.1.2] explaining the problem and including the log files
[cypari-2.1.2]   /var/lib/buildbot/slave/sage_git/build/logs/pkgs/cypari-2.1.2.log
[cypari-2.1.2] and
[cypari-2.1.2]   /var/lib/buildbot/slave/sage_git/build/config.log
[cypari-2.1.2] Describe your computer, operating system, etc.
[cypari-2.1.2] If you want to try to fix the problem yourself, *don't* just cd to
[cypari-2.1.2] /var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/var/tmp/sage/build/cypari-2.1.2 and type 'make check' or whatever is appropriate.
[cypari-2.1.2] Instead, the following commands setup all environment variables
[cypari-2.1.2] correctly and load a subshell for you to debug the error:
[cypari-2.1.2]   (cd '/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/var/tmp/sage/build/cypari-2.1.2' && '/var/lib/buildbot/slave/sage_git/build/sage' --buildsh)
[cypari-2.1.2] When you are done debugging, you can type "exit" to leave the subshell.
[cypari-2.1.2] ************************************************************************
Makefile:2692: recipe for target 'cypari-SAGE_VENV-no-deps' failed
make[2]: *** [cypari-SAGE_VENV-no-deps] Error 1
Makefile:2692: recipe for target '/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/var/lib/sage/installed/cypari-2.1.2' failed
make[1]: *** [/var/lib/buildbot/slave/sage_git/build/local/var/lib/sage/venv-python3.9.7/var/lib/sage/installed/cypari-2.1.2] Error 2
make[1]: Leaving directory '/var/lib/buildbot/slave/sage_git/build/build/make'

comment:28 Changed 8 months ago by gh-kliem

What might be a problem the assembly instructions for sigjmp

https://github.com/sagemath/cysignals/commit/9e999920e45d3ce13b2e60e06b412868d36f84af

At the release of 10.3 they were merged into master, but not into 10.x.0. When I started with this release of cysignals, I wasn't aware of this mess.

comment:29 Changed 8 months ago by mkoeppe

What's the situation here? Is there a new cysignals release already?

comment:30 Changed 8 months ago by gh-kliem

  • Branch changed from public/32576 to public/32576-new
  • Commit changed from 5ed4717e7d8bb8d43ce276cbcc951230a2127e98 to 06064dbbe3863548a91f3aebd92fae7d570527cf
  • Status changed from needs_work to needs_review

New commits:

06064dbupdate cysignals to 1.11.2

comment:31 Changed 8 months ago by git

  • Commit changed from 06064dbbe3863548a91f3aebd92fae7d570527cf to 8c5551ae5b7df2ddd78eba20607dcd06a6664261

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

8c5551aupdate cysignals to 1.11.2

comment:33 Changed 8 months ago by enriqueartal

Running tests in Fedora 35 on this branch merged with develop and #33013, most of the failures are gone. The timed out failure is also gone if applied directly.

sage -t --warn-long 36.2 --random-seed=242830779982902445975789228198447399241 src/sage/schemes/curves/affine_curve.py  # Timed out
sage -t --warn-long 36.2 --random-seed=242830779982902445975789228198447399241 src/sage/env.py  # 1 doctest failed
sage -t --warn-long 36.2 --random-seed=242830779982902445975789228198447399241 src/sage/interfaces/singular.py  # 3 doctests failed
sage -t --warn-long 36.2 --random-seed=242830779982902445975789228198447399241 src/sage/libs/giac/__init__.py  # 7 doctests failed

Problems as in comment:4 do not appear.

comment:34 Changed 8 months ago by enriqueartal

By some reason, I built it with python3.9; rebuilt with python3.10 I got similar results as in comment:4

comment:35 Changed 8 months ago by mkoeppe

  • Status changed from needs_review to positive_review

Tests on GH Actions look OK.

comment:36 Changed 8 months ago by gh-kliem

Thanks again.

comment:37 Changed 8 months ago by vbraun

  • Branch changed from public/32576-new to 8c5551ae5b7df2ddd78eba20607dcd06a6664261
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.