#10963: More functorial constructions
-------------------------------------+-------------------------------------
Reporter: nthiery | Owner: stumpc5
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-6.1
Component: categories | Resolution:
Keywords: days54 | Merged in:
Authors: Nicolas M. Thiéry | Reviewers: Simon King, Frédéric
Report Upstream: N/A | Chapoton
Branch: | Work issues: Detect and fix
public/ticket/10963 | Heisenbugs
Dependencies: #11224, #8327, | Commit:
#10193, #12895, #14516, #14722, | 5ccf253b17c151d8e773037ac634a64f84f03075
#13589, #14471, #15069, #15094, | Stopgaps:
#11688, #13394, #15150, #15506 |
-------------------------------------+-------------------------------------
Changes (by SimonKing):
* status: needs_review => needs_work
* work_issues: => Detect and fix Heisenbugs
Comment:
Sigh.
It seems, according to Darij and Volker, that the existence of errors
depends on the machine and so on.
With the new branch, I get two errors, namely:
{{{
sage -t src/sage/sets/set.py
**********************************************************************
File "src/sage/sets/set.py", line 1046, in
sage.sets.set.Set_object_union.__cmp__
Failed example:
Y = Set(ZZ^2).union(Set(ZZ^3))
Expected nothing
Got:
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.misc.weak_dict.WeakValueDictEraser
object at 0xb668971c> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b06554> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b06554> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b064ac> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b064ac> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.MonoDictEraser
object at 0x9cdc77c> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b06554> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b06554> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.misc.weak_dict.WeakValueDictEraser
object at 0xa6b814c> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b064ac> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.structure.coerce_dict.TripleDictEraser
object at 0x9b064ac> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.misc.weak_dict.WeakValueDictEraser
object at 0xb668971c> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.misc.weak_dict.WeakValueDictEraser
object at 0xb6689584> ignored
**********************************************************************
1 item had failures:
1 of 6 in sage.sets.set.Set_object_union.__cmp__
[325 tests, 1 failure, 1.01 s]
}}}
and
{{{
sage -t src/sage/combinat/ncsf_qsym/tutorial.py
**********************************************************************
File "src/sage/combinat/ncsf_qsym/tutorial.py", line 30, in
sage.combinat.ncsf_qsym.tutorial
Failed example:
QSym = QuasiSymmetricFunctions(QQ)
Expected nothing
Got:
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.misc.weak_dict.WeakValueDictEraser
object at 0x9adac8c> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.misc.weak_dict.WeakValueDictEraser
object at 0x9adac8c> ignored
Exception RuntimeError: 'maximum recursion depth exceeded while
calling a Python object' in <sage.misc.weak_dict.WeakValueDictEraser
object at 0xb6689584> ignored
**********************************************************************
1 item had failures:
1 of 93 in sage.combinat.ncsf_qsym.tutorial
[92 tests, 1 failure, 4.67 s]
}}}
Needless to say, since we all knew already: It is a Heisenbug. I get the
above with `make ptest`. There is no error if I do
{{{
king@linux-etl7:~/Sage/git/sage> ./sage -t
src/sage/combinat/ncsf_qsym/tutorial.py
Running doctests with ID 2013-12-25-19-38-34-bd3e15f5.
Doctesting 1 file.
sage -t src/sage/combinat/ncsf_qsym/tutorial.py
[92 tests, 4.56 s]
----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 4.6 seconds
cpu time: 4.6 seconds
cumulative wall time: 4.6 seconds
king@linux-etl7:~/Sage/git/sage> ./sage -t src/sage/sets/set.py
Running doctests with ID 2013-12-25-19-38-48-d7f7d326.
Doctesting 1 file.
sage -t src/sage/sets/set.py
[325 tests, 0.92 s]
----------------------------------------------------------------------
All tests passed!
----------------------------------------------------------------------
Total time for all tests: 1.1 seconds
cpu time: 0.8 seconds
cumulative wall time: 0.9 seconds
}}}
Nils, could it be that I forgot to merge another of your fixes to weak
value dictionary respectively triple- or monodict?
--
Ticket URL: <http://trac.sagemath.org/ticket/10963#comment:237>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.