-
-
Notifications
You must be signed in to change notification settings - Fork 482
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
Upgrade: GAP 4.12 #34391
Comments
comment:2
Having upgraded downstream, here is a list of issues:
|
Branch: u/arojas/upgrade__gap_4_12 |
comment:4
The branch fixes (2), (3), (4) and (7). For (5), we need to decide whether we want to follow the new behavior in GAP, or reimplement the old behavior in some other way. For (6), some tests need to be updated or removed. New commits:
|
Commit: |
Author: Antonio Rojas, ... |
comment:6
regarding (5), I don't think we need to reimplement, as How about (1) - should |
comment:7
Replying to @dimpase:
I think that is fine for gap packages but not for downstream packages. I guess it is a stop gap, but a standard way of setting the flags should be provided. A .pc file or at least a config utility. You shouldn't have to search for settings in an obscure internal file. This is a genuine upstream defect in my opinion. |
comment:8
By the way, So this looks that our build somehow manages to avoid running |
comment:11
I am seeing a bunch of segfaults on aarch64 with GAP 4.12.0 and this branch. The following patch, which copies the output string before calling diff --git a/src/sage/libs/gap/element.pxd b/src/sage/libs/gap/element.pxd
index a1bf8118d4..9a28de87ca 100644
--- a/src/sage/libs/gap/element.pxd
+++ b/src/sage/libs/gap/element.pxd
@@ -29,9 +29,9 @@ cdef GapElement_Boolean make_GapElement_Boolean(parent, Obj obj)
cdef GapElement_Function make_GapElement_Function(parent, Obj obj)
cdef GapElement_Permutation make_GapElement_Permutation(parent, Obj obj)
-cdef char *capture_stdout(Obj, Obj)
-cdef char *gap_element_str(Obj)
-cdef char *gap_element_repr(Obj)
+cdef str capture_stdout(Obj, Obj)
+cdef str gap_element_str(Obj)
+cdef str gap_element_repr(Obj)
cdef class GapElement(RingElement):
diff --git a/src/sage/libs/gap/element.pyx b/src/sage/libs/gap/element.pyx
index e2681165a2..482f74bbcf 100644
--- a/src/sage/libs/gap/element.pyx
+++ b/src/sage/libs/gap/element.pyx
@@ -120,7 +120,7 @@ cdef Obj make_gap_matrix(sage_list, gap_ring) except NULL:
return l.value
-cdef char *capture_stdout(Obj func, Obj obj):
+cdef str capture_stdout(Obj func, Obj obj):
"""
Call a single-argument GAP function ``func`` with the argument ``obj``
and return the stdout from that function call.
@@ -152,12 +152,12 @@ cdef char *capture_stdout(Obj func, Obj obj):
CALL_1ARGS(func, obj)
CloseOutput(&output)
- return CSTR_STRING(s)
+ return char_to_str(CSTR_STRING(s))
finally:
GAP_Leave()
-cdef char *gap_element_repr(Obj obj):
+cdef str gap_element_repr(Obj obj):
"""
Implement ``repr()`` of ``GapElement``s using the ``ViewObj()`` function,
which is by default closest to what you get when displaying an object in
@@ -169,7 +169,7 @@ cdef char *gap_element_repr(Obj obj):
return capture_stdout(func, obj)
-cdef char *gap_element_str(Obj obj):
+cdef str gap_element_str(Obj obj):
"""
Implement ``str()`` of ``GapElement``s using the ``Print()`` function.
@@ -761,7 +761,7 @@ cdef class GapElement(RingElement):
if self.value == NULL:
return 'NULL'
- s = char_to_str(gap_element_str(self.value))
+ s = gap_element_str(self.value)
return s.strip()
def _repr_(self):
@@ -783,7 +783,7 @@ cdef class GapElement(RingElement):
if self.value == NULL:
return 'NULL'
- s = char_to_str(gap_element_repr(self.value))
+ s = gap_element_repr(self.value)
return s.strip()
cpdef _set_compare_by_id(self): |
comment:12
I think the other segfaults happen because As a proof of concept, I applied the above patch but also moved the try/GAP_Enter/finally/GAP_Leave block from |
comment:13
Replying to Mauricio Collares:
Feel free to push your changes, I can only test on x86_64 where I haven't seen any such issue so far. |
comment:15
I have tested the last commmit (a6c293d) using system gap 4.12.0, on x86_64, x86_64-musl and i686 (void linux) with all long tests passing. I don't have aarch64 to test. |
comment:16
this branch should bump up the version of GAP, etc |
comment:17
diff --git a/build/pkgs/gap/checksums.ini b/build/pkgs/gap/checksums.ini
index 066e943308..7f083710ca 100644
--- a/build/pkgs/gap/checksums.ini
+++ b/build/pkgs/gap/checksums.ini
@@ -1,5 +1,5 @@
tarball=gap-VERSION.tar.gz
-sha1=4ecdd281b8f430282fb9b12690b06e0a26abde10
-md5=85dc9e459d5b6c66fcad9f468afd3e3e
-cksum=1351843158
+sha1=b8b2d803c43dc6ea4413b5a378689a2087c3658a
+md5=6772845916c31de880792c7bb1672f81
+cksum=3760719912
upstream_url=https://github.com/gap-system/gap/releases/download/vVERSION/gap-VERSION.tar.gz
diff --git a/build/pkgs/gap/package-version.txt b/build/pkgs/gap/package-version.txt
index d782fca8f6..815588ef14 100644
--- a/build/pkgs/gap/package-version.txt
+++ b/build/pkgs/gap/package-version.txt
@@ -1 +1 @@
-4.11.1
+4.12.0 |
comment:18
We should wait for 4.12.1 which will include a fix for issue (1) and additional fixes for |
comment:19
meanwhile, rebased over the latest beta, and all the fixes for spkg-install needed so far. New commits:
|
Changed branch from u/arojas/upgrade__gap_4_12 to u/dimpase/upgrade__gap_4_12 |
comment:20
running tests on Apple M1 (aka aarch64). |
comment:21
I'm getting
what's the fix here? |
comment:22
That's precisely issue (1). Fixed upstream in gap-system/gap@276eb56 |
comment:23
OK, one needs to patch GAP, as in https://patch-diff.githubusercontent.com/raw/gap-system/gap/pull/5077.diff |
comment:117
François - a positive review on your behalf? |
comment:118
Yes, let's try to move on. |
Changed reviewer from Dima Pasechnik, Antonio Rojas, Mauricio Collares to Dima Pasechnik, Antonio Rojas, Mauricio Collares, François Bissey |
comment:119
I'm getting a lot of timeouts on some buildbots
http://build.sagemath.org/#/builders/48/builds/9/steps/15/logs/stdio |
comment:120
could it be Python 3.11? I never tested this. |
comment:121
I wouldn't think so, at least not in isolation. python 3.11 is my default these days and I have no problems. The only timeout I see is well documented and predates either of python 3.11 and gap 4.12.2 (openblas threading issue). |
comment:122
It's not very likely to help, but #34701 could be worth a try if there are no other leads. |
comment:123
Replying to Volker Braun:
Does this happen with gap_packages installed, or without? Also, are these timeouts reproducible - or it's just a particular bad day? Mind you, I have a slow machine on which I get test timeouts in the past few years. |
comment:124
no gap packages, just a minimal build |
comment:125
I tried reproducing this in a Docker container with Ubuntu 22.04 and python 3.11 (built from source), to no avail, all tests pass. Does buildbot build Python, or use (dodgy) python 3.11.0 from the system? |
comment:126
Volker's log shows Whenever you see MAJOR.MINOR.MICRO, it is the Python built from the SPKG. |
Removed branch from the issue description; it has been replaced by PR #35093 |
I'm not sure if this is solved, or if someone else was able to reproduce this. A wild guess: atlasrep is trying to download something from the network, but you don't have I had this problem at some point (void-linux/void-packages#39876 (comment), void-linux/void-packages#40208 (comment)) and I solved it by patching atlasrep to disable downloading (see atlasrep-dont_use_network_by_default.patch). |
…uld look for libgap.so* ### 📚 Description In short, sometimes there is no `lib**.so` available, but only `lib**.so.*`. This breaks GAP and Singular related things. See #33446 for details. Closes #33446 ### ⌛ Dependencies Depends on #35093 #34391 (GAP update to 4.12.2) URL: #35094 Reported by: Dima Pasechnik Reviewer(s): Matthias Köppe
upgrades our corresponding spkgs: * gap * gap_packages * libsemigroups * Previous upgrades: - #31498: GAP 4.11.1 - #29314: GAP 4.11, libsemigroup 1.0.9 * Upstream: Completely fixed; Fix reported upstream Closes #34391 URL: #35093 Reported by: Dima Pasechnik Reviewer(s): Gonzalo Tornaría, Matthias Köppe
GAP 4.12.1 fixes critical bugs in 4.12.0
GAP 4.12.1 release page
GAP 4.12.0 was released in August 2022.
We should upgrade our corresponding spkgs:
Previous upgrades:
Upstream: Completely fixed; Fix reported upstream
CC: @antonio-rojas @dimpase @slel @tornaria @kiwifb @collares @tscrim
Component: packages: standard
Keywords: spkg, upgrade, gap, libsemigroups
Author: Antonio Rojas, Dima Pasechnik
Reviewer: Dima Pasechnik, Antonio Rojas, Mauricio Collares, François Bissey
Issue created by migration from https://trac.sagemath.org/ticket/34391
The text was updated successfully, but these errors were encountered: