#13447: Make libsingular multivariate polynomial rings collectable
-------------------------------------------------------+--------------------
       Reporter:  nbruin                               |         Owner:  rlm    
                       
           Type:  defect                               |        Status:  
needs_info                    
       Priority:  major                                |     Milestone:  
sage-5.4                      
      Component:  memleak                              |    Resolution:         
                       
       Keywords:                                       |   Work issues:  Input 
from libsingular experts
Report Upstream:  Reported upstream. No feedback yet.  |     Reviewers:         
                       
        Authors:                                       |     Merged in:         
                       
   Dependencies:                                       |      Stopgaps:         
                       
-------------------------------------------------------+--------------------

Comment (by SimonKing):

 Two errors mentioned in comment:18 look (again) difficult.

 The first one:
 {{{
 sage -t  -force_lib devel/sage/sage/modular/modsym/ambient.py
 **********************************************************************
 File "/scratch/sking/sage-5.4.beta0/devel/sage-
 main/sage/modular/modsym/ambient.py", line 1351:
     sage: ModularSymbols(20,2).boundary_space().dimension()
 Expected:
     6
 Got:
     0
 }}}
 Hence, the way how one refcounts libsingular rings influences the
 dimension of Hecke modules. Strange at least...

 Note, however, that the value returned by the "dimension()" method above
 is not constant, because it only returns a lower bound (if I recall
 correctly) that is increased when one learns more about the Hecke module.
 Hence, it could very well be that `ModularSymbols(20,2).boundary_space()`
 used to be cached but is now garbage collected, so that information on the
 dimension is lost.

 The second error is apparently ignored and only printed to stderr:
 {{{
 sage -t  -force_lib
 devel/sage/sage/rings/polynomial/multi_polynomial_ring.py
          [2.1 s]
 sage -t  -force_lib devel/sage/sage/rings/polynomial/multi_polynomial.pyx
          [4.3 s]
 sage -t  -force_lib devel/sage/sage/rings/polynomial/groebner_fan.py
          [7.8 s]
 sage -t  -force_lib
 devel/sage/sage/rings/polynomial/multi_polynomial_libsingular.pyx
 Exception AttributeError:
 AttributeError('PolynomialRing_field_with_category' object has no
 attribute '_modulus',) in  ignored
 Exception AttributeError:
 AttributeError('PolynomialRing_field_with_category' object has no
 attribute '_modulus',) in  ignored
 **********************************************************************
 File "/scratch/sking/sage-5.4.beta0/devel/sage-
 main/sage/rings/polynomial/multi_polynomial_libsingular.pyx", line 409:
     sage: len(ring_refcount_dict) == n + 1
 Expected:
     True
 Got:
     False
 **********************************************************************
 1 items had failures:
    1 of  19 in __main__.example_4
 ***Test Failed*** 1 failures.
 For whitespace errors, see the file
 
/Users/SimonKing/.sage/tmp/bsd.math.washington.edu-96119/multi_polynomial_libsingular_8098.py
          [4.2 s]
 sage -t  -force_lib
 devel/sage/sage/rings/polynomial/multi_polynomial_ring_generic.pyx
          [2.3 s]
 sage -t  -force_lib devel/sage/sage/rings/polynomial/polydict.pyx
          [2.0 s]
 }}}
 Since these were parallel tests, I can't tell were the ignored attribute
 errors actually came from.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13447#comment:20>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to