-
-
Notifications
You must be signed in to change notification settings - Fork 528
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
os x 10.6 port -- numerous mysterious errors caused by weird "abort trap" issue #7095
Comments
comment:2
A good example:
|
comment:3
Some of these errors seems to arise from
which gives rise to the "mysterious error" in
and similarly for cosh, tanh and several other hyperbolic functions. But
There's a serious inconsistency here, and clearly a problems with |
comment:4
I was reading this blog post and it mentions that Apple made some massive changes to GCC-4.2.x in XCode: http://dobbscodetalk.com/index.php?option=com_myblog&show=Snow-Leopard-Changes-to-C.html&Itemid=29 In particular, they added closures to C! This page talks about weird issues with the new Xcode and GCC-4.2.x on OS X and Python: http://bugs.python.org/issue6957 Anyway, if this works, we'll be in good shape -- we could just revisit 4.2.x support later as components of Sage stabilize and people iron out the bugs in the huge changes Apple may have made to C. |
comment:5
Major progress -- a lot of problems appear to just "go away" when using GCC-4.0.x! In particular, the above issue with "Abort Trap" goes away. The main problem is that some of the fixes I put in for OS X 10.6 with GCC-4.2.x actually break the 4.0.x build.... anyway, I'm very optimistic for a complete resolution to the problem of building Sage on OS X 10.6 using GCC 4.0.x. |
comment:6
Two things
I was intending updating prereq anyway, after getting some feedback. If nothing else, I can fix #7156 at some point, but that is not an important fix. But this seems a bit more important. Dave |
comment:7
NOTE: Actually, it is only in 32-bit mode that this Abort Trap issue goes away. In 64-bit mode with gcc-4.0.x, the problem remains. Unfortunately a full build in 32-bit mode has 97 files that have failing doctests. In 64-bit mode the one remaining problem above doesn't go away, and we still have tons of failures. So using GCC-4.0.x is no solution at all, unfortunately... not even close. |
comment:8
The |
comment:9
No, the problem isn't CIF, since:
|
comment:10
I wonder about lines 123--124 of local/lib/python/config/Makefile (which have been there since at least 3.1.4):
It seems to be these lines that are giving rise (in 10.6 but not in 10.5) to many warnings of the form
Whether this is causing the problems, I don't know, but it does need to be changed (presumably to 10.4). |
comment:11
Since we still have no clue, I'm targeting this for 4.3. |
comment:12
Given the comment I put on sage-devel about there two quite respectable parties believing gcc 4.3.3 is the most stable gcc, it might be worth trying a build with gcc 4.3.3. Although it will lengthen the build process a bit, I would be tempted to enable all the mpfr tests by default. They have a habbit of finding compiler bugs. Having known of several mpfr test failures, my experience has always been that the test is ok, and mpfr has discovered a bug in other code. In one case it was the Solaris memset() call, but on an several cases it is gcc bugs. Dave |
comment:13
My understanding is that there is no GCC 4.3.3 for OS X. There's only 4.2.x and 4.0.x, as provided by Apple. I don't think Apple has ported GCC > 4.2 to OS X yet.
I think effort would be better spent making |
comment:14
The fact Apple does not ship gcc 4.3.3 should not mean it can not be built. I'm not sure what SPKG_CHECK is supposed to do, but if its to run testsuites on all packages, that would undoubtedly take a very long time. I think there needs to be a way of doing it on specific packages. Perhaps RUN_MPFR_TESTSUITE could be a variable, but personally I think for the time it takes, it's one worth always running. PS, I never get any emails when trac items I comment on (even if I start them) are updated. So unless I constantly keep checking trac items. I was not aware you had commented on this. Can you see if there is something wrong with how my account is set up, as I thought that was supposed to happen. Even if I 'cc' drkirkby, that does not work either. Dave |
comment:16
Replying to @sagetrac-fwclarke:
This message is fixed (it seems) in Python 2.6.4 -- we use 2.6.2 right now. Updating to 2.6.4 doesn't help with the main problem here, though. Here are a few random comments which don't tell me much, but maybe they'll help someone else. The failure in arith.py is a false positive: it is from the function Re the error in rings/polynomial/pbori.pyx: it's weird. If I put in some print statements, then I find that the problem comes from the line
This calls the function
to
and it successfully prints Re the error in plot/text.py: this one can be reproduced in pure Python as follows:
This seems interesting; does it help to have a failure coming from pure Python? Most of the others seem to call |
comment:17
There's a lot of patches to the python .spkg file. Some look to me like they might be old and perhaps not needed any more. (There's things done because they caused problems in python 2.5). It might be worth updating to 2.6.4 (which is only a bug-fix upgrade), then looking at seeing what python patches are actually necessary, so making a clearer python package. It could be one of the patches which is causing the failures. |
comment:18
See #7022 for perhaps the same matplotlib issue. |
comment:19
Replying to @sagetrac-drkirkby:
I tried building a new Python 2.6.4 spkg (not for general distribution, just for working on this ticket). In doing so, I got rid of all of the patches except for those to two files: pickle.py and cPickle.c. It looks like a lot of the other issues have been fixed, but I'm not sure. In any case, I still get the same doctest failures, and I don't see how the two remaining patches could be causing this. |
comment:20
I'm declaring a total feature freeze on sage-4.3. Also, this is clearly not a blocker for making a release so I changed it to critical. |
comment:48
Oh! I didn't realize you upgraded Python also, I just saw the p*'s. |
comment:49
Good work so far, but it seems that at least the numpy spkg also needs to be updated, e.g. by adding the lines:
from the python spkg-install also to the numpy spg-install. More precisely, on my MacIntel with OS X 10.4, I just tried to build sage-4.3.1.rc0 from scratch, with only the two new spkgs from this ticket thrown in. The build choked on numpy with:
But after setting "export MACOSX_DEPLOYMENT_TARGET=10.4" manually on the command line, then issuing another "make", the build would run OK for numpy and continue (not finished yet, currently at the singular spkg). |
comment:50
Should we just add these lines to sage-env? |
comment:51
Replying to @jhpalmieri:
Yes, this is probably the best solution. Any more votes? |
comment:52
Update: The scipy spkg has the same problem (with the same solution) as the numpy spkg. |
comment:53
Replying to @jhpalmieri:
I'm +1 on this. Has someone rolled a new patch/spkg, or should I do it tonight? |
comment:54
Since I'd made a major update to sage-env which went wrong, as setting CFLAGS had an inadvertant side effect, I'd like to change to do what it does now, but not export CFLAGS, CXXFLATS etc. I can easily tac those on at the same time. And rolls that out as a refinement of #7817. I can do that tonight if you want. Dave |
comment:55
Well, I'd like this to get into the next rc, and it sounds like #7818 may get pushed to the next release for more serious testing. So I'd like to go ahead and get something pushed for this ticket ... |
comment:56
ok, go for it |
comment:57
Attachment: sage-scripts_trac_7095.patch.gz Apparently I just forgot to make these changes last night. Anyway, I've attached a patch for the http://sage.math.washington.edu/home/craigcitro/sage/SPKGs/python-2.6.4.p4.spkg This should do it ... famous last words. :) The only problem would be if |
comment:58
Hi Craig, Could you also post a copy of the modified sage-env? There are two copies in sage, one in SAGE_ROOT/local/bin which is part of sage_scripts, and another one (which should be identical) in SAGE_ROOT/spkg/base -- I think this one gets run at the start of the make process. Does it ever get run later? Anyway, we should make sure that the two copies are the same, and the release manager might need sage-env posted here for that. |
comment:59
No sweat -- I actually didn't know there was a second copy. (Does sdist and/or bdist do something where it copies the one from local/bin into spkg/base when making a tarball? If not, someone should file an enhancement ticket ...) |
Attachment: sage-env.gz Copy of sage-env that results from the attached sage-scripts patch |
comment:60
The sage-env in local/bin does not start there - it gets copied there from spkg/base Dave |
Changed reviewer from David Kirkby to David Kirkby, Georg S. Weber |
This comment has been minimized.
This comment has been minimized.
comment:61
Looks OK to me. |
Merged: sage-4.3.1.rc1 |
comment:62
Replying to @jhpalmieri:
There is actually an hg repo in spkg/base, so you can just submit patches... I've checked in the changes recommended here, so don't worry about it this time. Updated python and matplotlib spkgs, applied trac_7095.patch, trac_7095-ref.patch, and sage-scripts_trac_7095.patch, and then copied the new sage-env file to spkg/base (checking in the changes there). .....If sage-env is copied from spkg/base to local/bin, then why is it under revision control in both places!? This should probably be fixed, and documented better. |
After testing sage-4.1.2.rc0 (and applying a tiny numerical noise fix), we have 12 files that all fail doctests with "myserious error":
The files with failures are:
To fix, use the following new spkgs, plus the two patches to the Sage library (trac-7095.patch and trac_7095-ref.patch), plus the patch to sage_scripts, plus (finally) add the new sage_env also to SAGE_ROOT/spkg/base (available only in a Sage source distribution), mind to chmod the right flags for this sage-env:
http://sage.math.washington.edu/home/craigcitro/sage/SPKGs/python-2.6.4.p4.spkg
http://sage.math.washington.edu/home/craigcitro/sage/SPKGs/matplotlib-0.99.1.p4.spkg
Component: porting
Author: Craig Citro, John Palmieri, Francis Clarke, William Stein
Reviewer: David Kirkby, Georg S. Weber
Merged: sage-4.3.1.rc1
Issue created by migration from https://trac.sagemath.org/ticket/7095
The text was updated successfully, but these errors were encountered: