Skip to content
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 python to 2.7.x #9958

Closed
sagetrac-mhampton mannequin opened this issue Sep 20, 2010 · 365 comments
Closed

Upgrade python to 2.7.x #9958

sagetrac-mhampton mannequin opened this issue Sep 20, 2010 · 365 comments

Comments

@sagetrac-mhampton
Copy link
Mannequin

sagetrac-mhampton mannequin commented Sep 20, 2010

From the release notes:

Python 2.7.2 was released on June 11th, 2011.

The Python 2.7 series is scheduled to be the last major version in the 2.x series before 2.x moves into an extended maintenance period. The 2.7 series contains many of the features that were first released in Python 3.1. Improvements in this release include:

  • An ordered dictionary type
  • New unittest features including test skipping, new assert methods, and test discovery
  • A much faster io module
  • Automatic numbering of fields in the str.format() method
  • Float repr improvements backported from 3.x
  • Tile support for Tkinter
  • A backport of the memoryview object from 3.x
  • Set literals
  • Set and dictionary comprehensions
  • Dictionary views
  • New syntax for nested with statements
  • The sysconfig module

Fixes #1159

New spkg: http://boxen.math.washington.edu/home/jdemeyer/spkg/python-2.7.2.p1.spkg (diffs for reviewing (without deleted files): attachment: python-2.7.2.p0.diff and attachment: python-2.7.2.p0-p1.diff)

Apply:

Depends on #5852
Depends on #11986
Depends on #12085
Depends on #12096
Depends on #12124
Depends on #11915

CC: @jhpalmieri @nexttime @jasongrout @kcrisman @kini

Component: packages: standard

Author: François Bissey, Steven Trogdon, Jeroen Demeyer

Reviewer: John Palmieri, Karl-Dieter Crisman, Jason Grout, Jeroen Demeyer, Steven Trogdon, Leif Leonhardy, Sébastien Labbé, François Bissey

Merged: sage-5.0.beta0

Issue created by migration from https://trac.sagemath.org/ticket/9958

@sagetrac-mhampton
Copy link
Mannequin Author

sagetrac-mhampton mannequin commented Sep 20, 2010

comment:1

First attempt is at:
http://sage.math.washington.edu/home/palmieri/SPKG/python-2.7.p0.spkg

John (jhpalmieri) reports that this builds but Sage does not on sage.math, and "packages for
twisted, zodb, pygments, and numpy don't build correctly."

Apparently the fix for http://bugs.python.org/issue7491 causes some of these problems.

On the numpy/scipy lists Ralf Gommers says "Numpy 1.5 should work with Python 2.7 and 3.1 and not be too far off. In August hopefully".

So it looks like #9808 should fix the numpy issues.

@kiwifb
Copy link
Member

kiwifb commented Oct 4, 2010

comment:5

Replying to @sagetrac-mhampton:

First attempt is at:
http://sage.math.washington.edu/home/palmieri/SPKG/python-2.7.p0.spkg

John (jhpalmieri) reports that this builds but Sage does not on sage.math, and "packages for
twisted, zodb, pygments, and numpy don't build correctly."

Apparently the fix for http://bugs.python.org/issue7491 causes some of these problems.

This fix has been included in python-2.6.5 onwards. We are using 2.6.5 which includes this fix and everything builds (haven't tried 2.7 yet). The only problem we have is with http://github.com/cschwan/sage-on-gentoo/issues#issue/1 so I think it is unfair to single out this issue as the source of problems.

@novoselt
Copy link
Member

comment:6

Is there still any interest in this upgrade? I wanted to use ordered dictionaries, which require 2.7. Unfortunately, active participation in this ticket is beyond my current capabilities...

@kiwifb
Copy link
Member

kiwifb commented Feb 27, 2011

comment:7

It will happen at least in sage-on-gentoo as we are following the system python.
I have a couple of things in our tree to fix problems with python-2.6.5 and 2.6.6
we are looking into 2.7 now. I should post any patch to have it working here.

We are not talking about using the new capabilities just porting, I imagine my
counterpart in Mandriva does the same.

@kiwifb
Copy link
Member

kiwifb commented Feb 28, 2011

comment:8

I just attached a patch that is needed for python 2.6.5 and later.

@kiwifb
Copy link
Member

kiwifb commented Mar 11, 2011

comment:10

Build sage-4.6.2 (and dependency) against python-2.7.1 on OS X. I get a lot of the following

Expected nothing
Got:
    Failure in _test_pickling:
    Traceback (most recent call last):
      File "/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/misc/sage_unittest.py", line 275, in run
        test_method(tester = tester)
      File "/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/misc/sage_unittest.py", line 498, in _test_pickling
        tester.assertEqual(loads(dumps(self._instance)), self._instance)
      File "/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/unittest/case.py", line 493, in assertEqual
        assertion_func = self._getAssertEqualityFunc(first, second)
      File "/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/unittest/case.py", line 476, in _getAssertEqualityFunc
        asserter = self._type_equality_funcs.get(type(first))
    AttributeError: 'InstanceTester' object has no attribute '_type_equality_funcs'
    ------------------------------------------------------------

I patched python with the cpickle patch. Any ideas?

@kiwifb
Copy link
Member

kiwifb commented Mar 11, 2011

comment:11

A lot of "doctest... DeprecationWarning: ..." lines that were expected are just gone. Which fails the test.

@kiwifb
Copy link
Member

kiwifb commented Mar 11, 2011

comment:12

Lots of numerical and a little bit of formatting noise.

@kiwifb
Copy link
Member

kiwifb commented Mar 27, 2011

comment:13

Ok so now I understand the differences between unittest and unittest2 which is shipped with python-2.7. This will require a massive number of non-backward compatible changes. I am starting to experiment with a few sage components but that promise to be long and boring.

@kiwifb
Copy link
Member

kiwifb commented Apr 8, 2011

comment:15

I have attached a log of sage -testall. This is a sage-on-gentoo install a few tests are expected to fail https://github.com/cschwan/sage-on-gentoo/wiki/Known-test-failures but it should give you an idea of the problems we face.

@kiwifb

This comment has been minimized.

@kiwifb
Copy link
Member

kiwifb commented Apr 14, 2011

comment:17

I attached a log of test failures with 4.7.alpha4 (+ #7377). It is mostly number of decimals and messages. I added PYTHONWARNINGS=default to sage-env so I collected extra messages. The most important one being the deprecations of "sets".

There are 3 tests killed reason currently unknown. And a few that may need special attention.

@kiwifb
Copy link
Member

kiwifb commented Apr 14, 2011

comment:18

A little bit more details, these are curious:

sage -t -long  -force_lib devel/sage-main/sage/rings/padics/padic_capped_relative_element.pyx
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/rings/padics/padic_capped_relative_element.pyx", line 2297:
    sage: hash(R(-1)) 
Expected:
    95367431640624
Got:
    1977800240
sage -t -long  -force_lib devel/sage-main/sage/combinat/words/suffix_trees.py
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/combinat/words/suffix_trees.py", line 1345:
    sage: t.trie_type_dict() == dict([[(0, W("a")), 4], [(0, W("b")), 3], [(3, W("a")), 2], [(4, W("b")), 5], [(5, W("a")), 1]])
Expected:
    True
Got:
    False
**********************************************************************
sage -t -long  -force_lib devel/sage-main/sage/combinat/words/suffix_trees.py
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/combinat/words/suffix_trees.py", line 1345:
    sage: t.trie_type_dict() == dict([[(0, W("a")), 4], [(0, W("b")), 3], [(3, W("a")), 2], [(4, W("b")), 5], [(5, W("a")), 1]])
Expected:
    True
Got:
    False
**********************************************************************

This one doesn't worry me as much but should be looked at

sage -t -long  -force_lib devel/sage-main/sage/combinat/words/nfactor_enumerable_word.py
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/combinat/words/nfactor_enumerable_word.py", line 22:
    sage: it.next()
Expected:
    word: 5645
Got:
    word: 4564
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/combinat/words/nfactor_enumerable_word.py", line 24:
    sage: it.next()
Expected:
    word: 4564
Got:
    word: 5645
**********************************************************************
sage -t -long  -force_lib devel/sage-main/sage/structure/parent.pyx
**********************************************************************
File "/usr/share/sage/devel/sage-main/sage/structure/parent.pyx", line 634:
    sage: CCls()._test_eq()
Expected:
    Traceback (most recent call last):
    ...
    AssertionError: <class '__main__.CCls'> == None
Got nothing

The following were killed:

sage -t -long  -force_lib devel/sage-main/sage/rings/homset.py # Killed/crashed
sage -t -long  -force_lib devel/sage-main/sage/schemes/generic/scheme.py # Killed/crashed

In my original run

sage -t -long -force_lib "devel/sage-main/sage/rings/morphism.pyx"

also got killed but not in a subsequent run after I adopted a small change in sage-doctest to get rid of PYTHONWARNINGS=default in sage-env.

Example of killed test:

sage -t -long -verbose -force_lib "devel/sage-main/sage/rings/homset.py"
...

Trying:
    phi = S.hom([b,a])###line 141:_sage_    >>> phi = S.hom([b,a])
Expecting nothing
ok
Trying:
    phi == loads(dumps(phi))###line 142:_sage_    >>> phi == loads(dumps(phi))
Expecting:
    True
/usr/lib64/libcsage.so(print_backtrace+0x24)[0x7f83de940534]
/usr/lib64/libcsage.so(sigdie+0x1d)[0x7f83de9405cd]
/usr/lib64/libcsage.so(sage_signal_handler+0x131)[0x7f83de940741]
/lib64/libpthread.so.0(+0xfae0)[0x7f83e2385ae0]
/usr/lib64/libsingular.so.3(_Z9id_DeletePP10sip_sidealP9sip_sring+0x53)[0x7f83c5c48383]
/usr/lib64/python2.7/site-packages/sage/libs/singular/groebner_strategy.so(+0x388d)[0x7f83ad27488d]
/usr/lib64/libpython2.7.so.1.0(PyDict_Clear+0xfc)[0x7f83e261597c]
/usr/lib64/libpython2.7.so.1.0(+0x82a09)[0x7f83e2615a09]
/usr/lib64/libpython2.7.so.1.0(+0x112e7e)[0x7f83e26a5e7e]
/usr/lib64/libpython2.7.so.1.0(_PyObject_GC_Malloc+0x11c)[0x7f83e26a684c]
/usr/lib64/libpython2.7.so.1.0(_PyObject_GC_New+0xd)[0x7f83e26a685d]
/usr/lib64/libpython2.7.so.1.0(+0x7fe11)[0x7f83e2612e11]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/python2.7/site-packages/sage/rings/polynomial/polydict.so(+0x168c3)[0x7f83c8f378c3]
/usr/lib64/libpython2.7.so.1.0(+0xa0468)[0x7f83e2633468]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/python2.7/site-packages/sage/rings/polynomial/polydict.so(+0xa451)[0x7f83c8f2b451]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x47)[0x7f83e2670ca7]
/usr/lib64/python2.7/lib-dynload/cPickle.so(+0x5f06)[0x7f83dcb2df06]
/usr/lib64/python2.7/lib-dynload/cPickle.so(+0xaf47)[0x7f83dcb32f47]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/python2.7/site-packages/sage/structure/sage_object.so(+0x152fc)[0x7f83dc7012fc]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x56bc)[0x7f83e267692c]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCode+0x32)[0x7f83e26782f2]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5a78)[0x7f83e2676ce8]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(+0x71282)[0x7f83e2604282]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/libpython2.7.so.1.0(+0x5a24f)[0x7f83e25ed24f]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x491d)[0x7f83e2675b8d]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x522e)[0x7f83e267649e]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(+0x71282)[0x7f83e2604282]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/libpython2.7.so.1.0(+0x5a24f)[0x7f83e25ed24f]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x491d)[0x7f83e2675b8d]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x522e)[0x7f83e267649e]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(+0x7138b)[0x7f83e260438b]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/libpython2.7.so.1.0(+0x5a24f)[0x7f83e25ed24f]
/usr/lib64/libpython2.7.so.1.0(PyObject_Call+0x53)[0x7f83e25de453]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x491d)[0x7f83e2675b8d]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x522e)[0x7f83e267649e]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x522e)[0x7f83e267649e]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x522e)[0x7f83e267649e]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x88d)[0x7f83e26781dd]
/usr/lib64/libpython2.7.so.1.0(PyEval_EvalCode+0x32)[0x7f83e26782f2]
/usr/lib64/libpython2.7.so.1.0(+0xff25c)[0x7f83e269225c]
/usr/lib64/libpython2.7.so.1.0(PyRun_FileExFlags+0x90)[0x7f83e2693090]
/usr/lib64/libpython2.7.so.1.0(PyRun_SimpleFileExFlags+0x1ff)[0x7f83e2693c6f]
/usr/lib64/libpython2.7.so.1.0(Py_Main+0xb53)[0x7f83e26a4fc3]
/lib64/libc.so.6(__libc_start_main+0xfd)[0x7f83e201cb6d]
/usr/bin/python2.7[0x4008a9]

------------------------------------------------------------------------
Unhandled SIGSEGV: A segmentation fault occurred in Sage.
This probably occurred because a *compiled* component of Sage has a bug
in it and is not properly wrapped with sig_on(), sig_off(). You might
want to run Sage under gdb with 'sage -gdb' to debug this.
Sage will now terminate.
------------------------------------------------------------------------
The doctested process was killed by signal 11
         [2.5 s]

@kiwifb
Copy link
Member

kiwifb commented Apr 15, 2011

small patch to sage-doctest in sage_script to reenable sage's deprecation warnings. Idea by my friend Steve Trogdon.

@kiwifb
Copy link
Member

kiwifb commented Apr 15, 2011

Attachment: trac_9958-reenable-sage-deprecationwarnings.patch.gz

Attachment: trac_9958-fix_cmp.patch.gz

this form of comparison is removed in python 2.6.5 and later, refreshed using --git.

@kiwifb
Copy link
Member

kiwifb commented Apr 15, 2011

comment:19

It looks like the crash problems originates somewhere in libsingular

sage: f = Zmod(6).cover()
sage: f.kernel()
Principal ideal (6) of Integer Ring
sage: R.<x,y> = PolynomialRing(QQ, 2)
sage: S.<a,b> = R.quo(x^2 + y^2)
sage: phi = S.cover()
sage: phi == loads(dumps(phi))
True
sage: phi == R.quo(x^2 + y^3).cover()

Program received signal SIGSEGV, Segmentation fault.
id_Delete (h=0x50687d8, r=0x0) at ideals.cc:127
127     ideals.cc: No such file or directory.
        in ideals.cc
(gdb) bt
#0  id_Delete (h=0x50687d8, r=0x0) at ideals.cc:127
#1  0x00007fffb9670b49 in __pyx_pf_4sage_4libs_8singular_17groebner_strategy_16GroebnerStrategy_1__dealloc__ (
    o=<value optimized out>) at sage/libs/singular/groebner_strategy.cpp:2570
#2  __pyx_tp_dealloc_4sage_4libs_8singular_17groebner_strategy_GroebnerStrategy (o=<value optimized out>)
    at sage/libs/singular/groebner_strategy.cpp:3190
#3  0x00007ffff7aa98c7 in PyDict_Clear (op=<value optimized out>) at Objects/dictobject.c:891
#4  0x00007ffff7aa990f in dict_tp_clear (op=<value optimized out>) at Objects/dictobject.c:2088
#5  0x00007ffff7b32f27 in delete_garbage (generation=0) at Modules/gcmodule.c:769
#6  collect (generation=0) at Modules/gcmodule.c:930
#7  0x00007ffff7b33616 in collect_generations (basicsize=<value optimized out>) at Modules/gcmodule.c:996
#8  _PyObject_GC_Malloc (basicsize=<value optimized out>) at Modules/gcmodule.c:1457
#9  0x00007ffff7ac4a96 in PyType_GenericAlloc (type=0x7ffff7d9ad40, nitems=0) at Objects/typeobject.c:744
#10 0x00007ffff7a8d256 in BaseException_new (type=<value optimized out>, args=<value optimized out>, kwds=<value optimized out>)
    at Objects/exceptions.c:34
#11 0x00007ffff7ac57b5 in type_call (type=0x7ffff7d9ad40, args=0x4ae46d0, kwds=0x0) at Objects/typeobject.c:712
#12 0x00007ffff7a77539 in PyObject_Call (func=0x7ffff7d9ad40, arg=0x4ae46d0, kw=0x0) at Objects/abstract.c:2529
#13 0x00007ffff7b00b45 in PyEval_CallObjectWithKeywords (func=0x7ffff7d9ad40, arg=0x4ae46d0, kw=0x0) at Python/ceval.c:3881
#14 0x00007ffff7b10443 in PyErr_NormalizeException (exc=0x7fffffffa778, val=0x7fffffffa770, tb=0x7fffffffa768)
    at Python/errors.c:190
#15 0x00007fffe433021c in __Pyx_GetException (type=0x7fffffffa7c0, value=0x7fffffffa7b8, tb=0x7fffffffa7c8)
    at sage/structure/parent.c:20909
#16 0x00007fffe433e4d1 in __pyx_pf_4sage_9structure_6parent_6Parent_2element_class (__pyx_v_self=0x4aea500, 
    unused=<value optimized out>) at sage/structure/parent.c:4251
#17 0x00007ffff7aac1e2 in PyCFunction_Call (func=0x504ebd8, arg=0x7ffff7f81050, kw=<value optimized out>)
    at Objects/methodobject.c:90
#18 0x00007ffff7a77539 in PyObject_Call (func=0x504ebd8, arg=0x7ffff7f81050, kw=0x0) at Objects/abstract.c:2529
#19 0x00007ffff7b00b45 in PyEval_CallObjectWithKeywords (func=0x504ebd8, arg=0x7ffff7f81050, kw=0x0) at Python/ceval.c:3881
#20 0x00007ffff7a8b51f in methoddescr_call (descr=<value optimized out>, args=0x7ffff7f81050, kwds=0x0)
    at Objects/descrobject.c:246
#21 0x00007ffff7a77539 in PyObject_Call (func=0x138e950, arg=0x7ffff7e9c050, kw=0x0) at Objects/abstract.c:2529
#22 0x00007ffff7b05efe in do_call (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:4230
#23 call_function (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:4035
#24 PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:2665
#25 0x00007ffff7b07b65 in PyEval_EvalCodeEx (co=0x1159e30, globals=<value optimized out>, locals=<value optimized out>, 
    args=<value optimized out>, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3252
#26 0x00007ffff7a99a97 in function_call (func=0x115d5f0, arg=0xfadeb0, kw=0x0) at Objects/funcobject.c:526
#27 0x00007ffff7a77539 in PyObject_Call (func=0x115d5f0, arg=0xfadeb0, kw=0x0) at Objects/abstract.c:2529
#28 0x00007ffff7a77cca in PyObject_CallFunctionObjArgs (callable=0x115d5f0) at Objects/abstract.c:2760
#29 0x00007ffff7ac8a8e in slot_tp_descr_get (self=0x13179d0, obj=0x4aea500, type=0x19e91f0) at Objects/typeobject.c:5621
#30 0x00007ffff7aae433 in _PyObject_GenericGetAttrWithDict (obj=0x4aea500, name=0x13c5a78, dict=0x5068fb0) at Objects/object.c:1432
#31 0x00007ffff7aae4d1 in PyObject_GenericGetAttr (obj=<value optimized out>, name=<value optimized out>) at Objects/object.c:1454
#32 0x00007fffe434ed62 in __pyx_tp_getattro_4sage_9structure_6parent_Parent (o=0x4aea500, n=0x13c5a78)
    at sage/structure/parent.c:18702
#33 0x00007ffff7aad8f4 in PyObject_GetAttr (v=0x4aea500, name=<value optimized out>) at Objects/object.c:1189
#34 0x00007ffff7afdbab in builtin_hasattr (self=<value optimized out>, args=<value optimized out>) at Python/bltinmodule.c:885
#35 0x00007ffff7aac1a0 in PyCFunction_Call (func=0x7ffff7fae3b0, arg=0x503d680, kw=<value optimized out>)
    at Objects/methodobject.c:81
#36 0x00007ffff7b05ba3 in call_function (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:4012
#37 PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:2665
#38 0x00007ffff7b05cfa in fast_function (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:4098
#39 call_function (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:4033
#40 PyEval_EvalFrameEx (f=<value optimized out>, throwflag=<value optimized out>) at Python/ceval.c:2665
#41 0x00007ffff7b07b65 in PyEval_EvalCodeEx (co=0x1159e30, globals=<value optimized out>, locals=<value optimized out>, 
    args=<value optimized out>, argcount=3, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:3252
#42 0x00007ffff7a99a97 in function_call (func=0x115d5f0, arg=0xfadbe0, kw=0x0) at Objects/funcobject.c:526

@kiwifb
Copy link
Member

kiwifb commented Apr 20, 2011

comment:20

Same two doctests killed after upgrade to alpha5.

@kiwifb
Copy link
Member

kiwifb commented Apr 21, 2011

comment:21

Over-eager garbage collection in python-2.7.1! Preceding the sequence by

sage: import gc
sage: gc.disable()

Makes everything go smoothly.

@kiwifb

This comment has been minimized.

@nthiery
Copy link
Contributor

nthiery commented Apr 22, 2011

comment:23

trac_9958-fix_cmp.patch is perfectly reasonable, since this is the idiom used everywhere else in similar situations. I don't have enough background to judge on the warning patch.

@kiwifb
Copy link
Member

kiwifb commented Apr 24, 2011

comment:24

Put an updated list of tests failing with 4.7.alpha5 and the latest patches from Nicolas M. Thiery.
I think the next area do need some work is the problem of garbage collection in polynomial rings that leads to "random" failures in libsingular. See:
http://groups.google.com/group/sage-devel/browse_thread/thread/8c165c887d6b9e54

@kiwifb
Copy link
Member

kiwifb commented Apr 24, 2011

comment:25

Split the deprecation issue in its own ticket in #11244 - this is a different patch.

@kiwifb

This comment has been minimized.

@kiwifb
Copy link
Member

kiwifb commented Apr 27, 2011

comment:26

Replying to @nthiery:

trac_9958-fix_cmp.patch is perfectly reasonable, since this is the idiom used everywhere else in similar situations. I don't have enough background to judge on the warning patch.

I will put the cmp patch in its own ticket would you review it?

@jdemeyer
Copy link

jdemeyer commented Jan 5, 2012

comment:276

attachment: 9958_combinat.patch is the only non-trivial change I guess, but has been discussed well in the comments on this ticket. Potentially, the trie_type_dict() test might yield other results, but we can still change the test in that case. Anyway, that method is nowhere called in the Sage library.

@kiwifb
Copy link
Member

kiwifb commented Jan 5, 2012

comment:277

Replying to @jdemeyer:

attachment: 9958_combinat.patch is the only non-trivial change I guess, but has been discussed well in the comments on this ticket. Potentially, the trie_type_dict() test might yield other results, but we can still change the test in that case. Anyway, that method is nowhere called in the Sage library.

I didn't notice you had listed this particular patch. Why not use attachment: trac_9958-suffix_trees-variations-sl.patch from Sébastien Labbé instead? It is more foolproof.

@kiwifb
Copy link
Member

kiwifb commented Jan 5, 2012

comment:278

I obviously meant to use Sébastien Labbé's patch for suffix_tree, we can still use the other patch for nfactor_enumerable_word.py, Sébastien think that patch is perfect which I count as a positive review of it.

@jdemeyer
Copy link

jdemeyer commented Jan 5, 2012

comment:279

Replying to @kiwifb:

I didn't notice you had listed this particular patch. Why not use attachment: trac_9958-suffix_trees-variations-sl.patch from Sébastien Labbé instead? It is more foolproof.

I overlooked that patch, it was not in the list of patches to be applied. I agree it is better.

@kiwifb
Copy link
Member

kiwifb commented Jan 5, 2012

comment:280

Attachment: 9958_combinat.patch.gz

Replying to @jdemeyer:

Replying to @kiwifb:

I didn't notice you had listed this particular patch. Why not use attachment: trac_9958-suffix_trees-variations-sl.patch from Sébastien Labbé instead? It is more foolproof.

I overlooked that patch, it was not in the list of patches to be applied. I agree it is better.

It was #9958 but never mind we have it now.

@jdemeyer
Copy link

jdemeyer commented Jan 5, 2012

comment:281

Replying to @kiwifb:

It was #9958 but never mind we have it now.

Look more carefully, it wasn't :-)

@kiwifb
Copy link
Member

kiwifb commented Jan 5, 2012

comment:282

You are right I put the wrong patch in the list actually I never updated the list to include the right one, complete oversight. It's good that we are getting this merged now before more confusion arise from the number of patches attached.

@jhpalmieri
Copy link
Member

comment:283

François and others: thank you for all of the work you did on this ticket.

@seblabbe
Copy link
Contributor

seblabbe commented Jan 9, 2012

comment:284

Hi,

I am removing my name from the authors list. For three lines of code I wrote, I don't feel as an author at all for such an important ticket. Being a reviewer of the small combinat part is enough and more appropriate.

Sébastien

@seblabbe
Copy link
Contributor

seblabbe commented Jan 9, 2012

Changed author from François Bissey, Steven Trogdon, Sébastien Labbé, Jeroen Demeyer to François Bissey, Steven Trogdon, Jeroen Demeyer

@jdemeyer
Copy link

Merged: sage-5.0.beta0

@kcrisman
Copy link
Member

comment:286

Just as FYI, though I doubt it matters since the patch still applies, I get

patching file Lib/distutils/command/sdist.py
Hunk #1 succeeded at 327 (offset 3 lines).
Hunk #2 succeeded at 342 (offset 3 lines).

before the other patches and configuration.

@kiwifb
Copy link
Member

kiwifb commented Jan 19, 2012

comment:287

Doesn't matter anymore indeed, we have it merged in 5.0.beta0 finally. I am personally moving to #11705 and #11334 unless something very bad happen.

@jdemeyer
Copy link

comment:288

Replying to @kcrisman:

Just as FYI, though I doubt it matters since the patch still applies, I get

patching file Lib/distutils/command/sdist.py
Hunk #1 succeeded at 327 (offset 3 lines).
Hunk #2 succeeded at 342 (offset 3 lines).

Not a big deal. The patch still applies perfectly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests