#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.

Reply via email to