#14187: Check that lazy imports are not resolved during startup
--------------------------------+-------------------------------------------
       Reporter:  vbraun        |         Owner:  tbd              
           Type:  enhancement   |        Status:  needs_review     
       Priority:  major         |     Milestone:  sage-5.8         
      Component:  performance   |    Resolution:                   
       Keywords:                |   Work issues:                   
Report Upstream:  N/A           |     Reviewers:  Nicolas M. ThiƩry
        Authors:  Volker Braun  |     Merged in:                   
   Dependencies:                |      Stopgaps:                   
--------------------------------+-------------------------------------------

Comment (by nbruin):

 See [http://bugs.python.org/issue793822 this python bug]. The following
 code segfaults:
 {{{
 from gc import get_referrers

 def iter():
         tag = object()
         yield tag   # 'tag' gets stored in the result tuple
         lst = [x for x in get_referrers(tag)
                if isinstance(x, tuple)]
         t = lst[0]  # this *is* the result tuple
         print t[3]  # full of nulls !

 tuple(iter())
 }}}
 Before we use `get_referrers` in production code you'd need to understand
 what goes wrong in the above example and guarantee this won't happen for
 the dictionaries we do replacements on.

 I'd think that looming segfaults are a high price to pay for the
 convenience of writing `NN=module.NN` rather than
 `lazy_import("other_module",NN)`.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14187#comment:28>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to