#22101 closed defect (fixed)
Upgrade to giac-1.2.3.25
Reported by: | vbraun | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | sage-7.6 |
Component: | packages: standard | Keywords: | sdl |
Cc: | frederichan, fbissey, jpflori, tmonteil | Merged in: | |
Authors: | Frederic Han | Reviewers: | Thierry Monteil |
Report Upstream: | N/A | Work issues: | config.guess, patches fuzz |
Branch: | 437c2ce (Commits, GitHub, GitLab) | Commit: | |
Dependencies: | Stopgaps: |
Description (last modified by )
This is on 32-bit:
2424[giac-1.2.2.103] *** bug in PARI/GP (Segmentation Fault), please report. 2425[giac-1.2.2.103] 79,1202c79,88 [...] 3549[giac-1.2.2.103] < 3550[giac-1.2.2.103] --- 3551[giac-1.2.2.103] > [[-1]], 3552[giac-1.2.2.103] > [[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]], 3553[giac-1.2.2.103] > [matrix[[0,1,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]],matrix[[0,0,0,1,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]],matrix[[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]],matrix[[1,0,0,0,0],[0,1,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]],matrix[[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[0,1,0,0,0],[0,0,0,0,0],[0,0,0,0,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,1,0],[0,0,0,0,0],[0,0,0,0,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,1],[0,0,0,0,0],[0,0,0,0,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[1,0,0,0,0],[0,1,0,0,0],[0,0,0,0,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,1,0,0,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,1,0]],matrix[[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,0],[0,0,0,0,1]]], 3554[giac-1.2.2.103] > [1,1,1,1,1,1,1,1,1,1,1,1,1], 3555[giac-1.2.2.103] > matrix[[1,1,1,1,1],[0,1,0,1,0],[1,1,1,1,1],[0,1,0,1,0],[0,1,0,1,1]], 3556[giac-1.2.2.103] > poly1[2,0,a+3], 3557[giac-1.2.2.103] > [1,1,0,0,0,0,1], 3558[giac-1.2.2.103] > [0], 3559[giac-1.2.2.103] > [1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0], 3560[giac-1.2.2.103] > [] 3561[giac-1.2.2.103] FAIL: chk_fhan1 [...] 5481[giac-1.2.2.103] ==================== 5482[giac-1.2.2.103] 1 of 30 tests failed 5483[giac-1.2.2.103] ====================
Updating to a newer upstream source to fix this problem. The tarball built with spkg-src to put in upstream is availble at:
http://webusers.imj-prg.fr/~frederic.han/xcas/sage/giac-1.2.3.25.tar.bz2 use --disable-png in configure to help #22159
Change History (46)
comment:1 Changed 5 years ago by
- Cc frederichan added
comment:2 Changed 5 years ago by
comment:3 Changed 5 years ago by
- Branch set to u/frederichan/giac123
- Commit set to a1ee07ae43a4a8ebc70dcf61f9cae52a46e5b0f4
- Description modified (diff)
comment:4 Changed 5 years ago by
- Status changed from new to needs_review
comment:5 Changed 5 years ago by
I might review this (which is mostly testing on various systems). Feel free to remind me if I haven't done that in the next 10 days.
comment:6 Changed 5 years ago by
I first need to look at #22159, which also involves giac.
comment:7 Changed 5 years ago by
- Commit changed from a1ee07ae43a4a8ebc70dcf61f9cae52a46e5b0f4 to ff8e4ec07cdd839197d8c8bb41f98df4f1d449df
Branch pushed to git repo; I updated commit sha1. New commits:
5b1d472 | Merge branch 'develop' of git://trac.sagemath.org/sage into u/frederichan/giac123
|
072d7f3 | Merge branch 'develop' of git://trac.sagemath.org/sage into u/frederichan/giac123
|
ff8e4ec | updtate giac to 1.2.3.25 and configure with --disable-png
|
comment:8 Changed 5 years ago by
- Description modified (diff)
- Status changed from needs_review to needs_work
comment:9 Changed 5 years ago by
- Status changed from needs_work to needs_review
comment:10 Changed 5 years ago by
- Milestone changed from sage-7.5 to sage-7.6
- Summary changed from giac testsuite fails to Upgrade to giac-1.2.3.25
comment:11 Changed 5 years ago by
The upgrade looks simple enough. Could someone test it on a 32 bit system? I fear we also have problems on non-x86_64 systems... See #22280
comment:12 Changed 5 years ago by
I would punt it to the buildbots, where there is a 32 bit machine IIRC, by setting a positive review.
comment:13 follow-up: ↓ 15 Changed 5 years ago by
- Status changed from needs_review to needs_work
giac ships with an ancient version of config.guess
(timestamp: 2008-01-23, not kidding!).
Please apply a fix similar to #19714 such that it will at least try to build on recent systems.
comment:14 follow-up: ↓ 21 Changed 5 years ago by
Something else: in spkg-src
, where does the download link http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz
come from? I don't see that documented anywhere on the official giac site. The only links to sources on
https://www-fourier.ujf-grenoble.fr/~parisse/giac_compile.html
that I can find point to
https://www-fourier.ujf-grenoble.fr/~parisse/giac/giac_stable.tgz
and
https://www-fourier.ujf-grenoble.fr/~parisse/giac/giac_unstable.tgz
(which strangely do NOT contain version numbers!)
Am I missing something?
comment:15 in reply to: ↑ 13 Changed 5 years ago by
Replying to jdemeyer:
giac ships with an ancient version of
config.guess
(timestamp: 2008-01-23, not kidding!).
Note that there are 2 versions of config.guess
in the sources:
-rwxr-xr-x 1 jdemeyer jdemeyer 44826 Feb 7 11:25 config.guess -rwxr-xr-x 1 jdemeyer jdemeyer 44892 Oct 7 2008 config/config.guess
The one which is used is config/config.guess
.
comment:16 follow-up: ↓ 17 Changed 5 years ago by
- Cc fbissey jpflori added
With an updated config.guess
, this builds on ppc64le but it gives a Segmentation fault when computing 1+1
:
$ giac // Maximum number of parallel threads 192 // Giac share root-directory:/home/jdemeyer/sage-git/local/share/giac/ // Giac share root-directory:/home/jdemeyer/sage-git/local/share/giac/ // Giac share root-directory:/home/jdemeyer/sage-git/local/share/giac/ Help file /home/jdemeyer/sage-git/local/share/giac/doc/en/aide_cas not found Added 26 synonyms Welcome to giac readline interface (c) 2001,2016 B. Parisse & others Homepage http://www-fourier.ujf-grenoble.fr/~parisse/giac.html Released under the GPL license 3.0 or above See http://www.gnu.org for license details May contain BSD licensed software parts (lapack, atlas, tinymt) ------------------------------------------------- Press CTRL and D simultaneously to finish session Type ?commandname for help 0>> 1+1 Segmentation fault
comment:17 in reply to: ↑ 16 ; follow-up: ↓ 18 Changed 5 years ago by
Replying to jdemeyer:
With an updated
config.guess
, this builds on ppc64le but it gives a Segmentation fault when computing1+1
:$ giac // Maximum number of parallel threads 192 // Giac share root-directory:/home/jdemeyer/sage-git/local/share/giac/ // Giac share root-directory:/home/jdemeyer/sage-git/local/share/giac/ // Giac share root-directory:/home/jdemeyer/sage-git/local/share/giac/ Help file /home/jdemeyer/sage-git/local/share/giac/doc/en/aide_cas not found Added 26 synonyms Welcome to giac readline interface (c) 2001,2016 B. Parisse & others Homepage http://www-fourier.ujf-grenoble.fr/~parisse/giac.html Released under the GPL license 3.0 or above See http://www.gnu.org for license details May contain BSD licensed software parts (lapack, atlas, tinymt) ------------------------------------------------- Press CTRL and D simultaneously to finish session Type ?commandname for help 0>> 1+1 Segmentation fault
I don't get that on power7
// Maximum number of parallel threads 64 // Giac share root-directory:/shared/work_no_backup/ppc64-prefix/usr/share/giac/ // Giac share root-directory:/shared/work_no_backup/ppc64-prefix/usr/share/giac/ // Unable to find keyword file /shared/work_no_backup/ppc64-prefix/usr/share/giac/doc/en/keywords // Giac share root-directory:/shared/work_no_backup/ppc64-prefix/usr/share/giac/ Help file /shared/work_no_backup/ppc64-prefix/usr/share/giac/doc/en/aide_cas not found Added 0 synonyms Welcome to giac readline interface (c) 2001,2016 B. Parisse & others Homepage http://www-fourier.ujf-grenoble.fr/~parisse/giac.html Released under the GPL license 3.0 or above See http://www.gnu.org for license details May contain BSD licensed software parts (lapack, atlas, tinymt) ------------------------------------------------- Press CTRL and D simultaneously to finish session Type ?commandname for help 0>> 1+1 NULL(1,1) // Time 0
Does the test suite passes for you (#22280)?
comment:18 in reply to: ↑ 17 ; follow-up: ↓ 19 Changed 5 years ago by
comment:19 in reply to: ↑ 18 ; follow-up: ↓ 20 Changed 5 years ago by
Replying to jdemeyer:
Replying to fbissey:
Does the test suite passes for you (#22280)?
Given that even
1+1
segfaults, I did not state the obvious fact that the test suite also fails miserably.
Yes, completely silly of me - even if I was juggling several things at the time of the remark. Do you think it is related to pari
or something different? Have you been able to narrow it down from a backtrace?
comment:20 in reply to: ↑ 19 ; follow-up: ↓ 25 Changed 5 years ago by
Replying to fbissey:
Do you think it is related to
pari
or something different? Have you been able to narrow it down from a backtrace?
I have not investigated yet.
comment:21 in reply to: ↑ 14 ; follow-up: ↓ 22 Changed 5 years ago by
Replying to jdemeyer:
Something else: in
spkg-src
, where does the download linkhttp://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac$SOURCEORIG.tar.gz
come from? I don't see that documented anywhere on the official giac site. The only links to sources on https://www-fourier.ujf-grenoble.fr/~parisse/giac_compile.html that I can find point to https://www-fourier.ujf-grenoble.fr/~parisse/giac/giac_stable.tgz and https://www-fourier.ujf-grenoble.fr/~parisse/giac/giac_unstable.tgz (which strangely do NOT contain version numbers!)Am I missing something?
I am following the REAME file in following: http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source it says that https://www-fourier.ujf-grenoble.fr/~parisse/giac/giac_stable.tgz is a link to the latest version in the debian directory. So for a pakcage it is better to point directly to an explicit number.
comment:22 in reply to: ↑ 21 ; follow-up: ↓ 23 Changed 5 years ago by
Replying to frederichan:
I am following the REAME file in following: http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source
My question still stands: how did you find this directory? I don't see that documented anywhere on the official giac site.
comment:23 in reply to: ↑ 22 Changed 5 years ago by
Replying to jdemeyer:
Replying to frederichan:
I am following the REAME file in following: http://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source
My question still stands: how did you find this directory? I don't see that documented anywhere on the official giac site.
It's not -I cannot find it either. I cannot even remember how I found about that directory a few months ago. There are a few routes from the info on the web-site but it is all indirect and require a bit of exploration. For example if you go to https://www-fourier.ujf-grenoble.fr/~parisse/giac/ where it says the latest sources are located you can find the README
file mentioned by Frederic.
The other way is to explore from the address indicated as the source of the debian repo.
Finally Han Frederic updated the address in SPKG.txt
about 2 years ago
https://github.com/sagemath/sage/commit/43c68cc1cf32f9e93fdf90c4f4599f636a2aec70
That's probably where I got it from. Someone could ask Han how he knew but I suspect that's because he has direct contact with the author.
comment:24 Changed 5 years ago by
All this started from the very long discussion in #12375. From my comment 126 I guess that it ended with some direct mail of parisse to me that he started doing this. I don't remember if the webpage was more explicit at this time. I have asked to enhance the giac webpage there: http://xcas.e.ujf-grenoble.fr/XCAS/viewtopic.php?f=19&t=1784
comment:25 in reply to: ↑ 20 Changed 5 years ago by
Replying to fbissey: Do you think it is related to
pari
or something different? Have you been able to narrow it down from a backtrace?
It doesn't look related to PARI, but it might be related to threading:
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x3fffb459f180 (LWP 157861)] 0x00003fffb7b9f618 in giac::gen::in_eval (this=0x3fffb459e768, level=25, evaled=..., contextptr=0x3fffffffda40) at gen.cc:2105 2105 evaled=(*Sommet.ptr())(evaled,contextptr); (gdb) bt #0 0x00003fffb7b9f618 in giac::gen::in_eval (this=0x3fffb459e768, level=25, evaled=..., contextptr=0x3fffffffda40) at gen.cc:2105 #1 0x00003fffb7b9ce74 in giac::gen::eval (this=0x3fffb459e768, level=25, contextptr=0x3fffffffda40) at gen.cc:1893 #2 0x00003fffb789f578 in giac::protecteval (g=..., level=25, contextptr=0x3fffffffda40) at prog.cc:7001 #3 0x00003fffb767d904 in giac::in_thread_eval (arg=0x1006c618) at global.cc:3467 #4 0x00003fffb5af8070 in start_thread () from /lib/powerpc64le-linux-gnu/libpthread.so.0 #5 0x00003fffb5783230 in clone () from /lib/powerpc64le-linux-gnu/libc.so.6 (gdb) list 2100 evaled=_SYMBptr->feuille; 2101 } 2102 if (is_ifte) 2103 evaled=ifte(evaled,true,contextptr); 2104 else 2105 evaled=(*Sommet.ptr())(evaled,contextptr); 2106 elevel=slevel; 2107 } 2108 else 2109 evaled=_SYMBptr->eval(level,contextptr); (gdb) print Sommet.ptr() $3 = (giac::unary_function_abstract *) 0xb7f7bad8 (gdb) print (*Sommet.ptr()) Cannot access memory at address 0xb7f7bad8
comment:26 Changed 5 years ago by
- Work issues set to config.guess, patches fuzz
Patches should apply without fuzz:
Applying ../patches/nofltk-check.patch patching file check/testgeo patching file check/TP00-sol.cas patching file check/TP00-sol.cas.out1 Hunk #1 succeeded at 66 with fuzz 2. patching file check/TP02-sol.cas patching file check/TP09-sol.cas patching file check/TP19-sol.cas
comment:27 Changed 5 years ago by
- Commit changed from ff8e4ec07cdd839197d8c8bb41f98df4f1d449df to 7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26
Branch pushed to git repo; I updated commit sha1. New commits:
7553a3c | update patches to fix fuzz
|
comment:28 Changed 5 years ago by
I have asked to update config.guess there: http://xcas.e.ujf-grenoble.fr/XCAS/viewtopic.php?f=4&t=1787 As I can see a new config.guess in the unstable tarball I am waiting for the next stable 1.2.3.27
comment:29 Changed 5 years ago by
- Cc tmonteil added
comment:30 Changed 5 years ago by
- Commit changed from 7553a3c8dfa7bcec07241a07e6a4e7dcf5bb4f26 to 437c2ce2ce56df54f7e8b7589517fa480a936ba7
Branch pushed to git repo; I updated commit sha1. New commits:
437c2ce | add a patch to update giac's config.guess
|
comment:31 Changed 5 years ago by
I have built a patch with a recent config.guess so that we don't need to wait for the latest stable version of giac.
comment:32 Changed 5 years ago by
Great, does it needs review ?
comment:33 Changed 5 years ago by
Up to now I have only tried the built and the giac testsuite with sage 7.6beta2. I was building new sage before putting the need review tag but if you have something ready to start the tests I don't plan to change the branch anymore.
comment:34 Changed 5 years ago by
- Reviewers set to Thierry Monteil
OK. Compilation and self-tests pass with this branch merged to 7.6.rc0
on 32bit virtual machine for giac
and giacpy_sage
. make ptestling
is on the way.
comment:35 Changed 5 years ago by
Does make ptestlong
pass on x86_64
?
comment:36 follow-up: ↓ 38 Changed 5 years ago by
Why was libpng
dropped from the dependency list? configure
looks for it and for consistency's sake we'd rather it be sage's one rather the system one - or none at all - depending on the system. Unless you tell me it is not actually used.
comment:37 Changed 5 years ago by
make ptestlong
passes on i386
(with giacpy_sage
i got the bug addressed in #21884).
comment:38 in reply to: ↑ 36 ; follow-up: ↓ 39 Changed 5 years ago by
Replying to fbissey:
Why was
libpng
dropped from the dependency list?configure
looks for it and for consistency's sake we'd rather it be sage's one rather the system one - or none at all - depending on the system. Unless you tell me it is not actually used.
Indeed I have added in spkg-install:
--disable-png
comment:39 in reply to: ↑ 38 Changed 5 years ago by
Replying to frederichan:
Replying to fbissey:
Why was
libpng
dropped from the dependency list?configure
looks for it and for consistency's sake we'd rather it be sage's one rather the system one - or none at all - depending on the system. Unless you tell me it is not actually used.Indeed I have added in spkg-install:
--disable-png
Compilation of giac works for me without the --disable-png
option. Isn't it preferable to do the libpng stuff in #22159 (where there is an issue that might be solved in a different way), and focus here only on package upgrade and config.guess
?
comment:40 Changed 5 years ago by
I think people had issue because of conflicting png version, so the easiest solution is to disable png completely first and devise a proper way to only use Sage provided png version in another ticket.
Otherwise if only this ticket gets included we'll end up with a broken solution in some cases.
comment:41 Changed 5 years ago by
(Not to mention that giac only works on x86 and x86_64...)
comment:42 Changed 5 years ago by
OK. Did someone check this on x86_64
? If yes, let us positive review so that it can enter the next release.
comment:43 Changed 5 years ago by
So on x86_64 with sage 7.6rc1 + giacpy_sage I have tested this branch with the branch of #21884 rebased then ptestlong passed.
comment:44 Changed 5 years ago by
- Priority changed from major to blocker
- Status changed from needs_work to positive_review
It is not a complete fix for #22280 but at lease it fixes it for the i386
arch.
comment:45 Changed 5 years ago by
- Branch changed from u/frederichan/giac123 to 437c2ce2ce56df54f7e8b7589517fa480a936ba7
- Resolution set to fixed
- Status changed from positive_review to closed
comment:46 Changed 3 years ago by
- Commit 437c2ce2ce56df54f7e8b7589517fa480a936ba7 deleted
- Keywords sdl added
(Feel free to add me in CC for tracs about giac or giacpy)
I was able to reproduce the problem with giac 1.2.2.103 on a debian 8.6 i686. But updating to latest (stable )upstream release seems to fix the problem.
So I will build a branch like this.